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

Monday Dip EA- Index Mean Reversion D1 - MetaTrader 5のためのエキスパート

chen guang
chen guang
クオンツ開発者 | EA・自動売買システム専門

リスク管理を重視した高性能なMT4/MT5用EA、カスタムインジケーター、アルゴリズム開発を提供します。

🚀 無料ツール・バックテスト: rbot.cc

🛠️ EAのオーダーメイド開発を受付中。お気軽にメッセージを!
| Japanese English Русский 中文 Español Deutsch Português 한국어 Français Italiano Türkçe
ビュー:
13
評価:
(1)
パブリッシュ済み:
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

このエキスパートアドバイザーは、設定された銘柄のチャート上で直接取引を行います(固定の銘柄は指定されていません)。1週間に最大1回の取引を実行し、すべての戦略上の判断は、サーバー時刻に基づく日足(D1)の終値データのみを用いて計算されます。


⚡ 基本ルール

  • ルール1 — エントリー: 月曜日の終値について、前営業日(通常は金曜日)の終値と比較します。月曜日の終値が前営業日の終値より厳密に低い場合にのみ、ロングポジションがトリガーされます。このチェックは週に1回のみ行われます。
  • ルール2 — 決済: 利益・損失にかかわらず、水曜日の日足終値(翌営業日の最初のティックで実行)でオープンポジションは自動的に決済されます。水曜日の終値が適用されなかった場合、その後のいずれかの日足終値(木曜日、金曜日、または週末の終値)で決済がトリガーされます。
  • ルール3 — ストップロスと安全性: エントリー時に、ブローカーの最小ストップ距離(SYMBOL_TRADE_STOPS_LEVEL)を遵守しつつ、パーセンテージベースのストップロス(InpStopLossPercent)が適用されます。 ストップロスの設定または変更が5回連続で失敗した場合、EAは資金の安全を確保するために直ちに成行決済を試みます。注:テイクプロフィットの目標値はありません。決済は完全に時間とストップロスに基づいて行われます。

🛡️ オプションのエントリーフィルター

どちらのフィルターもオプションのトグルであり、エントリーをさらに制限することしかできません(これらが単独でエントリーを生成したり、ルール1を緩和したりすることは決してありません):

  • 内部バー強度(IBS)フィルター: 月曜日のローソク足について、IBS = (終値 - 安値) / (高値 - 安値) を算出します。IBS <= InpIBSMax の場合にのみエントリーが許可されます。高値と安値が等しい場合、その日は無視され、ログに記録されます。
  • 移動平均(MA)フィルター: 月曜日の終値が、月曜日を含むD1ローソク足の終値に基づいて計算された単純移動平均(InpMAPeroid)を厳密に下回っている必要があります。

⚙️ 主な仕様

  • チャート時間足: 時間足に依存しない(内部ではD1シリーズを使用)。ログの監視を明確に行うため、D1チャートへの適用を推奨します。
  • 銘柄の互換性: マルチインデックス対応(US500、UK100、GER40など)。
  • リスク管理: 1ポジションの厳格な制限に加え、注文執行および緊急決済のための堅牢な再試行ロジックを備えています。

入力パラメータ

入力 デフォルト値 単位 意味と効果
InpLots 0.10 ロット すべてのエントリーに対して要求される固定ポジションサイズ。これは銘柄の取引単位に切り下げられます。SYMBOL_VOLUME_MIN 未満のサイズはエントリーが中止され(決して切り上げられることはありません)、SYMBOL_VOLUME_MAX を超えるサイズは最大値に切り下げられます。
InpStopLossPercent 10.0 エントリー価格に対するパーセント エントリー価格より下方のストップロスまでの距離。ブローカーの SYMBOL_TRADE_STOPS_LEVEL でより広い距離が要求される場合、ストップは拡大されます。0 以下の値は起動時に拒否されます。ストップがない場合、EA は実行されません。
InpMagic 20260922 識別子 EA自身のポジションを識別するためのマジックナンバー。このマジックナンバーを持つチャートシンボル上のポジションのみがカウントされ、管理されます。
InpMaxSlippagePoints 30 ポイント 市場へのエントリーおよびエグジットにおける、要求される最大偏差(スリッページ許容値)。これは許容値の要求であり、保証された上限ではありません。実際に約定する価格は、ブローカーの約定モードやポリシーにも依存します。
InpTradeComment "MonDip ロング" text エントリー注文に添付されるコメント。ターミナルの取引履歴に表示されます。
InpUseIBS true オン / オフ オプションのIBSエントリーフィルターを有効にします(以下を参照)。このフィルターは、エントリー条件をより厳格にするのみです。
InpIBSMax 0.25 比率(0, 1]) 月曜日のバーで許容される最大IBS。 (0, 1] 以外の値は起動時に拒否されます。
InpUseMA true オン/オフ オプションの長期移動平均エントリーフィルターを有効にします(以下を参照)。
InpMAPeriod 180 日足バー 月曜日のバーで終わる、終値のD1バーに基づいて計算される日足終値の単純移動平均の期間。2未満の値は起動時に却下されます。
InpVerboseLog true オン/オフ 追加のジャーナル詳細を出力します。この設定の有無にかかわらず、週次決定ラインは常に出力されます。

3つの抜粋に見られる中核ロジック

以下の抜粋は、提出されたソースコードからそのまま引用したものです。これらは決定ロジックの抜粋であり、完全な実行可能プログラムではありません。シグナル(ルール1):

//--- ルール 1 ------------------------------------------------------
   // 決定事項 D8:「以下」は厳密な比較であり、等しい場合はその週は取引なしとする。
   if(!(bar.close < refBar.close))
      return(StringFormat("SKIP - rule 1: the Monday close %s is not below the previous trading day's close %s (equal or above).",
                          DoubleToString(bar.close, _Digits), DoubleToString(refBar.close, _Digits)));

フィルター(IBSおよび長期移動平均線):

//--- フィルター 1: IBS ----------------------------------------------
   if(InpUseIBS)
   {
      if(!haveIBS)
      {
         // 決定 D7
         return("SKIP - IBS filter: High == Low on the Monday bar, the ratio is undefined - no-trade day.");
      }
      if(!(ibs <= InpIBSMax))                        // 決定事項 D8:「<=」と規定通り
         return(StringFormat("SKIP - IBS filter: IBS %.4f is above InpIBSMax %.4f.", ibs, InpIBSMax));
   }

   //--- フィルター 2: 長期移動平均線 -------------------------------------
   if(InpUseMA)
   {
      if(!haveMA)
         return(StringFormat("SKIP - MA filter: not enough daily history to compute the MA(%d).", InpMAPeriod));
      if(!(bar.close < ma))                          // 決定 D8:厳格な「<」
         return(StringFormat("SKIP - MA filter: the Monday close %s is not below the MA(%d) %s.",
                             DoubleToString(bar.close, _Digits), InpMAPeriod, DoubleToString(ma, _Digits)));
   }

エグジット(水曜日の終値以降):

   MqlDateTime dtBar;
   TimeToStruct(tBar, dtBar);                        // 決定 D18
   if(!BarIsAtOrAfterWednesday(dtBar.day_of_week))
      return;

   // 決定 D2:水曜日のローソク足の終値によって出口がトリガーされ、
   // その直後の最初のティックで実行され、ポジションがフラットになるまで再試行される。
   // 決定事項 D24:「バーが閉じた」とはMT5の定義であり、次の
   // 日足バーは、現物市場の引けのベルではなく、サーバーの時刻に基づいて開始されます。
   CloseOurPosition(StringFormat("rule 2 - the daily bar %s closed and it is a %s (Wednesday close reached)",
                                 TimeToString(tBar, TIME_DATE), WeekdayName(dtBar.day_of_week)));

週次フロー


図1. EAの1週間のサイクル — これは概略図であり、ターミナルのスクリーンショットでもバックテストデータでもありません。

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

ATRモニター — 日次、週次、月次のレンジ ATRモニター — 日次、週次、月次のレンジ

日次、週次、月次のATR、現在の高値・安値の範囲、ATRに対するその範囲の割合、および各期間の始値からの価格変動を表示します。

SuperTrend Port - Pine Script v6 to MQL5 line by line (PineCompat) SuperTrend Port - Pine Script v6 to MQL5 line by line (PineCompat)

A line-by-line MQL5 port of a Pine Script v6 SuperTrend indicator (ta.supertrend). Each block is tagged with its Pine line. Uses the PineCompat include for ta.atr, so the values follow Pine and not MT5 iATR. Trend lines, direction-change arrows, iCustom buffers and optional closed-bar alerts.

Marginal Drawdown Contribution Analyzer Marginal Drawdown Contribution Analyzer

複数のエキスパートアドバイザーや設定を実行している口座向けのスクリプトです。このスクリプトは、各設定(マジックナンバー、またはマジックナンバーとシンボル)の純結果を暦日ごとに集計し、各設定がポートフォリオのドローダウンにどの程度寄与しているかを測定します。具体的には、「リーブ・ワン・アウト法によるドローダウンの増加分」、「最悪のドローダウンに占める割合」、および「オイラー分散の割合」を算出します。 評価結果、推奨事項、およびA+からFまでのヒューリスティックスコアを出力します。組み込みのデモポートフォリオ上でそのまま実行可能で、純粋なMQL5で記述されています。

GDS レンコ・トレード・マネージャー — MetaTrader 5 GDS レンコ・トレード・マネージャー — MetaTrader 5

MetaTrader 5用の手動取引マネージャー:レンコ・ブリックの表示、設定可能なブレークイーブンおよびトレーリングストップロス、さらにチャート上のレンコ・ダッシュボードを備えています。自動エントリー機能はありません。