無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
スクリプトを気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ビュー:
20
評価:
(2)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

Stormbreaker ADXは、Supertrendの方向性、ADXの強さ、および+DI/−DIの方向関係を組み合わせたMetaTrader 5用エキスパートアドバイザーです。このシステムは、形成済みのローソク足に基づいてシグナルを評価し、固定された元本・リスク予算に基づいてポジションサイズを決定し、ATRに基づいた損切り注文を設定します。

ダウンロード可能なソースコードは、学習、テスト、および修正を目的としています。本EAは利益を保証するものではありません。実取引での使用を検討する前に、ご利用のブローカーのデータおよび契約仕様に基づいてテストを行ってください。

図_01_信号の流れ

図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%と異なる場合があります。これはリスク目標であり、保証された最大損失ではありません。

図_02_停止・退出

図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%

図_03_バックテスト_スナップショット

図3. 提供されたレポートに基づくブローカーごとの過去実績。Fusionのレポートでは、実際のティックデータの4%のみを使用しました。


テストの制限事項: これらはストラテジーテスターによる過去の結果であり、監査済みの実取引実績ではありません。報告期間の終了日は若干異なり、初期預入金額やブローカーの仕様も異なります。モデリングの精度は、実際のティックデータの使用率が4%から41%の範囲で変動します。これらの数値は直接比較できるものではなく、将来の結果を予測するものではありません。 対象とするブローカー、銘柄仕様、スプレッド、手数料、スワップ、ティックデータを用いてテストを再実行してください。


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) 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 ATS Confirmed Swings - non-repainting swing highs and lows

N本のクローズ値が確定したバーによってスイング高値・安値が確認された後にのみ、それらの値がマークされるため、描かれたスイングは決して移動したり消えたりすることはありません。

ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation

インパルスローソク足をマークします:実体が少なくともATR×乗数以上、実体がローソク足のレンジの一定割合以上、終値が値幅の極端な値付近にあること、オプションでティック出来高による確認。強気のインパルスの下には緑色の矢印、弱気のインパルスの上には赤色の矢印が表示されます。 クローズ済みのバーのみを対象とし、再描画は行わない。シグナルは2つのバッファに格納されているため、エキスパートアドバイザーがiCustomを使用して読み取ることができる。

PropGuard 1.02 - account risk manager for prop firm accounts PropGuard 1.02 - account risk manager for prop firm accounts

プロップファームの口座向けの口座レベルでの保護機能。口座内のすべてのポジションを監視し、1日の損失限度額または最大損失限度額に達した時点で全ポジションを決済し、ポジションごとのリスク額を制限し、ストップ注文が設定されていない取引を決済し、影響の大きいニュース発表時にはポジションを平準化することができます。