私たちのファンページに参加してください
- ビュー:
- 20
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
Stormbreaker ADXは、Supertrendの方向性、ADXの強さ、および+DI/−DIの方向関係を組み合わせたMetaTrader 5用エキスパートアドバイザーです。このシステムは、形成済みのローソク足に基づいてシグナルを評価し、固定された元本・リスク予算に基づいてポジションサイズを決定し、ATRに基づいた損切り注文を設定します。
ダウンロード可能なソースコードは、学習、テスト、および修正を目的としています。本EAは利益を保証するものではありません。実取引での使用を検討する前に、ご利用のブローカーのデータおよび契約仕様に基づいてテストを行ってください。

図1. エントリーフィルターは、新しいシグナルタイムフレームのローソク足が開始された時点で順次評価されます。
1. 戦略の概要
デフォルトのシグナル時間足はH4です。新しいH4バーごとに、EAは直前の完了したバー(シフト1)を読み取り、ATRからカスタムスーパートレンドを算出し、ADX、+DI、−DI、およびATRの値を読み取ります。 スーパートレンドの方向と価格のトレンド方向が一致し、かつADXがエントリー閾値を満たしている場合にのみ、取引が検討されます。
| 構成要素 | デフォルト | 目的 |
|---|---|---|
| シグナルの時間枠 | H4 | シグナルの評価時間枠。エントリーは新しいバーごとに1回チェックされます。 |
| スーパートレンド | ATR 10、係数 3.0 | 現在のトレンドの方向を定義します。 |
| ADX / DMI | ADX 14、エントリー閾値 23 | トレンドの強さをフィルタリングし、+DI および −DI を用いて方向性を確認します。 |
| エグジットの強さの閾値 | ADXが18を下回った場合 | トレンドの強さが出口レベルを下回って弱まった場合、管理中のポジションを決済します。 |
| 初期ストップ | 2 × ATR(10) | シグナルバーの終値からストップを設定し、ブローカーの価格ルールに合わせて調整します。 |
| リスク予算 | 現在の純資産の0.5% | 現在のエントリー価格とストップ価格の間の推定損失額から、取引量を算出します。 |
| テイクプロフィット | なし | 固定の利益確定目標はなく、シグナルや強弱に基づいて、あるいはストップロスによって決済されます。 |
2. エントリーおよびエグジットのルール
| アクション | 条件 |
|---|---|
| 買いエントリー | 買いエントリーが有効;スーパートレンドが上昇傾向;ADX ≥ 23;+DI > −DI。 |
| 売りポジションを建てる | 売りエントリーが可能;スーパートレンドが弱気;ADX ≥ 23;−DI > +DI。 |
| 既存のポジションを決済 | ADX < 18、またはスーパートレンドの方向がポジションと逆転した場合。反対の条件を満たすシグナルが発生した場合も、管理中のポジションを決済または方向転換します。 |
EAは、設定された銘柄とマジックナンバーを持つ既存のポジションを検出した場合、同方向のポジションへの追加注文を行いません。ストップロスは、シグナルによる決済の有無にかかわらず有効のままとなります。
3. リスクに基づく取引量の算出
注文を送信する前に、StormbreakerはOrderCalcProfitを使用して 、現在のアスク/ビッドのエントリー価格から設定されたストップ価格までの1ロットあたりの損失額を推定します 。その後、純資産のリスク予算(0.5%)をその推定損失額で割り、その取引量をブローカーが許可する取引量の単位に切り下げ、最大取引量の上限を適用します。 また、利用可能な証拠金も確認します。許可される最小ロット数がリスク予算を上回る場合、または証拠金が不足している場合、EAは取引をスキップします。
double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);
説明のために簡略化した抜粋です。 完全なソースコードには、無効な価格のチェック、ティックと出来高の整合性、ブローカーのストップ距離、および証拠金に関するチェックが含まれています。ストップ価格は前のローソク足の終値から算出される一方、ポジションサイズは現在のエントリー価格を使用するため、スリッページやギャップ、約定コストによって、実際の損失が0.5%と異なる場合があります。これはリスク目標であり、保証された最大損失ではありません。

図2. ストップレベルはATRに基づいており、このEAには固定の利益目標はありません。
4. 入力パラメータとデフォルト設定
| 入力項目 | デフォルト | 意味 |
|---|---|---|
| SignalTimeframe | PERIOD_H4 | シグナルに使用される時間枠。 |
| スーパートレンド係数 | 3.0 | Supertrendで使用されるATRの乗数。 |
| SupertrendATRPeriod | 10 | スーパートレンドおよび初期ストップのATR期間。 |
| ADXPeriod | 14 | ADX/DMIの計算期間。 |
| エントリーADX | 23.0 | 新規エントリーのためのADXの最低値。 |
| ExitADX | 18.0 | このADX水準を下回った場合、オープンポジションを決済する。 |
| ストップATR倍率 | 2.0 | 初期ストップに使用するATRの倍率。 |
| MaxVolume | 100.0 | ロット数の上限。実際の銘柄ごとの制限は引き続き適用されます。 |
| DeviationPoints | 20 | 取引リクエストに渡される最大価格偏差(ポイント単位)。 |
| EnableBuy / EnableSell | true / true | 各方向を有効または無効にします。 |
| MagicNumber | 51003 | EAが管理するポジションを特定するために使用される識別子。 |
0.5%というリスク率は、現在ソースコード内で固定された定数であり、ユーザーによる入力ではありません。
5. MQL5シグナルコードの例
以下の抜粋は、EAで使用されているクローズドバーのエントリー条件を示しています:bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);
完全なEAでは、これらの条件は、新しいシグナルタイムフレームのバーが検出され、直前のクローズ済みバーおよびインジケーターの値が正常に取得された後にのみ実行されます。
6. ブローカーのバックテスト結果
以下の図は、XAGUSDのH4チャートについて、付属のMetaTrader 5ストラテジーテスターのレポートから抜粋したものです。初期入金額が異なるため、純利益とともに純リターンも表示されています。ティック履歴の品質も異なり、特にFusion Marketsではデータが限られています。| ブローカー | 期間終了日 | 初期入金額 | 純利益 | 純リターン | 最大エクイティDD | 利益率 | シャープレシオ | 取引回数 | 実際のティック数 |
|---|---|---|---|---|---|---|---|---|---|
| IC Markets | 2026年9月23日 | 1,000,000米ドル | 154,482.51 USD | 15.45% | 19.40% | 1.12 | 0.50 | 520 | 32% |
| BlackBull Markets | 2026年9月24日 | 1,000,000米ドル | 225,766.54米ドル | 22.58% | 5.00% | 1.45 | 1.00 | 196 | 41% |
| Fusion Markets | 2026年9月23日 | 100,000米ドル | 26,680.57米ドル | 26.68% | 8.97% | 1.26 | 2.22 | 374 | 4% |

7. 互換性と実用性
- プラットフォーム:MetaTrader 5;ソース言語:MQL5。
- EAを取引対象の銘柄のチャートにアタッチしてください。シグナルの時間枠はSignalTimeframeで選択されます。
- 外部のカスタムインジケーターファイルは不要です。ソースコードは標準の Trade\Trade.mqh ライブラリおよび組み込みの ATR/ADX データを使用しています。
- EAの各インスタンスには固有のマジックナンバーを使用してください。ポジションが合算されるネッティング口座では、同じ銘柄で他の戦略や手動取引を実行しないようにしてください。
- まず、ストラテジーテスターおよびデモ口座で、各ブローカー固有の最低取引量、ティックサイズ、ストップ距離、および証拠金要件をテストしてください。
リスクに関する注意: 自動取引には多大なリスクが伴います。ギャップや急激な相場変動時には、ストップロス設定があっても決済価格が保証されるわけではありません。バックテスト、デモ取引、および過去の成績は、将来の結果を保証するものではありません。使用前に、EAおよびその設定を評価するのはご自身の責任となります。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/77718
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70)
金相場におけるタートル式ドンチアン・ブレイクアウト戦略。これに基づき、ATRトレーリングストップ、タートル式エグジットチャネル、固定ターゲットの3つのエグジット条件を同時に適用。2025年および2026年のXAUUSD H1およびH4チャートでバックテストを行った結果、12通りの組み合わせすべてで利益が得られた。 リペイントなし、エキスパートアドバイザー用のバッファ付き。
ATS Confirmed Swings - non-repainting swing highs and lows
N本のクローズ値が確定したバーによってスイング高値・安値が確認された後にのみ、それらの値がマークされるため、描かれたスイングは決して移動したり消えたりすることはありません。
ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation
インパルスローソク足をマークします:実体が少なくともATR×乗数以上、実体がローソク足のレンジの一定割合以上、終値が値幅の極端な値付近にあること、オプションでティック出来高による確認。強気のインパルスの下には緑色の矢印、弱気のインパルスの上には赤色の矢印が表示されます。 クローズ済みのバーのみを対象とし、再描画は行わない。シグナルは2つのバッファに格納されているため、エキスパートアドバイザーがiCustomを使用して読み取ることができる。
PropGuard 1.02 - account risk manager for prop firm accounts
プロップファームの口座向けの口座レベルでの保護機能。口座内のすべてのポジションを監視し、1日の損失限度額または最大損失限度額に達した時点で全ポジションを決済し、ポジションごとのリスク額を制限し、ストップ注文が設定されていない取引を決済し、影響の大きいニュース発表時にはポジションを平準化することができます。