私たちのファンページに参加してください
- ビュー:
- 21
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
1. 概要
アルファ・ベータ・トレンド・フィルター は、制御理論とデジタル信号処理に基づいて導出された予測平滑化指標です。概念的には、簡略化された定常状態のカルマンフィルターとして機能します。 標準的な移動平均(SMA、EMA、LWMA)は、過去のデータの平均化に厳密に依存しているため、本質的にリアルタイムの価格変動に遅れをとりますが、アルファ・ベータ・フィルターは、市場のノイズを除去しつつ、現在の「真の」価格とトレンドの速度を能動的に推定します。
この特定のMQL5実装では、マルチシンボル・マルチタイムフレーム対応のマトリックスダッシュボードを 組み込むことで、従来の単一ライン指標をアップグレードしています。これにより、トレーダーは単一のチャートからポートフォリオ全体のアルファ・ベータ・トレンドバイアスを直接監視でき、ティックごとに動的に更新されます。
2. 数学エンジン
このフィルターは、新しい価格バーごとに反復的に動作します。その動作は、主に以下の2つの調整係数に基づいています:
-
$\alpha$(アルファ): 価格感度係数。フィルタ内部の予測値に対して、観測された生の新規価格データに与える重みを制御します。
-
$\beta$(ベータ): 速度感度係数。トレンドの勢いの変化に対する反応度を制御します。
このアルゴリズムは、1本のバーにつき2つの異なるフェーズで実行されます:
フェーズ1:予測ステップ
現在のバーが引ける前に、フィルタは前のバーで算出された状態に基づいて、現在の価格($\hat{P}_{t}$)と速度($\hat{V}_{t}$)を予測します:
フェーズ2:更新ステップ
実際の終値 ($Z_{t}$) が確定すると、フィルタは予測値と実際の値との間の誤差/残差 ($E_{t}$) を計算し、内部状態を更新する:
ここで:
-
$Z_{t}$: 現在のバーの実際の終値。
-
$P_{t}$: 更新された平滑化価格推定値(チャート上にプロットされる)。
-
$V_{t}$: 更新されたベロシティ(強気/弱気のトレンドバイアスを判定するために使用される)。
3. 本実装の主な特徴
-
ゼロラグ予測平滑化: メインの指標ラインは、従来のEMAよりも価格の動きに密着しており、高速クロスオーバー戦略の優れた基盤層となります。
-
動的な色分けプロット: メインのチャートラインは DRAW_COLOR_LINE を利用し、$V_{t}$ の内部状態に基づいて、 青(強気の速度)と赤(弱気の速度)を自動的に切り替えます。
-
非侵襲型マトリックス・ダッシュボード: チャート上のグラフィカルUIにより、ユーザー定義の外部シンボルリストにおいて、最大5つの時間枠のトレンド状態(強気、弱気、待機)を追跡します。
-
軽量なリソース管理: ダッシュボード内の外部銘柄および時間枠については、履歴データ全体を読み込みません。スクリプトは、CopyClose() を通じて、リアルタイムの状態を計算するために必要な最小限のバーのみを取得し、ターミナルの遅延を防ぎます。
4. 入力パラメータの説明
フィルターエンジンの設定
-
inpAlpha(デフォルト:$0.2$): 通常、 $0.1$ から$0.9$ の 範囲です。 $\alpha$ の値が大きいほど、生の価格に密接に追従します(スキャルピングに最適)。$\alpha$ の値が小さいほど、ラインが大幅に平滑化され、横ばいの乱高下が無視されます(スイングトレードに適しています)。
-
inpBeta(デフォルト:$0.05$): 通常、 $0.01$ から$0.5$ の範囲です。 $\beta$ の値が大きいほど、急激なモメンタムの変化に鋭敏に反応します。$\beta$ の値が非常に小さい場合は、安定的で揺るぎないトレンドを想定しています。
ダッシュボードのグリッド設定
-
inpSymbols(デフォルト:"EURUSD,GBPUSD,USDJPY,AUDUSD"): 追跡したい銘柄をカンマ区切りで指定した文字列です。コードは StringSplit() を使用してこれを自動的に解析します。
-
時間枠の切り替え(showM5~showD1): マトリックスダッシュボードに表示する列をカスタマイズできるブール値の入力項目です。
5. アーキテクチャとコードのハイライト
ソースコードを確認するMQL5開発者の皆様は、以下の構造上の選択点にご留意ください:
-
時系列インデックス付け: MQL5は、配列を古い順から新しい順にネイティブにインデックス付けします。標準的な取引ロジック([0]が現在のライブバーとなる)に合わせるため、このコードでは、すべてのインジケーターバッファおよび取得された配列に対して、ArraySetAsSeries(buffer, true)を積極的に利用しています。
-
状態抽出ヘルパー: GetStateForTarget() 関数は、ダッシュボードで使用される独立したループです。この関数は、対象の銘柄/時間枠の終値50バーを取得し、予測エンジンを初期化し、外部の iCustom 呼び出しを必要とせずに整数状態(強気は 0、弱気は 1)を返します。
-
クリーンなオブジェクトの初期化解除: OnDeinit() 関数は、UI プレフィックス (AB_Matrix_) をループ処理し、インジケーターが削除された瞬間に、チャートからすべてのグラフィックラベルが確実に消去されるようにします。
6. トレーディングアプリケーション
-
スキャルピング設定: $\alpha$を 0.45、$\beta$を 0.12に設定してみてください。色分けされたラインが素早く反転するため、M1やM5チャート上の微細なトレンドを捉えることができます。
-
マクロ・スイング設定: 値を$\alpha$= 0.15、$\beta$= 0.02 に下げてください。日中のノイズ中はインジケーターの波形が平坦になり、真のマクロ的な速度変化が発生するまでポジションを維持できます。
-
マトリックス・コンフルエンス: ダッシュボードを使用し、特定の銘柄についてH1、H4、D1の各セルが完全に同じ色で一致している場合にのみ、現在のチャートでトレードを行います。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/74958
SuperTrend_Amarnath_Kondiyan_Mohan
バスケット方式によるTP・SL管理を用いたスーパートレンド
CKS Position Risk Dashboard
リスクに基づくロットサイズの決定、口座の健全性、ブローカーの取引量制限、および現在の銘柄別エクスポージャーを確認できる、読み取り専用のMT5ダッシュボード。
Trend Flasher -AKM
多通貨・多銘柄対応のスーパートレンド・ダッシュボード
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。
