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

PropGuard 1.02 - account risk manager for prop firm accounts - MetaTrader 5のためのエキスパート

Sergej Michajlik
Sergej Michajlik
Happy to do Pine Script to MQL5 conversions, fix or finish an existing EA, add risk management to one, or just run an honest backtest on something you already have.
| Japanese English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
ビュー:
15
評価:
(2)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

PropGuard 1.02 — プロップファームの口座向け口座レベルのリスク管理ツール

チャート上に1つ配置するだけで、EAや手動取引のいずれによって開設されたものであっても、その口座内のすべてのポジションを監視し、会社の1日あたりの損失限度額または最大損失限度額に達する前にすべてのポジションを決済します。バージョン1.02では、資金単位でのポジションサイズ上限、ストップロス要件、およびポジションごとのリスク上限が追加されました。


なぜ1.02か:私自身の口座からのデータ

私は、自身のEAと並行して、10万のFTMO口座を手動で取引しています。4日間の取引記録(手動取引46回)から、1日の損失制限や最大損失制限だけでは捕捉できない2つの事実が明らかになりました:

  • 17件の取引がストップロスなしで終了しました。最も長く続いた取引は2時間22分でした。
  • 18ロットのGER40取引の1件では、94ポイントのストップが設定されていたものの、1,933の損失を出しました。これは、1回の取引だけで、1日の損失上限3%の約3分の2に相当します。

スクリーンショットでは、Strategy Tester(テスター専用ビルドで2つの取引を開始し、ガードコードはここに添付されているもの)で、InpRequireStopLossをtrue、InpMaxRiskPerPosを750に設定し、サイズ制限を解除してストップルールのみが機能するようにして、これら2つのケースを再現しています: 18ロットのストップ注文は即座に750の上限まで引き下げられ、ストップ注文のない8ロットは62秒後に決済されます。


その動作

日次損失。 リセット時刻(デフォルトはサーバー時間 01:00、FTMOではCE(S)T 00:00)にエクイティを記録します。 その日中に、純資産が InpInitialBalance の InpDailyLossPct 以上減少した場合、すべてのポジションが決済され、未約定注文が削除されます。また、InpBlockAfterBreach が設定されている場合、次のリセットまで新たなポジションはすべて決済されます。 ガードは、会社のルールよりも低く設定してください。5%のルールでは4%、3%のルールでは2.5%とし、決済時のスリッページに余裕を持たせます。

最大損失。 これを測定する 3 つの方法(InpMaxLossMode):

  • static:初期残高からの評価(従来の2段階評価)、
  • トレーリング:観測された最高資産額から算出し、ティックごとに更新、
  • トレーリング日次残高:日次リセット時に記録された最高残高を基準とする。FTMOの「1-Step Challenge」では、この方法で深夜に下限値を再計算しており、下限値が下がることは決してない。

ガードは InpMaxLossPct(10%ルールの場合、デフォルトは8%)で発動します。

サイズの上限はロット数ではなく金額で設定されます。 ロット数による上限は、 商品ごとに異なるため意味をなしません: 25,000の指数CFD 15ロットの価値は約430,000、7,700の別の指数の15ロットは約115,000、EURUSDの15ロットは約1,750,000です。 PropGuardは、各ポジションを「ロット数 × 現在の価格 × 1ロットあたりの1ポイントの価値」として、口座通貨で算出し、これを比較します:

  • InpMaxNotionalPerPos:この値を超える価値を持つ単一のポジションは決済されます。
  • InpMaxNotionalTotal:すべてのオープンポジションの合計価値がこの値を超えた場合、最新のポジションから順に決済され、制限内に収まるまで続きます。

なぜ金額なのか:300,000のエクスポージャーに対して1%の変動は、銘柄に関わらず3,000となります。1日の制限が3,000である場合、その数値を設定します。 ロット数の上限も設定したい方のために、従来の InpMaxLotsPerPos も引き続き利用可能です(0 = 無効)。

ストップロス要件。「InpRequireStopLoss」を設定すると、ポジション開設後「InpStopGraceSeconds」が経過してもストップロスが設定されていないポジションはすべて決済されます。60秒あればストップロスを設定するのに十分です。

1ポジションあたりのリスク上限。`InpMaxRiskPerPos`は、1つのポジションが建値からストップロスまでの間でリスクにさらされる最大金額です。ストップロスがこの上限を超えるリスクを伴う場合、PropGuardはリスクが上限に正確に収まる距離までストップロスを移動させます。チェック時点で市場価格がすでにその距離を超えてしまっている場合は、代わりにポジションが決済されます。 上限額は口座通貨で設定されるため、あらゆる金融商品に適用されます。ストップがすでに利益圏内にあるポジションはそのまま維持されます。

最高収益日の情報。 InpBestDayInfoを設定すると、リセットのたびに、ログに「最も収益が高かった日」の収益が、すべての黒字日の合計に占める割合として表示されます。FTMOの「1-Stepルール」では、チャレンジ合格時にこの割合が50%以下であることが求められます。これは情報提供のみであり、自動的なアクションは行われません。

その他: 取引時間枠と金曜日の引け(サーバー時間)、MT5経済カレンダーからの高インパクトニュースフィルター、除外対象のマジックナンバー、アクションごとのプッシュ通知、MQL5/Files内のアカウントごとのCSVログ。 状態(日次開始時点、ルール違反フラグ、日次最高残高)はターミナルのグローバル変数に保持されるため、ルール違反後の再起動を行っても、次のリセットまでは取引が再開されません。


入力

  • InpInitialBalance — パーセンテージの基準となる口座残高。
  • InpDailyLossPct、InpMaxLossPct、InpMaxLossMode — 2つの制限値と、最大損失の測定方法。
  • InpResetHour、InpResetMinute — サーバー時間における、会社の 1 日のリセット時刻。
  • InpMaxLotsPerPos、InpMaxNotionalPerPos、InpMaxNotionalTotal — サイズの上限(0 = オフ)。
  • InpRequireStopLoss、InpStopGraceSeconds — ストップロス要件。
  • InpMaxRiskPerPos — 口座通貨建てのポジションごとのリスク上限(0 = オフ)。
  • InpBestDayInfo — ログ内のベストデイ比率。
  • InpCloseOnBreach、InpBlockAfterBreach — 違反が発生した場合の処理。
  • InpUseWindow、InpWindowStartHour、InpWindowEndHour、InpFridayClose、InpFridayCloseHour — 時間に関するルール。
  • InpUseNewsFilter、InpNewsCurrencies、InpNewsMinutesBefore、InpNewsMinutesAfter — ニュースウィンドウ。
  • InpPushAlerts、InpMagicToIgnore。


例:FTMO 1-Step 100k(1日あたり3%、トレーリング10%、最高1日の利益50%): InpInitialBalance 100000、InpDailyLossPct 2.5、InpMaxLossPct 8、InpMaxLossMode トレーリング・デイリー・バランス、InpResetHour 1、InpMaxNotionalPerPos 300000、 InpMaxNotionalTotal 450000, InpRequireStopLoss true, InpMaxRiskPerPos 750, InpBestDayInfo true.

例:2段階 200k(1日あたり5%、静的10%):InpInitialBalance 200000, InpDailyLossPct 4, InpMaxLossPct 8, InpMaxLossMode static, InpResetHour 1.


注記: ストラテジーテスターでは、 EAは開始時に最小ロットのポジションを1つ開設・決済し、決済ロジックの動作を確認できるようにしています。実取引口座やデモ口座では、一切ポジションを開設しません。テスターには経済カレンダーがないため、ニュースフィルターはそこで無効になっています。 時間に関するルールはサーバー時刻を使用します。夏時間の変更後はリセット時刻を確認してください。ブローカーの深夜とサーバーの時刻が必ずしも同じ日付にずれるとは限らないためです。


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

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を使用して読み取ることができる。

Stormbreaker ADX - Supertrend and DMI Trend EA Stormbreaker ADX - Supertrend and DMI Trend EA

MetaTrader 5用のトレンドフォロー型エキスパートアドバイザー。スーパートレンドの方向性と、ADXおよびDIによる確認を組み合わせたものです。ATRに基づくストップロスを採用しており、1回の取引あたりのリスクは元本の最大0.5%に設定されています。

NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

チャート上でドラッグ可能な手動取引パネル。マルチタイムフレームのバイアス、ATRに基づくSL/TPのヒント、トレーリングストップ、ワンクリックでの「買い」「売り」「すべて決済」機能を搭載。

Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest

金向けのタートル・スタイルのブレイクアウトEAです。上昇トレンドにおいて、H4のローソク足が20本分の高値を上回って引けた際に買いエントリーを行い、ストップロスは2ATR、利益目標は2Rに設定されています。 2020年1月から2026年9月までのXAUUSDでバックテストを実施:元本10,000、リスク1%で+9,029.72、プロフィットファクター1.77、最大ドローダウン11.38%、7年間のうち6年間で利益を計上。