FX手法・EAロジック|
FX手法・EAロジック|EA作成機で複雑なエントリ条件を設定する方法
EA作成機で
複雑なエントリ条件を
設定する方法
EA作成機のデフォルトはフィルターが全条件を満たし、シグナルのどれかを満たすことでエントリします。
これを、完成したプログラムを自ら修正することにより、簡単により複雑な条件を設定する方法を解説しています。
エントリ判定はどこを変更するか
複雑なエントリ条件を設定するためには、EA作成機でコンパイルしたプログラムのほぼ最後にある下記の箇所を修正します。
エントリ判定とコメントがある行のすぐ下です。
このうち、上の赤い線で囲っている部分が買いの判定文で、下のほうが売りの判定文になっています。
今の判定文の構造ですが、中央部の&&を中心に2つに分かれています。
&&より左側
ここの要件をすべて満たす必要があり、ロット数の制限、エントリ時間制限、フィルターの記載がありますのでここを修正します。
&&より左側
シグナルが記載されいます。&&より左側の要件をすべて満たしつつ、シグナルのどちらかの要件を満たすことでエントリが行われます。シグナル発生サインを修正するとエントリしなくなる可能性がありますので、あまり修正すないことをお勧めします。
クローズ判定はどこを変更するか
クローズ判定は、エントリ判定の上に位置しています。
クローズ判定は、フィルターの場合は条件を満たさなくなった場合、シグナルは反対条件になった場合にクローズとなります。
また、クローズ判定対象のどれか1つの条件を満たせばクローズ処理となります。
どのように変更方法するのか?
- 条件式と半角括弧 -
( 条件A && 条件BはAとBを同時に満たす必要がある場合に使用します。
( 条件A || 条件BはAかBの条件を満たせばいい場合に使用します。
簡単ですので必ず覚えてください。
また、条件式を AとB 又は CとD のように( グループ化したい場合にははグループ毎に半角括弧で閉じてください。
ちなみに条件式を AとB 又は CとDは ( (A && B) || (C&&D))というように表します。
- オープン判定の変更 -
既存のオープン判定式
( (ポジション && 時間 && 条件1 && 条件2 && ・・ ) && (シグナル条件) )
まず、下記の場所に半角括弧を加えます。
( ( ポジション && 時間 && ( 条件1 && 条件2 && ・・ ) ) && (シグナル条件) )
次に加えた括弧内で条件を設定します。
例えば、フィルターの条件を条件1と条件2を同時に満たすか、条件3と条件4を同時に満たすかしたい場合に設定する場合は下記のようになります。
・・ && 時間 && ( ( 条件1 && 条件2 ) || ( 条件3 && 条件4 ) ) ) && ( シグナル条件 ) )
- クローズ判定の変更 -
クローズ判定についても上記同様に、条件を設定したいものをグループ化し、グループを || で結ぶことで条件を設定してください。
買いポジションのクローズ判定式には下記の2種類がありますので、ご注意ください。
・条件!=1 買いの条件を満たさなくなった場合に適用(フィルター)
・条件==-1 反対条件(=売り条件)に該当した場合に適用(シグナル)
- 注意事項 -
・エントリシグナル、クローズシグナルともに、片方だけ変更するのではなく、ロング、ショートともに条件を変更するのを忘れないようにしてください。
・条件を変更した結果、全くエントリ、クローズしなくなったということや、想定外の場所でエントリ、クローズを行うようになることがあり得ますので、バックテストのビジュアルモードを使用して想定通りとなっているか十分に確認するようにしてください。