2010年1月の記事一覧

決まった時刻に残高情報をメールするインジケータ


今回は、毎日決まった時刻に残高情報ををメールするといったインディケータです。
また、残高変動がなかったらメールしないという条件も加えます。

サンプルファイルはこちら→Sample_AccountBalanceCheckMail.zip

中身の解説等は、また後日じっくり書きます^^;

この記事を編集するか、改めて記事を書くかは未定ですm(_ _;)m

もし、ファイルの中身を見て疑問に思ったりした場合は、
質問してくださいね^^;

でわ、このへんで^^

タグ

2010年1月29日|コメント (3)

カテゴリー:indicators

複数のシグナル・複数のフィルタを搭載し選択できるEA


今回のテーマは、EAの中で複数のシグナル・複数のフィルタを搭載し、
それを使うかどうかパラメータで選択できるようにする方法です。

サンプルファイルはこちら→Sample_SwitchSignal.zip
(↑'10.01.22 午前 一部修正)

Start()関数の中身は上から、

  • シグナル計算2つ
  • フィルタ計算3つ
  • エントリシグナル計算
  • エグジットシグナル計算
  • ポジション確認
  • エグジット処理
  • エントリ処理

という感じです。

シグナルが2種類、フィルタが3種類あり、
それぞれどれを使うか[Use~]というパラメータで選択できるようにしています。

シグナル計算やフィルタ計算はそれぞれ[~sign]や[~filter]といった
個別の変数に計算結果を代入します。

そして、サンプルファイル132行目~140行目を見てください。

   int sign;
   
   if((!UseMaCrossSignal || MaCrossSign==1) &&
      (!UseMacdCrossSignal || MacdSign==1) &&
      (!UseMaTrendFilter || MaFilter==1) &&
      (!UseAdxFilter || AdxFilter) &&
      (!UseAtrFilter || AtrFilter)) sign=1;
      
   if((!UseMaCrossSignal || MaCrossSign==-1) &&
      (!UseMacdCrossSignal || MacdSign==-1) &&
      (!UseMaTrendFilter || MaFilter==-1) &&
      (!UseAdxFilter || AdxFilter) &&
      (!UseAtrFilter || AtrFilter)) sign=-1;

エントリ用のシグナルを代入する整数変数 sign を宣言。
もし、
UseMaCrossSignal が false または、MaCrossSign が1で
UseMacdCrossSignal が false または、MacdSign が1で
UseMaTrendFilter が false または、MaFilter が1で
UseAdxFilter が false または、AdxFilter が true で
UseAtrFilter が false または、AtrFilter が true の場合、
signに1を代入
もし、
UseMaCrossSignal が false ・・・(省略)
・・・の場合、
signに-1を代入

といった感じにします。

これで、選択されたシグナルやフィルタのみを使ったシグナルが
sign に入ります^^

フィルタのシグナル用の変数でtrue/falseのbool型の場合は、
外でif文で書いてもいいですね^^

その下のエグジット用のシグナルの条件では
サンプルではフィルタ用の条件は含めてませんが、
書き方としては、同じ感じですね^^

そのほかで、ちょっと分かりづらいところがありますが^^;
コメントで質問してくださいね^^;

でわ、このへんで^^

タグ

2010年1月21日|コメント (21)

カテゴリー:EAの作成方法