MultiStrat Engine EA
- エキスパート
- Julien Favre
- バージョン: 1.0
- アクティベーション: 5
MultiStrat Engine EA は、基本的な黄金律に基づいています。それは、開始されたすべての取引は完全に想定された取引であるということです。 ストップロスがない場合、損失は確定せず、ポジションは均衡点(ゼロポイント)に戻るまで保持されます。
あらゆる種類の金融商品(外国為替、株式、指数、商品)におけるポジション管理を完全に自動化するために設計されたエキスパートアドバイザー(EA)です。28種類以上の取引モード、動的なリスク管理、ブローカー手数料補償システム、比較バックテスト分析用のインタラクティブなHTMLダッシュボードを組み合わせた、非常に豊富なモジュール型アーキテクチャを採用しています。
一般建築
エキスパートアドバイザー(EA)は、買い側と売り側を明確に分離し、それぞれにトレーリングモード、時間枠、ロットサイズ、テイクプロフィット、ストップロス、注文間隔、動的挙動といった独立したパラメータを設定できる仕組みに基づいています。この二重構造により、トレーダーのニーズに応じて、非対称戦略と完全対称戦略を組み合わせることが可能です。
28種類以上の取引方法
買い側:
- BUY_MODE_NONE —シンプルなトレーリングストップ注文と、ポジションごとに固定された個別のTP(テイクプロフィット)を設定して、買いストップ注文を発注します。
- BUY_MODE_NONE_CANDLE —全体純利益がプラスの場合、ローソク足によってグローバルな決済がトリガーされるが、基本的には同じ。
- BUY_CLOSE_CANDLE —合計利益がプラスの場合、新しいローソク足ごとにすべての買いポジションを決済します。
- BUY_CUMUL_SINGLE —仮想累積テイクプロフィット: すべてのBUYポジションのピップ(手数料控除後)の加重合計が、グローバルクローズ前に設定されたTPに達する必要があります。
- BUY_CUMUL_MULTI — CUMUL バリアント: 目標 TP に総取引量 / 基本取引量の比率を乗じることで、ロットの蓄積を補正します。
- BUY_CUMUL_POS —ポジション数に応じた段階的なTP:ポジションが追加されるごとに、設定可能な係数に従ってユニットTPが削減され、最低フロアが設定されます。
- BUY_HEDGE_CANDLE —各BUYエントリーは自動的に比例したサイズのSELLヘッジポジションを生成します。全体的な利益がプラスの場合は、ローソク足で決済されます。
- BUY_HEDGE_SINGLE —自動ヘッジ + 単一の累積TP。
- BUY_HEDGE_MULTI —自動ヘッジ + 累積TP MULTI。
- BUY_HEDGE_SINGLE_ADD_SELL_TP — BUY TPの計算において、SELLヘッジからの変動損失を統合的に補償するシングルヘッジ。
- BUY_HEDGE_MULTI_ADD_SELL_TP —同じ補償額でMULTIをヘッジします。
- BUY_DIRECT_HEDGE —永続的な直接ヘッジ:新しいBUYが実行されると、古いSELLヘッジは新しいものに置き換えられます。SELLヘッジは、 BUYが正常に決済されると自動的に閉じられます。
- BUY_DIRECT_HEDGE_ADD_SELL_TP —買いのTPに売りの損失を含めた直接ヘッジ。
- BUY_DIRECT_HEDGE_ADD_SELL_TP_AUTO_MAX —移動平均線による最大購入価格の自動計算と同一です。
- BUY_PARTIAL_CLOSURE —高度な部分決済システム:メインロットはユニットに分割され、到達したグリッドレベルに応じてヘルパーが段階的に配置され、ヘルパーとメインユニットの合計利益がメイン取引の段階的な減少を引き起こします。
- BUY_LADDER_PROFIT —各ポジションのネットピップが設定されたTP (利益スケール)に達した時点で、各ポジションを個別に決済します。
- BUY_WAVE_RIDING — TPの30%に達したらすぐに決済し、次の波に乗るためにすぐに決済を再開します。
- BUY_VIX_REVERSION — VIX スペシャライゼーション: VIX が平均値への回帰の閾値を超えた場合に決済します。
- BUY_MOMENTUM_BURST — TPの20%で超高速決済を行い、その後、出来高を減らして複数回エントリーし、勢いの高まりを利用します。
- BUY_SCALP_ACCUMULATOR —ポジションごとにTPの15%でスキャルピングを行い、その後すぐに再オープンしてマイクロフラクショナルゲインを蓄積します。
- BUY_VIX_OSCILLATION_MASTER —エントリー価格と現在のVIXレベルに応じて決済ルールが設定される、高度なマルチゾーンVIX管理ツール。
- BUY_PROFIT_COMPOUNDING —増幅された再投資:得られた利益に応じて、再エントリーロットが倍増されます(最大x2まで) 。
- BUY_BREAKOUT_SURFER — M1でのモメンタム検出: TPの70%で決済、ブレイクアウトが検出された場合は条件付き再エントリー。
- BUY_ADAPTIVE_PYRAMID —ボラティリティ(始値の標準偏差)と保有ポジション数に基づいて計算される適応型TP 。
- BUY_GRID_RECOVERY_SMART —インテリジェントなグリッド回復検出:利益がプラスで価格がグリッドの中央値を上回っている場合は決済し、その後、少ないボリュームで再エントリーします。
- BUY_PATIENCE_ACCUMULATOR — TPが時間とともに減少します( 1時間あたり-1 %)。これは、忍耐を促し、長期間保有した取引を補償するためです。
- BUY_FIBONACCI_ZONES —アクティブポジションの始値から計算されたフィボナッチレベルの50%、61.8%、または78.6%で決済します。
- BUY_VOLATILITY_RIDER — ATR M1に基づく適応型TP :ボラティリティが高いほど、利益を迅速に確保するためにTPが低くなります。
- BUY_PROFIT_PYRAMID — TPの60%で個別のピラミッドを閉鎖し、 2つ以上のポジションがアクティブなままの場合は新しいレイヤーを再開します。
SELLモードは完全に左右対称で、SINGLE、MULTI、CANDLE、DIRECT_HEDGE、ADD_BUY_TPなどの独自のバリエーションがあります。
動的グリッドシステム
EAは、各側で2つのバッチ処理方式をサポートしています。
- 固定モード:ロットサイズは、 LotSizeBuy / LotSizeSell パラメータで設定可能です。
- グリッドモード:ベースボリューム×グリッド乗数^Nに従って区画が幾何級数的に増加し、最大ベースボリュームが上限となります。乗数は1.0 (線形グリッド)またはそれ以上(マルチンゲールグリッド)に設定できます。
注文間の距離(DistanceOrderBuy/Sell)と再調整閾値( TrailingDistanceOrderBuy /Sell)は、各ティックまたはローソク足における保留注文の再配置を正確に制御します。
注文管理
ManagePendingOrders機能は、BuyStop、BuyLimit、SellStop、SellLimitを自動的に再配置し、現在の価格から適切な距離を維持します。この機能には、NewOrdersAtHigherPrice(動的)ロジックが組み込まれています。買い注文の「低価格のみ」モードでは、現在の低価格よりも低い注文のみが保持され、価格が近すぎる重複注文は削除されます。保護メカニズムにより、最後に残った注文/ポジションが削除されることはありません。
仲介手数料の自動補償
実際に支払われた手数料(取引履歴に基づく)、累積スワップを計算し、将来の決済手数料を推定します。これらの手数料はMoneyToPointsによってピップに変換され、各ポジションのテイクプロフィット(TP)に自動的に加算されるため( AdjustTPWithRealFees )、各決済が手数料控除後も確実に利益が出るようになります。設定可能なキャッシュシステム(CommissionCacheSeconds)により、再計算が頻繁に行われるのを防ぎます。
自動ヘッジおよびレッグ管理
HEDGE モードでは、新規エントリーごとに反対レッグが自動的に生成されます。DIRECT_HEDGEでは、アクティブな BUY ポジションと同時に維持される SELL レッグは 1 つだけで、新規購入ごとに置き換えられます。勝ちトレードの BUY ポジションの決済( OnTradeTransactionおよびProcessDealTicketで検出)により、関連する SELL レッグの決済が自動的にトリガーされます。ヘッジ ロット比率は、プリセット (1:1、1:2、1:3、1:4、2:1、3:1) またはカスタム値で設定できます。
EDGE仮想信号
ヘッジ取引モードでは仮想シグナルを利用します。従来の指値注文を出す代わりに、エキスパートアドバイザー(EA)は動的なトレーリング機能を備えた内部シグナル(g_buyEdgeVirtualSignalActive)を維持します。このシグナルは価格がそれを上回った場合にのみ実際の取引に変換されるため、誤作動を最小限に抑え、距離制約が変更された場合に自動的に再調整を行うことができます。
最大動的購入価格(MA)
MaximumPurchasePriceSource パラメータは、設定可能な 2 つの移動平均 (期間、 EMA /SMA/SMMA/LWMA メソッド、時間枠) に基づいて、最大購入価格を自動的に計算します。2 つの移動平均の平均は、設定可能なパーセンテージ( MaximumPurchasePriceAutoOffsetPct)でオフセットされ、動的な安全ゾーンが作成されます。チャート上のオレンジ色の線は、現在のレベルを示します。
高度な部分閉鎖システム( PARTIAL_CLOSURE )
この独自のモードでは、各メインロットが最適な単位(SYMBOL_VOLUME_STEP に合わせて調整)に自動的に分割されます。ヘルパー取引は、到達したグリッドレベルに応じて市場に発注されます。profit_helper と main_unit_profit の合計が目標のテイクプロフィットに達すると、ヘルパー取引が決済され、メイン取引の1 単位が減額されます( PositionClosePartial ) 。このサイクルは、メイン取引が完全に決済されるまで繰り返されます。
高度な時間管理
買い側と売り側それぞれに、開始時刻(時と分)を設定可能な独立した時間枠があります。有効性計算(IsValidTradingTime)は、開始時刻から正確なサイクルにトリガーを合わせ、ローソク足内での重複を防ぎます。取引終了後、 「クイックリスタート」ロジックにより、次の完全なアライメントを待つことなく、次のサイクルの前半にエントリーできます。オプションパラメータBlockTradingAroundSessionEdgesは、セッションの開始または終了前後5分間のすべての取引をブロックします。
予算管理と資本保護
CanAffordNextTrade関数は、価格がゼロに戻った場合の総コスト(既存ポジション+新規取引)をシミュレーションし、このコストが割り当てられた資本(バックテストではMaxAccountBalance、ライブ取引ではBackTestStopThreshold)を超えた場合は、新規エントリーをブロックします。この保護メカニズムにより、グリッド構成に関係なく、意図しないマージンコールを防ぐことができます。
期間の除外(架空期間)
最大2つの暦期間を除外できます。エキスパートアドバイザー(EA)は、除外期間中にすべての未決済取引が自然に決済されるまで待機し、その後、新たな取引を停止します。除外された日数は、パフォーマンス統計に悪影響を与えないように、利益が出ない期間の計算から自動的に差し引かれます。
報告システムとHTMLダッシュボード
各バックテストの終了時に、エキスパートアドバイザー(EA)は、OnTesterスコア、月間合計、最大ドローダウン、利益が出なかった日数の最大数、識別パラメータを含むすべての実行結果を記録する累積CSVファイル(backtest_monthly_totals.csv)を生成します。インタラクティブなHTMLダッシュボード( backtest_monthly_totals.html )は、実行ごとに再生成され、月ごとの円グラフ、ランキング表、および2つのスコア(純収益( OnTester)とバランススコア(正規化標準偏差による月間変動のペナルティ))を使用して、すべてのバックテストを視覚的に比較できます。動的フィルター(表示数、変動の重み付け、マイナスの月の除外)は、ブラウザを再読み込みすることなく直接アクセスできます。
自動バックテスト終了の基準
最適化を保護するいくつかの早期停止メカニズム:
- ドローダウンの背景:バランス−エクイティ≥ BackTestStopThreshold の場合に停止します。
- でない暦月: StopIfNonPositiveClosedMonth オプションは、月が≤ € 0で終了するとすぐに停止します。
- 月次スライディングウィンドウフィルター:過去Nヶ月間の利益がMonthlyMinProfitThresholdしきい値を下回る場合は停止します。
- 利益が出ない日数: X 日間連続して利益が出ない場合は停止します(架空期間を除く) 。
リアルタイムグラフィック表示
設定可能なパネル(色、サイズ、位置)には、監視対象の各資産/マジックナンバーについて、未決済の買い/売りポジション数、ブローカー時間、現在のスプレッド、次の注文までの時間、チャート上の水平線によるゼロバランスレベル(ロングとショートの損益分岐点)、および7期間(フロート、日、昨日、7日間、14日間、当月、前月)の損益が動的な緑/赤の色分けでリアルタイムに表示されます。累積モードでは、仮想TPがチャート上の線でプロットされます。
トレーリングストップロス
標準的なトレーリングストップは、 TrailingStartBuy /Sell(ピップ単位の有効化しきい値)とTrailingStopLossBuy/Sell(保持距離)によって、左右それぞれに設定可能です。CUMULモードとHEDGEモードでは、トレーリングはポジションごとではなく、すべての有効なポジションのピップの加重合計に基づいて計算されます。
互換性と構成
- MT5のすべての取引商品(外国為替、CFD株式、指数、商品、 VIX )に対応しています。
- 同じアカウント上で複数のインスタンスが共存できるようにするための設定可能なマジックナンバー。
- で現実的な状況をシミュレートするためのカスタムスプレッド。
- デバッグログは、最適化パフォーマンスへの影響を避けるために、有効/無効を切り替えることができます。
- 起動時にパラメータの一貫性チェックを行い、無効な設定の場合はブロックします。
トレーリングSLは、以下のモードでのみ有効です。
買い側:
- 購入モードなし
- 直接ヘッジを購入する
- BUY_DIRECT_HEDGE_ADD_SELL_TP (ファミリー)
- 買い(累積)
- 複数購入
- ヘッジボルト単体購入
- ヘッジマルチ購入
- ヘッジ買い(単一追加)売り(TP)
- ヘッジマルチ購入・売却TP
- BUY_CUMUL_POS
売り手側:
- 販売モードなし
- 直接ヘッジ販売
- 売り_直接ヘッジ_追加_買い_TP
- 累積売却(単一)
- 累積マルチ売却
- ヘッジシングルを売却
- ヘッジマルチ売却
- SELL_HEDGE_SINGLE_ADD_BUY_TP
- 売りヘッジマルチ追加買いTP
- 販売累計POS
