無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
インディケータ

Machine Learning Supertrend - MetaTrader 5のためのインディケータ

Hammad Dilber
Hammad Dilber
Professional MQL5 developer specializing in automated trading solutions. I create custom Expert Advisors, trading bots, and technical indicators for MetaTrader 5 platforms.
Services:
• Custom Expert Advisors (EA) from scratch
• Trading bot development with risk management
| Japanese English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
ビュー:
414
評価:
(13)
パブリッシュ済み:
アップデート済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

これは、従来のトレンドフォローの概念に、本格的な機械学習エンジンを組み込んだ次世代のSuperTrendインジケーターです。 固定のATR倍率や静的なルールを使用するのではなく、このインジケーターは自身のシグナル履歴から継続的に学習し、バーごとにコアパラメータを適応させ、チャート上に矢印を描画する前に多段階の確認プロセスを経てエントリーをフィルタリングします。 MetaTrader 5のインジケーターフレームワーク内で完全に動作し、外部ライブラリを必要とせず、自動取引のために任意のエキスパートアドバイザーが直接読み取れる隠しコンフィデンス バッファを提供します。

このインジケーターは、その動作のあらゆる側面を網羅する13の入力グループ で構成されています:シグナルモード、ボラティリティエンベロープ、モメンタムフィルター、フロー分析、シグナル品質、マスターリアクティビティダイヤル、オートチューンエンジン、オプティマイザー、リスクガード、コンテキストメモリ(レジームグリッド)、ディケイトトレース、アラート、および表示。 デフォルト値は、流動性の高いあらゆる銘柄や時間枠で、インストール後すぐにインジケーターが機能するように設定されていますが、特定の銘柄や取引スタイルに合わせて、各パラメータを個別に調整することも可能です。


インジケーターの仕組み

このインジケーターの中核となる機能は、ユーザーが選択した価格基準にRMA平滑化されたATRエンベロープを適用し、2つのSuperTrendバンド(強気ライン(青)と弱気ライン(赤))を算出することです。 バンド幅とATRの期間は固定されていません。これらはユーザーが入力した値から始まり、新しいトレード結果が評価されるたびにオプティマイザーによって継続的に調整されます。つまり、ボラティリティが高い局面ではエンベロープが自然に広がり、市場が落ち着いている時には手動での介入なしに狭まる仕組みになっています。

シグナルは2つのモードのいずれかで生成されます。「リバーサル」モードでは、インジケーターはトレンドの反転が確認されるのを待ちます。つまり、トレンドが弱気な状態で強気のピボットが形成される(緑色の買い矢印が表示される)、あるいはトレンドが強気な状態で弱気のピボットが形成される(赤色の売り矢印が表示される)必要があります。ブレイクアウトモードでは ロジックが逆転します。上昇トレンド中に新たなスイング高値が形成されると、ブレイクアウトの失敗を予想して売りシグナルが発生し、下降トレンド中に新たなスイング安値が形成されると、買いシグナルが発生します。どちらのモードでも、矢印が表示されるには、すべてのアクティブな確認フィルターが一致している必要があります。


確認フィルター

すべてのシグナル候補は、承認される前に3つの独立したフィルターを通過します。

モメンタム・フィルター は標準的なRSIを使用します。買いシグナルが発生するためには、直近のルックバック・ウィンドウ内でRSIが「コールド・レベル」(デフォルト30)に接触するか、またはそれを下回っていなければなりません。 売りシグナルの場合、RSIが「ホットレベル」(デフォルト70)に接触するか、それを上回っていなければなりません。これにより、一方的なモメンタムが継続している間に、指標がトレンドに逆行するエントリーを生成することを防ぎます。

フロー分析 フィルターはティック出来高を検証します。「サージを必須とする」オプションが有効になっている場合、シグナルは、現在のバーの出来高が、直前のサンプルバーの平均を少なくとも「サージ閾値」の倍率分上回っている場合にのみ受け入れられます。これにより、ブレイクアウトが偽シグナルである可能性の高い、取引量の少ないバーで発生するシグナルが排除されます。

シグナル品質」フィルターは、「主要レベルのみ」モードが有効な場合、シグナルの背景となるピボットが主要な構造レベルであることを要求します。つまり、スイング高値から最も近いスイング安値(またはその逆)までの距離が、「主要レベル深度」に現在のATRを乗じた値を超えなければなりません。これにより、シグナルが些細な価格変動ではなく、重要な価格構造に根ざしたものとなります。


機械学習エンジン

MLエンジンは、4つの連携するサブシステムを通じて動作します。

コンテキストメモリ(レジームグリッド) は、一方の軸に市場レジーム、もう一方の軸にボラティリティをマッピングした8×8のグリッド(設定可能)です。各セルには、類似した条件下で発生した過去の取引から得られた、指数加重平均された統計データが蓄積されます。 新しいシグナルが評価される際、インジケーターは現在のレジームとボラティリティに対応するセルを読み取り、ガウスカーネル(「近隣ブレンド半径」によって制御)を用いて隣接するセル間の推奨値をブレンドし、それに応じて信頼度スコアを調整します。セルは半減期パラメータによって時間の経過とともに減衰するため、古くなった市場情報は徐々に忘れ去られていきます。

オプティマイザー は数バーごとに実行されます(「Update Cooldown」で設定)。これは、直近の取引結果のローリングウィンドウを評価し、バンド幅乗数、ATR平滑化長、ストップ距離、テイクプロフィット距離、ブレイクアウトバッファの5つのパラメータについて、勾配法スタイルの更新を計算します。 更新値はノイズ追従を避けるために量子化され、デッドバンドによって、挙動に有意義な変化をもたらさない微調整が防止されます。定期的なリバートステップにより、パラメータはアンカー値へと引き戻され、異常な市場状況下でのドリフトが防止されます。

減衰トレースバッファ は、直近のシグナル結果の短期記憶を、減衰するエネルギー記録として保存します。 各レコードには、シグナル発生時点におけるATRで正規化されたリターン、最大マイナス変動幅、レジーム状態、およびボラティリティレベルが格納されています。これらのトレースは、単純な勝敗数よりも豊富なコンテキストをオプティマイザーに提供し、方向性は正しかったもののノイズによってストップアウトしたシグナルと、本質的に誤っていたシグナルとを区別するのに役立ちます。

マイクロバッチ・プロセッサ」を有効にすると、直近の結果を小さなバッチにグループ化し、バッチレベルのパラメータ推奨値を算出します。これらのバッチ信号は、オプティマイザーのローリング推奨値と組み合わされ、単一の取引における過剰反応を緩和します。


リスクガード

リスクガードシステムは、シグナルエンジンとバッファライターの間に位置しています。すべての確認フィルターを通過し、MLエンジンがシグナルを承認した場合でも、リスクガードは以下の条件下でそのシグナルをブロックすることができます。

  • セッション取引制限。 当日のシグナル数が「セッションあたりの最大エントリー数」に達すると、その日の残りの時間についてはそれ以上のシグナルはプロットされません。
  • セッション損失制限。 シミュレートされたセッションのPnL(「Sim Position USD」およびATRに基づくストップ距離から算出)が「Session Loss Limit」を下回った場合、次のセッションが始まるまですべてのシグナルがブロックされます。
  • 損失後のクールダウン。 損失を伴う取引の後、インジケーターは少なくとも「Base Pause After Loss」バー分の休止を課します。「Dynamic Cooldown」が有効になっている場合、休止期間はATRに対する損失額の大きさに比例して変化するため、損失が大きければ大きいほど休止期間も長くなります。
  • 連続損失回数。「Streak Limit」に到達すると、クールダウンタイマーの状態にかかわらず、そのセッションの残りの期間、取引が一時停止されます。

すべてのリスクガードカウンターは、新しい取引日の開始時に自動的にリセットされます。


信頼度スコアとEAとの連携

すべてのシグナルバーには、0から100までの「信頼度スコア」が割り当てられ、非表示の5番目のバッファ(ラベル:Confidence)に書き込まれます。 このスコアは、レジームグリッドからのグリッドセルの信頼度、RSI がシグナルの方向を強く裏付けている場合のブースト、出来高の急増がある場合のブースト、および現在のレジームがシグナルの方向と一致している場合のブーストという 4 つの要素から構成されています。 エキスパート・アドバイザーは、CopyBuffer を使用してこのバッファを読み取り、このスコアを利用してポジションサイズを調整したり、信頼度の低いシグナルを除外したり、複数の銘柄にわたる競合するシグナルをランク付けしたりすることができます。


ダッシュボード

「Show Info Dashboard」が有効になっている場合、複数列のテーブルがテキストラベルオブジェクトとしてチャート上に直接描画されます。ダッシュボードには、現在のトレンド方向、ロングおよびショートのシグナルごとの実際の勝率(シミュレーションではなく、実際の5バー先の価格比較から算出)、 ローリングATRリターン履歴に基づくシャープレシオおよびソルティーノレシオ、シグナルの総数、現在の信頼度スコア、およびリスクガードのステータス(アクティブなクールダウンバーの残り数、セッション内で使用されたトレード数、セッションのPnL)を表示します。ダッシュボードは、新しいバーが形成されるたびに、またリアルタイムのティックごとに更新されます。


アラート

このインジケーターは、現在の(ライブ)バーに新しい買いまたは売りの矢印が描画されるたびに、MetaTraderのポップアップアラートやモバイルプッシュ通知を送信できます。「1バーにつき1回のみアラート」オプションを有効にすると、新しいティックにより同じバーでインジケーターが再計算された際、アラートの重複を防ぐことができます。


入力パラメータ

パラメータ
デフォルト
説明
グループ 1 — シグナルモード


信号タイプ
反転
反転:トレンドが反転した際にシグナルが発生します。ブレイクアウト:新たな極値でのブレイクアウトが失敗した際にシグナルが発生します。
新たなピボットが必要
false
trueの場合、反転シグナルはトレンドが反転する前に新たなスイング高値・安値が形成されていることを条件とする。これによりシグナルの発生頻度が低下し、選別性が向上する。
シグナルの間隔
10
2つの連続するシグナルの間に経過しなければならない最小バー数。変動の激しい相場でのシグナルの集中を防ぎます。
グループ 2 — ボラティリティ・エンベロープ


ルックバック・ウィンドウ
30
シグナルロジックにおいて、スイング高値および安値を検出するために使用される直近のバー数。また、オプティマイザーに渡される初期感度値も設定します。
平滑化期間
24
SuperTrendエンベロープのATR期間。時間の経過とともにオプティマイザーによって調整されます。期間を長くすると、バンドはより滑らかになり、ボラティリティの変化に対する反応も遅くなります。
バンド幅
1.4
SuperTrendバンドのATR乗数。オプティマイザーによって調整されます。値を大きくするとバンド幅が広がり、トレンド反転の回数は減りますが、その信頼性は高まります。
価格基準
hlcc4
SuperTrendバンドの中点として使用される価格シリーズ。オプション:open、high、low、close、hl2、hlc3、ohLC4、hlcc4。
トゥルーレンジモード
true
trueの場合、ATRはRMA(ワイルダーの平滑化)で平滑化されます。falseの場合、EMA平滑化が使用されます。RMAは、SuperTrendの伝統的な手法です。
グループ 3 — モメンタム・フィルター


RSI 有効
true
RSIモメンタム確認フィルターを有効にします。無効にすると、RSIの位置に関係なくシグナルが許可されます。
RSIの長さ
14
RSIの計算期間。
ホットゾーンの記憶
50
RSIがホットレベルを上回っていたかどうかを確認する際に遡って参照するバー数。売りシグナルが発生するには、この期間内に少なくとも1本のバーでRSIがホットレベルを上回っている必要があります。
コールドゾーンの遡及期間
50
RSIがコールドレベルを下回っていたかどうかを確認する際に遡って参照するバー数。買いシグナルが発生するには、この期間内に少なくとも1本のバーでRSIがコールドレベルを下回っている必要があります。
RSIホットレベル
70
RSIがこれを上回ると、モメンタムが買われすぎとみなされる閾値。フィルターとコンフィデンス・スコアラーの両方で使用されます。
RSIコールドレベル
30
RSIの閾値。これを下回ると、モメンタムは売られすぎとみなされる。
グループ4 — フロー分析


サンプル深度
3
サージチェックの基準線を形成するために、直近のバーの出来高を平均化するバー数。
サージ閾値
1.2
サージフィルターを通過するには、現在のバーの出来高が、平均出来高のこの倍数を超えている必要があります。
サージを必須とする
false
true の場合、どの信号に対してもボリュームサージが必須となります。false の場合、サージチェックはあくまで推奨事項であり、信号をブロックすることはありません。
グループ 5 — 信号品質


キーレベルのみ
false
trueの場合、シグナルは「キーレベル深度」の閾値に基づき、主要な構造的水準として認定されるピボットポイントに限定されます。
キーレベル深度 (xATR)
4.5
ピボットが主要レベルとして分類されるために必要な、ATR単位での最小スイングレンジ。
グループ 6 — マスターダイヤル


反応性 (1-20)
10
グローバル感度ダイヤル。値が低いほど、シグナルエンジンは価格変動に対する反応が鈍くなり、ノイズは低減されますが、反応性も低下します。値が高いほど感度が向上します。
マイクロバッチ処理
true
最近のシグナル結果をグループ化し、バッチレベルのパラメータ推奨値をオプティマイザーの出力と統合する、マイクロバッチ学習サブシステムを有効にします。
ライブ圧力センサー
true
リアルタイムのティックプレッシャー追跡を有効にします。このセンサーは、各バー内の買い圧力と売り圧力を蓄積し、レジーム分類器に供給します。
グループ 7 — オートチューン・エンジン


オートチューンを有効にする
true
オートチューンシステムのマスタースイッチです。無効にすると、帯域幅(Band Width)と平滑化期間(Smoothing Period)は入力値のまま固定されます。
バックグラウンド・テスト・マトリックスを使用する
true
さまざまなパラメータの組み合わせにおける仮想的な取引結果をバックグラウンドで追跡し、その情報をオプティマイザーに提供するバックグラウンド・プローブ・システムを有効にします。
エンベロープをベースに固定
true
trueの場合、プロットバンド(チャート上に表示されるもの)は、入力された「バンド幅」の値に固定されます。シグナルエンジンは内部で引き続き適応型パラメータを使用します。
グループ 8 — オプティマイザー


オプティマイザーの有効化
true
パラメータオプティマイザーのマスタースイッチです。無効にすると、5つの適応パラメータは初期値のままになります。
ステップサイズ
0.25
パラメータ更新の学習率。値が小さいほど安定性は高くなりますが、適応速度は遅くなります。値が大きいほど反応は速くなりますが、発振する可能性があります。
履歴の深さ
30
シャープ比率、ソルティーノ比率、および勝率の計算において、ローリング統計ウィンドウで使用される直近の取引結果の数。
勝率の上限
0.62
ローリング勝率がこの値を上回った場合、オプティマイザーは ATR 乗数を増加させ、シグナルの頻度を抑え、より質の高いセットアップのみを捕捉します。
勝率の下限
0.38
ローリング勝率がこの値を下回った場合、オプティマイザーはATR乗数を下げ、反応性を高め、勢いを取り戻します。
ATRによるリターンの正規化
true
ローリングリターン配列に格納する前に、取引のPnLをシグナル発生時点のATRで除算します。これにより、異なるボラティリティ環境下でもシャープ比率やソルティーノ比率を比較可能にします。
モメンタムの平滑化
0.35
各パラメータに加算される前に、オプティマイザーの勾配に適用されるEMAアルファ。単一の取引による過剰反応を平滑化します。
更新クールダウン(バー数)
3
パラメータの更新サイクル間の最小バー数。オプティマイザーがすべてのバーで実行されるのを防ぎます。
デッドバンド幅
0.01
現在の値のこの割合未満のパラメータ変化は抑制されます。ノイズによる微調整を防ぎます。
デッドバンド周期
0.25
デッドバンド幅と併せて、デッドバンド減衰の計算に使用される周期の割合。
クォントステップ幅
0.05
帯域幅乗数の更新における量子化ステップ幅。提案された値はこのステップ幅の倍数に最も近い値に丸められます。
量子化ステップガード
0.02
適応型ストップ距離乗算器の量子化ステップ。
量子化ステップ目標値
0.02
適応型テイクプロフィット乗数の量子化ステップ。
量子化ステップ・エッジ
0.01
適応型ブレイクアウト・バッファの量子化ステップ。
アンカーリバート間隔
200
このバー数ごとに、すべての適応パラメータが「アンカー復帰強度」の割合分だけ、入力時のアンカー値に向かって微調整されます。これにより、長期的なドリフトを防ぎます。
アンカー復帰強度
0.01
各リバートイベントにおいて、現在の適応値とアンカー値の差のうち、どの程度の割合が解消されるかを指定します。
1取引あたりのPnL上限
750.0
この絶対USD額を超えるシミュレーションPnL値は、ローリングリターン配列に格納される前に上限が設定されます。これにより、極端な外れ値がオプティマイザーの統計値を歪めるのを防ぎます。
グループ 9 — リスクガード


1セッションあたりの最大エントリー数
20
1つの取引日にプロットできるシグナル矢印の最大数。新しい日の開始時にリセットされます。
セッション損失上限(USD)
-1000.0
シミュレーションによるセッションのPnLがこの値を下回った場合、その日の残りの時間帯はシグナルがプロットされなくなります。
損失後の基本一時停止時間
5
損失を伴うシグナル発生後、新しいシグナルを許可するまでに待機するバーの最小数。有効になっている場合、ダイナミック・クールダウンによって延長されます。
連勝・連敗制限
3
そのセッションの残りの間、取引を停止するまでに許容される連続した負けシグナルの最大回数。
損失額に応じたスケール一時停止
true
trueの場合、損失後のクールダウン時間は、ATRに対する損失額の割合に応じて延長されます。損失額が大きいほど、一時停止時間は長くなります。
グループ 10 — コンテキストメモリ(レジームグリッド)


レジーム・グリッドを有効にする
true
レジーム/ボラティリティのセルごとにパフォーマンス統計を保存し、その推奨値を信頼度スコアに組み込む 2D コンテキストメモリグリッドを有効にします。
レジーム・ビン
8
グリッドのレジーム軸に沿ったバケットの数。ビン数を増やすと、コンテキストの分解能は向上しますが、セルの生成速度が低下します。
ボラティリティ・ビン
8
グリッドのボラティリティ軸に沿ったバケットの数。
近傍ブレンド半径
0.8
隣接するグリッドセルの推奨値をブレンドするために使用されるガウスカーネルのシグマ。値が大きいほどより多くのセルにわたって平滑化され、値が小さいほど各セルの独立性が高まります。
減衰半減期(取引数)
50
グリッドセルの累積統計値の影響力が半分になるまでの取引回数。過去の市場動向がどのくらいの速さで忘れられるかを制御します。
信頼度ランプ(取引数)
20
グリッドセルが、その信頼度に基づく推奨が完全な重みを持つようになるまでに蓄積しなければならない最低取引回数。
最大グリッド影響度
0.65
レジーム・グリッドがオプティマイザーの出力を調整できる最大比率。グリッドの権限に上限を設け、オプティマイザーの判断を完全に上書きしないようにする。
ボリューム比率の上限
2.5
グリッド・バケッティングのためにボラティリティ軸を正規化する際に使用される、ボラティリティ比の上限値。この値を超える場合は、最上位のビンにクリップされます。
グループ 11 — 減衰トレース


トレースバッファを有効にする
true
オプティマイザー向けに、直近の信号の結果を減衰するエネルギー記録として保存する短期メモリトレースバッファを有効にします。
バッファの深さ
30
メモリ内に同時に保持される減衰トレースレコードの最大数。
小節ごとのフェード率
0.02
各小節の開始時に、各トレースレコードのエネルギーが減衰する割合。エネルギーが最小閾値を下回ったレコードは、バッファから削除されます。
マージ間隔(小節)
200
このバー数ごとに、同様のレジームおよびボラティリティプロファイルを持つトレースレコードが統合され、バッファの断片化が軽減されます。
逆方向変動の閾値
0.8
ATR単位での最大逆方向変動幅。これを超えると、トレースレコードはテールイベントとしてフラグが立てられます。テールフラグが立てられたレコードは、オプティマイザーのストップ距離パラメータに対してより大きな影響を与えます。
ガード引き締め上限
0.02
テールとしてフラグが立てられたトレースレコードに応じて、1回のオプティマイザサイクル内で適応ストップ乗数を引き締められる最大割合。
グループ 12 — アラート


シグナル発生時のポップアップアラート
true
ライブバーに新しいシグナル矢印が表示されたときに、MetaTrader のポップアップアラートダイアログを送信します。
シグナル時のプッシュ通知
false
新しいシグナルが発生した際に、MetaTraderモバイルアプリにプッシュ通知を送信します。MetaTraderの設定でプッシュ通知が有効になっている必要があります。
バーごとに1回アラート
true
新しいティックが到着したために、同じバーでインジケーターが再計算された場合、アラートが繰り返し表示されるのを防ぎます。
グループ 13 — 表示


Guard xATR
1.00
ダッシュボードのPnL追跡およびリスクガードの計算において、シミュレートされたストップロス距離を算出するために使用されるATR乗数。
ターゲット xATR
2.00
ダッシュボード上のPnL追跡において、シミュレーション上のテイクプロフィット距離を算出するために使用されるATR乗数。
エッジバッファ xATR
0.20
ブレイクアウトモードにおいて、シミュレーションPnLにおけるスプレッドやスリッページを考慮するため、ストップまたはターゲット水準を超えて追加されるATRバッファー。
シミュレーションポジション(USD)
1000.0
ダッシュボードおよびRisk GuardにおけるすべてのシミュレーションPnL計算に使用される、米ドル建ての想定ポジションサイズです。実際の取引には影響しません。
ダッシュボードの情報を表示
true
チャート上に表示される、トレンド状態、勝率、シャープレシオ/ソルティーノレシオ、信頼度スコア、およびリスクガードのステータスを示す複数列の情報テーブルを有効にします。

ss


注: このインジケーターは、教育および分析目的で提供されています。機械学習サブシステムは過去の価格データに適応するものであり、将来のパフォーマンスを保証するものではありません。実取引で使用する前に、必ずデモ口座で検証を行ってください。ダッシュボードに表示されるシミュレーションPnLの数値は、ATRスケーリングに基づく仮定に基づいており、実際のブローカーの約定条件を反映したものではありません。

ファイル名
説明
ML_SuperTrend.mq5
ML SuperTrendインジケーターの完全なソースコード(v10.02)

MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/72110

XANDER Adaptive Cross XANDER Adaptive Cross

市場を異なる視点で読み取る2つの適応型移動平均線。クロスオーバーはトレンドの転換を示唆する。

Institutional GARCH(1,1) Volatility Forecaster Institutional GARCH(1,1) Volatility Forecaster

小売向けATRの遅行性を解消する予測型定量分析エンジンであり、ノーベル賞を受賞したGARCH(1,1)計量経済モデルを活用して、将来の市場ボラティリティと分散を数学的に予測します。

Easy Range Breakout EA - MT5 Easy Range Breakout EA - MT5

このEAは、レンジブレイクアウト取引戦略を実装しています。ユーザーが指定した開始時刻と終了時刻の間の価格レンジを算出し、そのレンジの高値と安値を示す四角形をチャート上に表示した後、レンジが閉じられた後の価格動向を監視します。 市場がレンジの高値を上抜けた場合は買いポジションを、レンジの安値を下抜けた場合は売りポジションを建てます。

Daily Risk Monitor Lite Daily Risk Monitor Lite

「Daily Risk Monitor Lite」は、日次の実現損益、未確定損益、日次合計、現在のドローダウン、および色分けされたリスクステータスをチャート上に直接表示する、軽量なMetaTrader 5インジケーターです。これは読み取り専用のモニタリングツールであり、ポジションを決済したり、取引をブロックしたりすることはありません。