私たちのファンページに参加してください
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) - MetaTrader 5のためのインディケータ
- ビュー:
- 19
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
ブレイクアウト・エグジット・ラボ:3つのエグジットを並べて比較したドンチアン・ブレイクアウト
タートル流のドンチアン・チャネルブレイクアウトを検知し、そのたびにATRトレーリングストップ、タートル・エグジット・チャネル、固定ターゲットの3つのエグジットを同時に実行します。パネルには、対象銘柄においてどのエグジットが最も利益を上げたかが、スプレッドを含めたRで表示されます。リペイントなし、エキスパートアドバイザー用のバッファ付き。
なぜ3つのエグジットなのか
ブレイクアウト戦略の成否は、エグジット(決済)にかかっています。エントリーは単純で、誰もが同意するものです。つまり、価格が直近20バーの最高値を上回って引けた時点で買いを入れる、というものです。しかし、その先になると議論が分かれてきます。ATRでトレーリングストップをかけるべきか? タートル流の10バー・エグジットチャネルを使うべきか? それとも固定の2Rで利益確定して手仕舞うべきか?
私が見つけたブレイクアウト指標はすべて、1つの決済方法を選んでそれを表示しています。私は選択する前に、自分の銘柄で同じエントリーに対してこれら3つの方法をすべて確認したかったのです。そこで、この指標は各ブレイクアウトを3つの決済方法に並行して適用し、その結果を並べて表示します。
ブレイクアウトの定義
- エントリーチャネルは、直近のInpEntryBars本(デフォルトは20本、タートル・システム1)における最高値と最安値で構成されます。
- 買いシグナルとは、直前のバーがチャネルの高値を下回っていたのに対し、その次のバーがチャネルの高値を上回って引けた場合です。売りシグナルはその逆です。チャネルを超えた最初の引け値のみがカウントされるため、強いトレンドであってもすべてのバーに矢印が表示されるわけではありません。
- トレードは次のバーの始値から開始されます。初期ストップは、InpStopATR倍のATR分だけ離れた位置に設定されます(2.0 × ATR(20)、タートル・システムの「2N」)。
- オプションのトレンドフィルターを使用すると、200 EMAのトレンド方向に沿ったブレイクアウトのみを抽出できます。デフォルトではオフになっています。
3つの決済方法
- A. ATRトレイル。ストップは、エントリー以降の最良価格に InpTrailATR × ATR(デフォルトは 3.0)の距離を保って追従し、決して元の位置に戻ることはありません。
- B. タートル・エグジット・チャネル。ストップは、ロングの場合は直近の InpExitBars バー(デフォルトは 10、システム 1)の最安値に、ショートの場合は最高値に追従します。
- C. 固定ターゲット。初期リスクのInpTargetR倍(デフォルトは2R)でテイクプロフィットを確定し、初期ストップを維持します。
各結果はR単位で測定され、1Rはエントリーから初期ストップまでの距離です。シグナルバーのスプレッドはコストとして差し引かれます。 価格がギャップを空けてストップ価格を突破した場合、ストップ注文はストップ価格ではなく、そのバーの始値で約定します。ストップとターゲットがともに1つのバー内に収まっている場合、どちらが先だったかをバーだけでは判別できないため、ストップはカウントされます。
各ブレイクアウトは個別に評価されるため、取引が重複する場合があります。このパネルは、同一のエントリーセットにおけるエグジットの比較を示したものです。ポジションサイジングを伴う口座シミュレーションではありません。
パネルが示す内容
- ブレイクアウトの数(ロングとショートに分けて表示)および、現在もオープン状態の取引の数。
- 各決済について:決済済みトレード数、勝率、プロフィットファクター、平均R値、およびR値の合計。
- 描画を選択した決済(InpDrawExit)については、ロングとショートの合計が別々に表示されるため、どちらのサイドが結果を左右しているかを確認できます。
選択したエグジットはチャート上にもプロットされます。各トレードにはエントリーラインとそのR値の結果が表示され、直近のトレードのストップは点線で描画されます。
金(XAUUSD)での分析結果
XAUUSD、MetaQuotesデモデータ、デフォルト設定。2025年の実行結果は、2025年12月31日までの360日間を対象としています。2026年の実行結果は、2026年9月18日までの260日間を対象としています。
| XAUUSD | 取引 | 勝率 | PF | 合計 |
|---|---|---|---|---|
| H4 2025、エグジットA(ATRトレイル) | 129 | 43.4% | 1.45 | +23.08R |
| H4 2025、出口B(10本バー・チャネル) | 129 | 41.1% | 2.34 | +66.20R |
| H4 2025、エグジットC(2Rのターゲット) | 129 | 45.7% | 1.68 | +47.83R |
| H4 2026、エグジットA | 76 | 35.5% | 1.10 | +3.46R |
| H4 2026、出口B | 76 | 35.5% | 1.70 | +22.35R |
| H4 2026、出口C | 75 | 38.7% | 1.26 | +11.99R |
| 2025年上半期、出口A | 465 | 37.6% | 1.32 | +70.32R |
| 2025年上半期、出口B | 465 | 37.8% | 1.23 | +51.18R |
| 2025年上半期、出口C | 465 | 37.8% | 1.21 | +60.32R |
| 2026年上半期、出口A | 270 | 39.6% | 1.21 | +25.14R |
| 2026年上半期、出口B | 270 | 40.4% | 1.29 | +35.15R |
| 2026年上半期、出口C | 269 | 38.3% | 1.23 | +39.06R |
12通りすべてがプラスとなっています。H4では、両年とも「タートル・エグジット・チャネル」が最良のエグジットとなり、「ATRトレイル」が最もパフォーマンスが劣りました。H1では明確な勝者はなく、2025年は「トレイル」が、2026年は「固定ターゲット」が最良の結果を示しました。これが、このパネルが存在する理由です。 「最良の決済タイミング」は、同一銘柄であっても時間枠や年によって異なりました。
さて、皆さんが興奮する前に、重要な点を述べておきます。2025年には金が大幅に上昇しており、その影響が分割結果に表れています。 H4チャートでの出口Bでは、99のロングポジションが+79.4Rを稼ぎ、30のショートポジションが-13.2Rの損失を出しました。2026年には金価格は両方向に振れ、双方ともプラスとなりました:42のロングポジションが+14.9Rを稼ぎ、34のショートポジションが+7.5Rを稼ぎました。
これがどの程度金価格のトレンドによるものかを確認するため、2026年の同じ期間について、3つのFXペアのH4チャートで同じデフォルト設定を適用して分析を行いました:
| H4 2026 | エグジットAの合計(PF) | エグジットBの合計(PF) | エグジットCの合計(PF) |
|---|---|---|---|
| EURUSD | -11.74R (0.68) | -3.86R (0.89) | -5.97R (0.88) |
| GBPUSD | -9.21R (0.77) | -3.15R (0.91) | +6.90R (1.13) |
| USDJPY | +1.30R (1.03) | +0.73R (1.02) | +3.03R (1.06) |
横ばいからマイナス。ブレイクアウトにはトレンドのある市場が必要ですが、この期間、金はトレンドを形成していたのに対し、これらの通貨ペアは概してそうではありませんでした。したがって、私は金の数値を「金がトレンドを形成していた間はブレイクアウトが機能した」と解釈しており、それが常に機能するという証拠とは捉えていません。
図1. XAUUSD 4時間足、2026年7月下旬~9月中旬:ブレイクアウトを示す矢印、エントリーチャネル、およびエグジットBにおける各トレードの結果
図2. 2025年および2026年のXAUUSD H4チャート(エグジットBを記載)
入力データ
| 入力 | デフォルト | 機能 |
|---|---|---|
| InpEntryBars | 20 | エントリーチャネルのバー数 |
| InpExitBars | 10 | 出口Bのチャネル長(バー単位) |
| InpATRPeriod | 20 | ATRの期間 |
| InpStopATR | 2.0 | 初期ストップ、ATRの倍数 |
| InpTrailATR | 3.0 | Exit A トレール距離、ATRの倍数 |
| InpTargetR | 2.0 | 出口Cの利益確定、Rの倍数 |
| InpUseTrend | false | トレンドのEMAと同じ方向へのブレイクアウトのみを保持 |
| InpTrendEMA | 200 | トレンドEMAの期間、チャートの時間枠 |
| InpDrawExit | A. ATRトレイル | チャート上に描画され、バッファ6~9に送信されるエグジット |
| InpDaysBack | 365 | スコアカード内の履歴日数 |
| InpDrawDays | 60 | 取引ラインが描かれた日数 |
| InpShowPanel | true | パネルを表示する |
| InpPanelCorner | 左上 | パネルの角 |
| InpAlertPopup | true | 新たなブレイクアウト時のポップアップアラート |
| InpAlertPush | false | 新たなブレイクアウト時にプッシュ通知を送信 |
クラシック・タートル・システム2の場合は、InpEntryBarsを55、InpExitBarsを20に設定してください。
エキスパートアドバイザーからの使用方法
ブレイクアウトは、チャネルを越えてクローズしたバーに記録されるため、そのバーがクローズすると、EAはシフト1でそれを読み取ります。矢印は、スコア付けされたウィンドウ内だけでなく、読み込まれた履歴全体に保持されます。 ストラテジーテスターで確認したところ、EAがライブ環境で検知したシグナルは、実行終了時のバッファ内のシグナルと完全に一致していました。2025年の金(ゴールド)について、H1では473本中473本、H4では131本中131本でした。
| バッファ | 内容 |
|---|---|
| 0 | ブレイクアウトでの買い、値は計画されたエントリー価格(次のバーの始値)、それ以外はEMPTY_VALUE |
| 1 | ブレイクアウトで売り、形式は同じ |
| 2, 3 | エントリーチャネルの高値と安値 |
| 4 | 描かれたエグジットラインの下にある直近の取引のストップ |
| 5 | ブレイクアウトバーでの初期ストップ |
| 6~9 | 直近のクローズバーにおける描画されたエグジットの成績表:決済済みトレード数、勝ちトレード数、Rの合計、負けトレードのRの合計 |
int handle; datetime lastBar = 0; int OnInit() { handle = iCustom(_Symbol, PERIOD_H4, "BreakoutExitLab"); return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED); } void OnTick() { //--- ブレイクアウトは終値のバーで確定するため、新しいバーが形成されるたびに1回ずつ確認する datetime bar = iTime(_Symbol, PERIOD_H4, 0); if(bar == lastBar) return; lastBar = bar; double buy[1], sell[1], stop[1]; if(CopyBuffer(handle, 0, 1, 1, buy) < 1 || CopyBuffer(handle, 1, 1, 1, sell) < 1 || CopyBuffer(handle, 5, 1, 1, stop) < 1) return; if(buy[0] != EMPTY_VALUE) Print("Breakout buy, initial stop ", stop[0]); if(sell[0] != EMPTY_VALUE) Print("Breakout sell, initial stop ", stop[0]); }
このインジケーターには、意図的に入力グループが設定されていません。MQL5では、各「入力グループ」がiCustom()のパラメータとして扱われ、その後に続く値はすべて1つずつずれてしまいます。
パネルを作成中に気づいた些細な点ですが、チャートラベルには最大63文字までしか表示できません。当初、パネルの行が長すぎたため、MetaTraderが数字の途中で切り捨ててしまったため、現在は行を短くしています。
制限事項
結果はバーデータに基づいているため、1つのバー内のイベントの順序は不明です。スプレッドのみが課金され、手数料はかかりません。また、ストップ注文を通じたギャップ以外のスリッページもありません。取引は1つずつ集計され、重複する場合もあるため、合計値はエクイティカーブではありません。 上記の数値はすべて、金価格が強いトレンドを示した2つの期間における、あるブローカーのデータに基づいています。
アリ・ラージプート
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/77687
ATS Confirmed Swings - non-repainting swing highs and lows
N本のクローズ値が確定したバーによってスイング高値・安値が確認された後にのみ、それらの値がマークされるため、描かれたスイングは決して移動したり消えたりすることはありません。
ATR Trailing Stop (Pine Script Port)
Pine ScriptのATRトレーリングストップインジケーターのMQL5移植版:nLoss = ATR×倍数。上昇トレンドではストップが価格の下方に、下降トレンドでは価格の上方に段階的に移動し、価格がストップラインを突破して引けた時点で反転(買い/売りの矢印が表示)します。 Pythonリファレンス移植版と、両者がPineのセマンティクス(na/nz/series history)をバー単位で忠実に再現していることを確認する整合性テストが含まれています。
Adaptive Moving Average (AMA)
適応移動平均線は、ノイズの影響を受けにくい移動平均線を作るときに使われ、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。
