記事「プライスアクション分析ツールキットの開発(第29回):Boom & Crash Interceptor EA」についてのディスカッション

 

新しい記事「プライスアクション分析ツールキットの開発(第29回):Boom & Crash Interceptor EA」はパブリッシュされました:

Boom & Crash Interceptor EAは、チャートを能動的なアラートシステムへと変貌させます。超高速の価格変動スキャン、ボラティリティ急増の検出、トレンド確認、そしてピボットゾーンフィルタを組み合わせることで、爆発的な値動きをいち早く捉えます。鮮明な緑色の「Boom」矢印と赤色の「Crash」矢印が売買判断をサポートし、市場の急騰・急落スパイクをこれまで以上に効果的に捉え、活用できるようになります。本記事では、その仕組みと、このツールがトレードにおける次の重要な優位性となり得る理由を詳しく解説します。

Boom & Crash Interceptor EAは、このような厳格な考え方を市場データ分析に応用しています。  ローリング方式の価格変動速度ウィンドウにより、現在の価格変動が最近の値動きを大きく上回っているかを判定し、ATRに基づくボラティリティ急増フィルタによって市場変動が実際に拡大していることを確認します。さらに、移動平均線によるトレンドフィルタが方向性を検証します。  加えて、オプションのピボットゾーンフィルタやセッション時間フィルタによって、流動性の低い時間帯に発生する不要なシグナルを抑制します。 

これらすべての条件が満たされたときのみ、EAはチャート上に「BOOM」または「CRASH」の矢印を表示し、ユーザーが指定した色や表示位置を適用するとともに、CSVファイルへイベントを記録します。これにより、トレーダーは確率の高いトレードチャンスだけに集中することができます。  本記事では、それぞれの検出レイヤーの調整方法と、このMQL5ツールを堅牢なシグナル生成コンポーネントとしてトレードシステムへ組み込む方法を紹介します。


作者: Christian Benjamin

 
MQL5 Worldについて、詳細な情報やアイデアを共有していただき、改めて感謝します。あなたと大切な方々の今後のご健勝をお祈りしています。
 
Mustafa Nail Sertoglu #:
MQL5ワールドについて、詳細な情報やアイデアを共有していただき、改めて感謝します。あなたと大切な方々が、これからも健やかでいられますように。
どういたしまして!
あなたから連絡をいただけて、本当に感謝しています。
 
こんな経験をした今なら、アフリカ出身の君の言うことは正しいと言えるよね?
 

こんにちは、

これをダウンロードできますか?リンクが見つからないのですが。

よろしくお願いします

ハリー

 

速度検出器にアルゴリズム上の問題があります。

ArraySort(d);

買い方向では正常に動作していますが、

しかし、マイナス方向の動きについてはソートが正しく行われていないようです。
これを個別に処理するか、インデックスの計算式を変更する必要があります(売り方向のマイナス値のソートについて!!!)

 

if(delta>0) { for(int i = 1; i < VelocityHistoryBars; i++)     d[i - 1] = velHistory[0] - velHistory[i]; ArraySort(d); } if(delta<0) { for(int i = 1; i < VelocityHistoryBars; i++)     d[i - 1] = velHistory[i] - velHistory[0]; ArraySort(d); }

int idx= (int)MathRound((VelocityPctile / 100.0) * (ArraySize(d) - 1)); double velTh = d[ArraySize(d) - 1 - idx]; bool okVel = MathAbs(delta) > velTh;

 

ピボットラインの引き方にはいくつかのバリエーションがあります。
これがより良い方法かどうかは分かりません。
(ピボット価格を上回った場合、上昇を待ちます……)

bool okZone = false;
if((delta > 0 ) && (priceNow > pivot)) okZone = true;
if((delta < 0 ) && (priceNow < pivot)) okZone = true;
bool okZone = false;

if((delta > 0 ) && (priceNow > pivot) && (priceNow < ( pivot + ZONE_Points * _Point)))  okZone = true;
if((delta < 0 ) && (priceNow < pivot) && (priceNow > ( pivot - ZONE_Points * _Point)))  okZone = true;

 

速度検出器における「正しい方向」のバーの評価:
緑色/赤色のバーをパーセンテージでフィルタリングできます。
(負の方向は正の値に反転されています)
0.8 = 80%のバーが正しい方向でした。

   double goodBars = 1;

   for(int i=ArraySize(d) - 1; i>=0; i--)
         if(d[i] < 0) goodBars=1 - (i+1.0)/ArraySize(d);