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

GBPUSD 1時間足 RC4サイクル - true 最適化されていないバックテスト


このエキスパートアドバイザーは、4つの独立した取引サブシステム(サイクル1~サイクル4) で構成されるマルチ戦略システムです。各サイクルは、独自のマジックナンバー、指標、エントリートリガー、および独自の資金管理パラメータを用いて動作します。

1. サイクル1のロジック:マルチインジケーターのコンフルエンス

サイクル1は、最大3本の移動平均線(MA)、相対力指数(RSI)、ウィリアムズ・パーセント・レンジ(WPR)を組み合わせた複合フィルターに基づいています。

エントリー・トリガー

中核となる変数 c1_signal は、指標間の競合を防ぐためのバイナリレジスタとして機能します。指標 A が買いシグナルを発した場合、c1_signal は 1 になります。その後、指標 B が売りシグナルを発した場合、c1_signal は 0 にリセットされ、その取引は無効となります。

  • 移動平均1、2、3:

    • 買い条件: 前のバーの終値がMAを上回り、現在のバーの始値がMAを上回る($Close[1] > MA$ かつ$Open[0] > MA$)。

    • 売り条件: 前のバーの終値がMAを下回り、かつ現在のバーの始値がMAを下回っていること($Close[1] < MA$ かつ$Open[0] < MA$)。

  • RSIフィルター:

    • 買い条件: RSIが売られすぎの閾値(RSI_Buy_Level、例:30)を下回る。

    • 売り条件: RSIが買われすぎの閾値(RSI_Sell_Level、例:70)を上回る。

  • WPRフィルター:

    • 買い条件: WPRがWPR_Buy_Level(例:-80)を下回る。

    • 売り条件: WPRがWPR_Sell_Level(例:-20)を上回る。

シグナル処理

  • シグナル反転ルール: Reverse_Signals = true の場合、最終的な買いシグナル(1)は売りシグナル(2)に反転し、その逆も同様です。

  • 1バーにつき1トレードの制約: EAは、現在の始値がc1_open_priceと一致するかどうかを確認します。一致する場合、そのバーではすでにポジションが処理済みであるため、新しいバーが始まるまでそれ以上の執行はブロックされます。

2. サイクル 2 のロジック:エンベロープによるトレンドフォロー

サイクル2では、古典的なデュアルバンド・エンベロープ指標を使用して、市場の構造的なブレイクアウトを特定します。

  • 買いトリガー: 前のバーがアッパーエンベロープバンドより上で引け、現在のバーがその上で始値をつける場合($Close[1] > UpperBand$ かつ$Open[0] > UpperBand$)。これは、強い強気の勢いによるブレイクアウトを想定しています。

  • 売りトリガー: 前のバーの終値が下側エンベロープバンドを下回り、現在のバーの始値がそれを下回る場合($Close[1] < LowerBand$ かつ$Open[0] < LowerBand$)。これは弱気のブレイクダウンを示しています。

  • シグナルの反転: Reverse_Signals2 = true の場合、ブレイクアウトをフェイクアウトの罠として反転させます(ブレイクダウン/ブレイクアウトをフェードさせます)。

3. サイクル3のロジック:エンベロープによる平均回帰

サイクル3はサイクル2と同一のパラメータを追跡しますが、デフォルトのベースライン実行ロジックを反転させ、平均回帰(極端な値からの反転)をターゲットとします。

  • 買いトリガー: 前のバーがアッパーエンベロープバンドを上回って引け、現在のバーがその上で寄り付く場合。ロジック: コードはここで売り シグナルを割り当てます。これは、資産が過度に伸びており、バンド内に引き戻されると想定しているためです。

  • 売りトリガー: 前のバーの終値が下側エンベロープバンドを下回り、現在のバーの始値がそれを下回っている場合。ロジック: コードはここで買い シグナルを割り当て、売られすぎ圏からの即時の反発を予想します。

4. サイクル4のロジック:エンベロープのポイント距離ブレイクアウト

サイクル4では、エンベロープ指標にボラティリティ/ピップ距離の厳格な制約を導入し、アグレッシブなブレイクアウトシステムとして機能します。

  • 買いトリガー: 下側エンベロープバンドと前日終値との距離が、ポイント単位で「Distance」より大きく、かつ 下側エンベロープバンドと現在のビッド価格との距離も「Distance」より大きい場合($LowerBand - Close[1] > Distance$ かつ$LowerBand - Bid > Distance$)。

  • 売りトリガー: 前日の終値と上バンドとの距離、および現在のビッド価格と上バンドとの距離が、いずれも「Distance」を超えていること($Close[1] - UpperBand > Distance$ かつ$Bid - UpperBand > Distance$)。

5. 決済、バスケットのクローズ、およびリスクロジック

エグジット管理の仕組みでは、ポジションごとの標準的なストップロス(SL)やテイクプロフィット(TP)注文は使用しません。その代わりに、サイクルごとにマッピングされた「グローバル口座エクイティ・バスケット追跡システム」を採用しています。

マイルストーンの捕捉

あるサイクルのポジション数が 0 から 1 へ移行したとき(c1_Buycount == 0 または c1_Sellcount == 0 によって追跡)、EA はその時点での取引口座の正確なベースラインエクイティを基準値として設定します:

$$\text{ベースライン・エクイティ} = \text{AccountInfoDouble}(\text{ACCOUNT\_EQUITY})$$

このベースラインを用いて、その特定の取引方向に対する静的なグローバル目標を設定します:

  • 利益確定目標: target_amountが指定されている場合、$\text{Baseline} + \text{target\_amount}$を 割り当てます そうでない場合は、パーセンテージの式を使用します:

    $$\text{目標価格} = \text{ベースライン} + \left(\frac{\text{ベースライン} \times \text{target\_percent}}{100}\right)$$
  • ストップロス目標: 取得したスナップショットのエクイティに対する、パーセンテージベースのドローダウン制約を使用します:

    $$\text{リスク価格} = \text{ベースライン} - \left(\frac{\text{ベースライン} \times \text{口座リスク率}}{100}\right)$$

動的バスケットの検証

各ティックごとに、EAは、その特定のサイクルのマジックナンバーおよび取引タイプ(MyAccountProfit_Buy または MyAccountProfit_Sell)に一致するすべてのアクティブなポジションについて、リアルタイムの未確定損益、スワップ、および手数料の累計を計算します。

$$\text{現在のポートフォリオ価値} = \text{ベースライン・エクイティ} + \text{未実現損益}$$

決済実行

もし$\text{現在のポートフォリオ価値} \ge \text{目標価格}$(利益目標達成)または $\text{現在のポートフォリオ価値} \le \text{リスク価格}$(最大リスク上限超過)の場合:

  1. EAは ClosePositions() を呼び出します。

  2. すべての市場ポジションを、マジックナンバー およびポジションタイプが 一致するものをフィルタリングしながら逆順にループ処理します。

  3. 相関のある取引はすべて、成行注文によって即座に決済されます。

  4. 方向性のサイクルトラッカーは 0 にリセットされ、EAは次の構造的インジケーターシグナルにおいて、完全に新しいベンチマークスナップショットを確立できるよう準備されます。

6. ポジションサイズ決定ロジック(資金管理)

ロット数の計算は、getLots(int cycle) ルーチンによって動的に実行されます。

  • 固定ロット: AutoLotsがfalseの場合、ハードコードされたベースラインのロットサイズ設定(例:LotSize = 0.01)を返します。

  • 動的リスクスケーリング: AutoLotsがtrueの場合、システムはフリーマージンに基づいて取引量を自動的に調整します:

    1. OrderCalcMargin を使用して、現在の資産で標準の 1.0 ロットの取引を処理するために必要な正確な証拠金を照会します。

    2. 以下の式を用いて、許容可能な投資能力を算出します:

      $$\text{予測取引量} = \frac{\text{AccountFreeMargin} \times \left(\frac{\text{Lots\_Risk}}{100}\right)}{\text{1.0ロットあたりの証拠金}}$$
    3. 最終結果は、MathMinおよびMathMaxを使用してブローカーが課す制約に対して制限され、SYMBOL_VOLUME_MINとSYMBOL_VOLUME_MAXの間の有効範囲に正確に収まるよう保証され、取引所の資産ステップサイズ(SYMBOL_VOLUME_STEP)にきれいに四捨五入されます。

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

KCI Volatility Distance KCI Volatility Distance

KCIボラティリティ・ディスタンスは、市場のモメンタムとトレンドの方向性を極めて正確に把握するために、綿密に設計された高度な適応型アルゴリズムです。 独自の行列ベースの計算手法を採用したこのツールは、市場のノイズを動的に排除し、トレンドの強さについて厳密に定量的な視点を提供します。高度に最適化されたオブジェクト指向プログラミング(OOP)コアを基盤として構築されており、取引の可視性を高めるだけでなく、エキスパートアドバイザーや機械学習モジュールへのシームレスな統合も考慮して設計されています。これにより、複数の資産にわたって極めて軽量なCPUパフォーマンスを実現します。

Double Enevlopes (Historical Gauged) Double Enevlopes (Historical Gauged)

ベビーシッター業務管理ツールおよびシステム :D

MA + Envelope Breakouts MA + Envelope Breakouts

エンベロープ・チャネルまたはバンドに基づくブレイクアウト、1つのEAに複数のEAロジックを統合

CKS Position Risk Dashboard CKS Position Risk Dashboard

リスクに基づくロットサイズの決定、口座の健全性、ブローカーの取引量制限、および現在の銘柄別エクスポージャーを確認できる、読み取り専用のMT5ダッシュボード。