エリオット波動論に基づいたEA "Angel Heart USDJPY" の進化版です。
取引通貨:USD/JPY
取引時間足: 15分足
取引スタイル:スキャルピング&デイトレード トレンドフォロータイプ
最大ポジション数:3(変更可)
搭載機能:トレーリングストップ、週末決済機能、複利機能
【特徴】
エリオット波動の第3波を狙ったEAで、某サイトで1年以上の実績のあるAngel Heart USDJPYのエントリー精度を向上し、取引回数もアグレッシブ(13年間で9000回弱!)に改良したものです。
バックテストの結果を比較していただければわかるかと思いますが、大幅に性能がアップしております。
エントリーはスキャルピングタイプのエントリーとデイトレードタイプのエントリーの2種類あります。
本EAには内部的に撤退モードというものが搭載しており、スキャルピングタイプのエントリーは2時間、デイトレードタイプのエントリーは12時間で決着が付かない場合は決済ロジックを増やしポジションを撤退する方向へ持っていきます。
(思惑通り相場が動かなかったので一旦仕切りなおすといった感じです。少し戻ったところで撤退させます。)
ダイバージェンスフィルターを搭載し、トレンドの転換点でドカンと負けないように工夫しています。(パラメータのWave_Levelを大きくするとダイバージェンスフィルターも強くかかる傾向になります。)
未来の相場の変化に対応させるため、利確値に余裕を持たせております。
SL(ストップロス)に頼る設計をしておらず、しっかりと適切な位置で損切りを行うEAです。
カスタム性にも富んでおり、下記のセッティングが利用者で行えます。
(カッコ内はパラメータ名)
・3種類あるエントリーロジックのON/OFF(Logic_A、Logic_B、Logic_C)
・最大ポジション数(MaxPositiionCount)
・内部決済ロジックの追加(LogicExit)
・エントリーの判定レベルの変更(Entry_Level)
・内部決済ロジックの判定レベルの変更(Exit_Level)
・第1波の判定閾値の変更(Wave_Level)
・撤退時間の変更(TettaiTime_A、TettaiTime_B)
スプレッド耐性があり、海外口座にも対応しております。
公表していますバックテストはスプレッド10で計測しておりますが、スプレッド20でも右肩上がりの成績となります。
取引回数は2006年~2018年で9000回弱。
非常に高頻度取引となり利用者を退屈させません。
プロフィットファクターは低いですが、これは取引回数が多いためです。
プロフィットファクターを上げたい方はWave_Levelを大きくすると数値は上がってまいります。
ただしエントリーが厳選され取引頻度は少なくなってきます。
お好みのWave_Levelをお使いください。
【パラメータの説明】
以下にパラメータの説明を行います。
基本的に初期値がおすすめ設定となっております。
Wave_Levelに関しては3が安定していると思いますが、高頻度に取引をしてほしい場合はデフォルトの0が良いと思います。
私自身は0で運用しております。
▶MAGIC1~6
マジックナンバーです。
▶Lots (初期値:0.1)
エントリーのロット数です。
”MaxLots”のパラメータの値より大きい値だと”MaxLots”の値となりますのでご注意願います。
▶StopLoss (初期値:100)
ストップロス値です。
▶TakeProfit (初期値:0)
テイクプロフィット値です。
ポジション数に関わらず個々のポジションに適応されます。
TakeProfit2やTakeProfit3の設定値を大きくする場合はここの値は大きめに設定しておいたほうが良いです。
0は設定なしです。
▶TakeProfit1P (初期値:20)
ここに設定されたpips利益が出た場合に決済を行います。デフォルトは20です。
(ポジションを1つ保有している場合。撤退モードポジションは含まない。)
▶TakeProfit2 (初期値:35)
ここに設定されたpips利益が出た場合に決済を行います。デフォルトは35です。
(ポジションを2つ保有している場合。撤退モードポジションは含まない。)
▶TakeProfit3 (初期値:50)
ここに設定されたpips利益が出た場合に決済を行います。デフォルトは50です。
(ポジションを3つ保有している場合。撤退モードポジションは含まない。)
▶Slippage (初期値:50)
設定したpips以上の発注のズレが発生した場合は発注を見送ります。
レイテンシ(遅延時間)が大きい環境ではスリッページが大きくなりますので、ここの値を小さくしすぎると環境によって発注や決済が行われなくなります。(週末決済機能等にも影響を与えます。)
値を小さくする場合はそのことを理解したうえで設定してください。
▶Max_Spread (初期値:50)
スプレッドフィルターです。
設定したpips以上のスプレッドが開いた場合は発注を見送ります。
ここの値を小さくしすぎるとブローカーによって発注が行われなくなります。
値を小さくする場合はそのことを理解したうえで設定してください。
▶MM (初期値:false)
trueで複利モードとなります。
▶Risk (初期値:6)
”Risk”のパラメータで複利のロット調整が可能です。
計算式は以下のようになります。
Lots = 口座残高× (Risk ÷ 100) ÷ BaseLots ÷ (sl ÷ 100)
BaseLotsはご使用のブローカーの最小通貨単位となります。
1000通貨単位であれば100,000が入ります。
”Risk”の単位は%となっており、これは口座残高に対する1ポジションあたりの最大損失の大きさとなります。
例えば口座残高が50万円の場合で、Risk値を5%とした場合は1ポジションあたりの最大損失は25,000円となります。
ここで最小通貨単位が1000で”StopLoss1″が100pipsに設定されている場合は、ロットの大きさが0.25となります。
▶MaxLots (初期値:1.0)
複利機能をご使用の際に活用して下さい。
ここで設定したロットより大きな設定値にはなりません。
(複利を利用しない際も反映されますのでご注意ください。)
▶ExitTime (初期値:22:50)
週末決済を行う時間です。
時間はブローカーの時間となります。
※時間はMT4に表示されている時間となります。
各ブローカーによって取引可能時間に違いがあるようですので、取引可能時間内に設定していただくようお願いします。
【isWeekendFilter】(初期値:true)
【WeekendStopDate】(初期値:5)
【WeekendStopValue】(初期値:22:30)
週末取引禁止機能の設定が出来ます。
trueでWeekendStopDate、WeekendStopValueで設定した時間以降取引を行いません。
曜日の指定はWeekendStopDateのパラメータで番号を入力し設定してください。
1 月曜日
2 火曜日
3 水曜日
4 木曜日
5 金曜日
6 土曜日
週末持ち越しポジションを発生させたくない場合は、
ここの時間を"ExitTime"より前の時間にして下さい。
※時間はMT4に表示されている時間となります。
週末持ち超しなし、雇用統計の15分前に週末決済してしまいたい場合は以下に設定していただければ良いです。
GMT+3(冬時間+2)の場合
ExitTime → 15:15 (冬 16:15)
WeekendStopDate → 5
WeekendStopValue → 15:00 (冬 16:00)
▶MaxPositiionCount (初期値:3)
最大ポジション数を設定できます。
1か2をお入れください。
3以上の数を入力しても2ポジション以上取得することはありません。
▶Entry_Level (初期値:5)
エントリーの取得レベルを調整できます。
数が少ないほうが「エントリーしやすい」方向となり、
逆に数が多いほうは「エントリーしにくい」方向になります。
公式フォワードとの乖離を調整する場合や、
エントリー頻度を調整したい場合にお使いください。
0以上の数を入力し、マイナスの数字は入れないようにしてください。
▶Exit_Level (初期値:5)
内部ロジックによる決済レベルを調整できます。
数が少ないほうが「決済しやすい」方向となり、
逆に数が多いほうは「決済しにくい」方向になります。
公式フォワードとの乖離を調整する場合や、
内部ロジックによる決済をさせたくない場合、
トレーリングストップ機能を活用したい場合に使ってください。
▶Wave_Level (初期値:0)
第1波の判定基準を調整できます。
数が少ないほうが「波が小さい」方向となり、
逆に数が多いほうは「波が大きい」方向になります。
0以上の数を入力し、マイナスの数字は入れないようにしてください。
初期値は高頻度取引設定となっております。
個人的にお勧めは「3」です。
▶Entry_Time (初期値:10)
時間を長くするとエントリー可能な時間帯が増えます。
基本的に変更はしなくても大丈夫ですが、もしWave_Levelを大きくする場合は、ここの設定値も大きくすると成績が良くなるかも!?
おまけのパラメータと思ってください。
▶TettaiTime_A (初期値:12)
デイトレードタイプエントリーの撤退モードに突入する時間を自由に設定できます。単位は(時間)です。
12を入力すると12時間となります。
▶TettaiTime_B (初期値:2)
デイトレードタイプエントリーの撤退モードに突入する時間を自由に設定できます。単位は(時間)です。
▶TrailingStopMode (初期値:false)
トレーリングストップの有効無効を設定するパラメータです。
デフォルトは無効(false)となっております。
trueを選択されますとトレーリングストップ機能が有効となります。
▶TrailingStopPoint (初期値:10)
トレーリングストップの固定幅を設定するパラメータです。
1ポジションに対しての幅になります。
故にポジションが3つの場合は10pips×3ポジションの合計30pips利益が目減りした際に決済となります。
▶TrailingStartPoint_1P (初期値:10)
ポジションが1ポジションの場合、設定した値の利益(pips)が発生した際にトレーリングストップ機能が発動します。
▶TrailingStartPoint_2P (初期値:25)
ポジションが2ポジションの場合、設定した値の利益(pips)が発生した際にトレーリングストップ機能が発動します。
▶TrailingStartPoint_3P (初期値:40)
ポジションが3ポジションの場合、設定した値の利益(pips)が発生した際にトレーリングストップ機能が発動します。
▶Logic_A (初期値:true) ロジックAの有効無効設定
▶Logic_B (初期値:true) ロジックBの有効無効設定
▶Logic_C (初期値:true) ロジックCの有効無効設定
ちなみにロジックCがエントリーしますとデイトレードモードのトリガーとなります。
スキャルモードのみで稼働したい場合はロジックCを無効にしてください。
▶Logic_Exit (初期値:false)
trueにすると決済ロジックが1個追加となります。
この決済ロジックによって満額TP決済を逃すこともありますが、良い逃げをすることもあります。
負けるのが嫌いな方はtrueをお勧めします。
おまけのパラメータと思ってください。