記事「MQL5でのカスタム市場レジーム検出システムの構築(第1回):インジケーター」についてのディスカッション

 

新しい記事「MQL5でのカスタム市場レジーム検出システムの構築(第1回):インジケーター」はパブリッシュされました:

この記事では、自己相関やボラティリティなどの統計手法を用いたMQL5市場レジーム検出システム(Market Regime Detection System)の作成方法を詳述しています。トレンド相場、レンジ相場、ボラティリティの高い相場を分類するためのクラスや、カスタムインジケーターのコードも提供しています。

実装の詳細に入る前に、市場レジームとは何か、そしてそれがトレーダーにとってなぜ重要なのかを理解することが重要です。市場は常に一様に動くわけではなく、異なる行動パターンや「レジーム」の間を移行していきます。これらのレジームは価格の動きに大きな影響を与え、それに伴って取引戦略の成績も大きく変わります。

市場レジームとは

市場レジームとは、価格変動の特定の統計的性質によって特徴付けられる、市場行動の明確に異なるパターンのことです。市場レジームの分類には様々な方法がありますが、ここでは取引戦略の開発に最も関連性が高い3つの主要なタイプに注目します。
  1. トレンドレジーム:市場が強い方向性を持って動き、平均回帰がほとんど見られません。価格は一方向に継続的に動き、押し戻しも浅い傾向があります。統計的には、トレンド相場はリターンの自己相関が正であり、一方向の動きが次の動きも同じ方向になる可能性が高いことを示します。
  2. レンジレジーム:市場はサポートとレジスタンスの間で振動し、強い平均回帰傾向を持ちます。価格はどちらかの方向にブレイクアウトするのではなく、定義された範囲内で跳ね返る傾向があります。統計的には、レンジ相場はリターンの自己相関が負であり、上昇の後には下降が来やすく、逆もまた然りです。
  3. 高ボラティリティレジーム:市場は大きく、不規則な価格変動を経験し、方向性が明確でない状態です。これは不確実性、ニュースイベント、市場のストレス期に多く見られます。統計的には、高ボラティリティ相場はリターンの標準偏差が高く、自己相関パターンは予測不可能です。

現在の市場がどのレジームにあるかを理解することは、取引の意思決定において非常に重要な文脈を提供します。トレンド相場に最適化された戦略はレンジ相場での成績が悪くなる可能性が高く、逆にレンジ相場向けの平均回帰戦略は強いトレンドが発生すると大きな損失を招くことがあります。


作者: Sahil Bagdi

 
コードがコンパイルされない... IsStrongSignal(value)が見つからない...
 
Robert Angers #:
あなたのコードはコンパイルされません... IsStrongSignal(value)がありません...

どのファイルを参照していますか?

 

MarketRegimeIndicator をコンパイルしようとすると、24個のエラーと1個の警告が出ます:

'MarketRegimeIndicator.mq5' 1

file 'C: \Usersrauma\AppData\RoamingMetaQuotesTerminal10CE948A1DFC9A8C27E56E827008EBD4 ❃MQL5Include ❃MarketRegimeEnum.mqh' not found MarketRegimeIndicator.mq5 14 11

file 'C:³³Users³³AppData³³Roaming³³MetaQuotes³³Terminal³³ 10CE948A1DFC9A8C27E56E827008EBD4³³MQL5³³Include³³MarketRegimeDetector.mqh' not found MarketRegimeIndicator.mq5 15 11

'CMarketRegimeDetector' - 予期しないトークン、おそらく型が見つからない? MarketRegimeIndicator.mq5 29 1

'*' - セミコロンが予期されたもの MarketRegimeIndicator.mq5 29 23

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 64 5

'CMarketRegimeDetector' - 型のない宣言 MarketRegimeIndicator.mq5 64 20

'CMarkRegimeDetector' - 期待されるクラス型 MarketRegimeIndicator.mq5 64 20

関数が定義されていません MarketRegimeIndicator.mq5 64 20

'new' - 'void' 型の式が不正 MarketRegimeIndicator.mq5 64 16

'=' - 不正な操作の使用 MarketRegimeIndicator.mq5 64 14

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 65 8

'==' - 不正な操作の使用 MarketRegimeIndicator.mq5 65 17

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 72 5

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 73 5

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 74 5

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 101 9

';' - 予期しないトークン MarketRegimeIndicator.mq5 103 68

'(' - アンバランスな左括弧 MarketRegimeIndicator.mq5 101 7

空の管理対象 文が見つかりました MarketRegimeIndicator.mq5 103 68

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 133 8

'!=' - 不正な操作の使用 MarketRegimeIndicator.mq5 133 17

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 135 16

'Detector' - 期待されるオブジェクトポインタ MarketRegimeIndicator.mq5 135 16

'Detector' - 宣言されていない識別子 MarketRegimeIndicator.mq5 136 9

'=' - 不正な操作の使用 MarketRegimeIndicator.mq5 136 18

24 エラー、1 警告 25 2


 
Rau Heru #:

Market regime indicatorをコンパイルしようとすると、24のエラーと1つの警告が表示される:

'MarketRegimeIndicator.mq5' 1

file 'C: \Usersersrauma\AppData\Roaming\MetaQuotesTerminal\10CE948A1DFC9A8C27E56E827008EBD4 ❃MQL5 ❃Include ❃MarketRegimeEnum.mqh' not found MarketRegimeIndicator.mq5 14 11

file 'C:¥Users¥PetaQuotes¥AppData¥Roaming¥MetaQuotes¥Terminal¥10CE948A1DFC9A8C27E56E827008EBD4¥MQL5Include¥MarketRegimeDetector.mqh' not found MarketRegimeIndicator.mq5 15 11

The indicator searches for these files in the folderC:¥Users¥MetaQuotes¥AppData¥Roaming¥MetaQuotes¥Terminal¥10CE948A1DFC9A8C27E56E827008EBD4¥MQL5¥Include

#property copyright "Sahil Bagdi"
#property link      "https://www.mql5.com/ja/users/sahilbagdi"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3

// 市場レジーム検知器を含める
#include <MarketRegimeEnum.mqh>
#include <MarketRegimeDetector.mqh>
 
Sahil Bagdi #:

どのファイルを参照していますか?

MarketRegimeDetector.mqh

の472行目

のことかと思います

'IsStrongSignal' - undeclared identifier MarketRegimeDetector.mqh 472 16

'strategySignal' - some operator expected MarketRegimeDetector.mqh 472 31