この記事では、無料で公開されているこちらのダウ理論を意識したインジケータをEA化し検証してみました。
このインジケータは、押し安値と戻り高値を自動判定され、そこに水平線を引き、そこのラインをブレイクしたところに矢印を出し、その後、直近の高値または安値を超えたところでやさらに矢印を出すものになります。
いわゆるエリオット波動で3波を狙えるかもしれないインジケータといえるでしょう。
買いと売りの条件は以下となります。
買い:
戻り高値(水平線)を超えたときに、大きな上矢印で表示し、
その後、直近の高値を超えたところで小さな上矢印を表示したところで買い
売り:
押し安値(水平線)を超えたときに、大きな下矢印で表示し、
その後、直近の安値を超えたところで小さな下矢印を表示したところで売り
バッファーの確認
データウィンドウを表示してマウスで矢印を確認します。
買い大矢印:
買い小矢印:
売り大矢印:
売り小矢印:
上記の情報から矢印のバーファーの位置は
買いの大矢印:バーファー1か3
買いの小矢印:バーファー5
売りの大矢印:バーファー2か4
売りの小矢印:バーファー6
※どちらかはバッファを複製するしたあと、Printで確認します。
MQL5でコーディング
インジケータをIndicatorsフォルダーに入れた後、リソースとして登録します。
#resource "\\Indicators\\keys_ZigZag_DowT.ex5"
このインジケータ用にハンドルとバッファーを宣言します。
int KeysHandle;
double KeysBuffer[];
bool KeyBuyFlag = false,KeySellFlag = false;
iCustomで読み込みこみ、時系列に並べます。
KeysHandle=iCustom(SymbolTraded,PeriodTraded,"::Indicators\\keys_ZigZag_DowT");
ArraySetAsSeries(KeysBuffer,true);
買い条件は以下としました。買いの大矢印が出たあと買いの小矢印が出たら買い
CopyBuffer(KeysHandle,3,0,4,KeysBuffer);//大矢印のバッファを複製
double zz = KeysBuffer[1];
if(!KeyBuyFlag && zz!=0 && zz!=EMPTY_VALUE){
KeyBuyFlag = true;
KeySellFlag = false;
}
CopyBuffer(KeysHandle,5,0,4,KeysBuffer);//小矢印のバッファを複製
zz = KeysBuffer[1];
if(KeyBuyFlag && zz!=0 && zz!=EMPTY_VALUE && ADXBuffer[0] > 20){
//Print("5Buyzz",zz)
KeyBuyFlag = false;
return true;//ここで買い
}
売り条件は以下としました。売りの大矢印が出たあと売りの小矢印が出たら売り
CopyBuffer(KeysHandle,4,0,4,KeysBuffer);//大矢印のバッファを複製
double zz = KeysBuffer[1];
if(!KeySellFlag && zz!=0 && zz!=EMPTY_VALUE){
KeySellFlag = true;
KeyBuyFlag = false;
}
CopyBuffer(KeysHandle,6,0,4,KeysBuffer);//小矢印のバッファを複製
zz = KeysBuffer[1];
if(KeySellFlag && zz!=0 && zz!=EMPTY_VALUE && ADXBuffer[0] > 20){
KeySellFlag = false;
return true;//ここで売り
}
動作確認
過去データを使用して動作を確認します。利確10pips,損切り10pipsのリスクリワード1:1
買い:
売り:
検証結果
利確10pips,損切り10pipsのリスクリワード1:1
5分足と1時間足で検証してみました。
2021.7.1-2023.7.1の2年 | EURUSD 5M | USDJPY 5M | GBPUSD 5M |
初期ロット0.1、資金$3000 | ヘッジ無し | ヘッジ無し | ヘッジ無し |
総利益 | -604 | -93 | -741 |
取引数 | 511 | 505 | 478 |
プロフィットファクター |
0.79 | 0.95 | 0.74 |
残高最大ドローダウン | 22.47% | 10.36% | 25.63% |
証拠金最大ドローダウン | 22.58% | 10.49% | 25.71% |
シュート勝率 | 41.00% | 47.50% | 44.77% |
ロング勝率 | 46.80% | 50.94% | 40.17% |
EURUSD 5M
時間帯での優位性もないようでした。
※表示は日本時間での勝ち負け、青が勝ち、赤が負け
2021.7.1-2023.7.1の2年 | EURUSD 1H | USDJPY 1H | GBPUSD 1H |
初期ロット0.1、資金$3000 | ヘッジ無し | ヘッジ無し | ヘッジ無し |
総利益 | 67 | 48 | -219 |
取引数 | 70 | 42 | 55 |
プロフィットファクター |
1.21 | 1.34 | 0.44 |
残高最大ドローダウン | 2.03% | 2.60% | 8.29% |
証拠金最大ドローダウン | 2.33% | 2.61% | 8.64% |
シュート勝率 | 51.52 | 50.00 | 21.43% |
ロング勝率 | 56.76 | 58.33 | 40.74% |
大矢印の買いと売りでのエントリも検証してみました。
2021.7.1-2023.7.1の2年 | EURUSD 5M | USDJPY 5M | GBPUSD 5M |
初期ロット0.1、資金$3000 | ヘッジ無し | ヘッジ無し | ヘッジ無し |
総利益 | -587 | -718 | -1268 |
取引数 | 843 | 838 | 859 |
プロフィットファクター |
0.87 | 0.81 | 0.75 |
残高最大ドローダウン | 21.57% | 25.73% | 46.43% |
証拠金最大ドローダウン | 21.74% | 25.83% | 46.46% |
シュート勝率 | 45.28% | 43.75% | 41.67% |
ロング勝率 | 47.26% | 46.21% | 44.03% |
エリオット波動での3波を狙えるだろうとのことで結構期待しましたが
実際検証してみたところ、私の検証では思っていたような結果は残念ながら得られませんでした。
もちろんいいところでのエントリーはあるのですが、すべてのサインでの
エントリーで利益を得ることは難しく裁量の部分が必要かなとおもいました。