Neuro Nirvaman戦略
概要
Neuro Nirvaman戦略はMetaTrader 5エキスパートアドバイザー NeuroNirvamanEA の直接変換版です。4つのLaguerre平滑化された正の方向性インジケーター(+DI)と2つのSilverTrendスイングディテクターを組み合わせることで、オリジナルのMQL実装からパーセプトロンベースの決定木を再現します。戦略は完了したローソク足で動作し、ポイントで定義された動的なテイクプロフィットとストップロスレベルで成行注文を送信します。トレーリングストップ、アベレージング、またはピラミッディングは適用されません — いつでも存在できるポジションは1つだけです。
市場入力とインジケーター
- AverageDirectionalIndex(4インスタンス) — 各インスタンスは独自の期間で設定されています。戦略は+DIコンポーネントを読み取り、
[0, 1]の範囲の滑らかなオシレーター値を得るためにLaguerreフィルターを通過させます。 - LaguerrePlusDiState — カスタムインジケーター
laguerre_plusdi.mq5のロジックを再現する内部ヘルパーで、4段階のLaguerre平滑化とCU / (CU + CD)正規化を含みます。 - SilverTrendState(2インスタンス) —
silvertrend_signal.mq5ロジックの忠実なポートです。ブレイクアウトポイントを検出するために最後の10本のローソク足(SSP = 9)を評価し、弱気の矢印で1、強気の矢印で-1、矢印がない場合に0を出力します。 - ローソク足ストリーム — 戦略は
CandleTypeで選択された単一の時間軸を購読し、完了したローソク足のみを処理します。
トレーディングロジック
- シグナルの準備
- 各Laguerre値は
ComputeTensionSignalヘルパーを介して離散的な活性化に変換されます:0.5 + distance/100を超える値は-1を生成し、0.5 - distance/100を下回る値は1を生成し、ニュートラルゾーンは0を生成します。 - SilverTrendスイングはすべてのローソク足で更新されます。リスクパラメーター(
Risk1、Risk2)はMLQインジケーターとまったく同じようにサポート/レジスタンスチャネルを縮小または拡大します。
- 各Laguerre値は
- パーセプトロン
- パーセプトロン1は最初のLaguerre活性化を最初のSilverTrendスイングと
X11 - 100とX12 - 100の重みを使用して混合します。 - パーセプトロン2は2番目のLaguerre活性化を2番目のSilverTrendスイングと
X21 - 100とX22 - 100の重みを使用して混合します。 - パーセプトロン3は3番目と4番目のLaguerre活性化に
X31 - 100とX32 - 100の重みで作用します。
- パーセプトロン1は最初のLaguerre活性化を最初のSilverTrendスイングと
- スーパーバイザー(Passパラメーター)
Pass = 3:パーセプトロン3 > 0を必要とします。パーセプトロン2 > 0の場合も、戦略はTakeProfit2/StopLoss2を使用して買います。そうでなければ、パーセプトロン1 < 0の場合、TakeProfit1/StopLoss1を使用して売ります。Pass = 2:パーセプトロン2 > 0の場合、2番目のリスク制限セットでロングポジションが開かれます。パーセプトロン2 <= 0の場合、最初のリミットセットでショートが開かれます。Pass = 1:パーセプトロン1 < 0の場合、戦略は最初のリスクセットを使用して売ります。そうでなければ、同じリスク設定を使用してロングに行きます。
- 注文管理
- エントリーは
BuyMarketまたはSellMarketで実行され、TradeVolumeパラメーターをロットサイズとして使用します。 - テイクプロフィットとストップロスレベルはシグナルローソク足の終値から計算されます:
entry ± points * PriceStep。それらはオリジナルのMT5保護注文をエミュレートして、高値/安値チェックを通じてすべての完了したローソク足で監視されます。 - 新しいシグナルはポジションがアクティブな間は無視されます;ポジションが閉じられて初めて新しいトレードが評価されます。
- エントリーは
パラメーター
| 名前 | タイプ | デフォルト | 説明 |
|---|---|---|---|
CandleType |
DataType |
15分時間軸 | 計算に使用するローソク足タイプ。 |
TradeVolume |
decimal |
0.1 | ロット単位のポジションボリューム。 |
Risk1, Risk2 |
int |
3 / 9 | チャネル幅を定義するSilverTrendリスクファクター。 |
Laguerre1Period – Laguerre4Period |
int |
14 | 各Laguerre平滑化ストリームのADX長。 |
Laguerre1Distance – Laguerre4Distance |
decimal |
0 | ニュートラルゾーンを定義する0.5しきい値周辺のパーセンテージ(0–100)での距離。 |
X11, X12, X21, X22, X31, X32 |
decimal |
100 | 重み係数;MQLコードは適用前に100を引きます。 |
TakeProfit1, StopLoss1, TakeProfit2, StopLoss2 |
int |
100 / 50 | ポイントで表された保護距離。 |
Pass |
int |
3 | トレーディングに使用するパーセプトロンの組み合わせを選択するスーパーバイザーモード。 |
使用上のノート
- デフォルトの重み(
100)はパーセプトロンを中立化します。戦略を有効にするには、パーセプトロンが非ゼロの出力を生成できるよう重みを100から調整してください。 - SilverTrendの実装はオリジナルのアラートカウントロジック(アラートなし)を尊重し、ローソク足間で状態を維持するため、シグナルはMT5バージョンと一致します。
- テイクプロフィットとストップロスレベルは内部的にシミュレートされるため、完了した各ローソク足の高値/安値はターゲットヒットを確認するために使用されます。ティック間のインタバースパイクはモデル化されません。
- 戦略は単一シンボルであり、複数のインストゥルメントを管理しません。目的の証券に付加し、それに応じてローソク足シリーズを設定してください。
- ロングまたはショートポジションは一度に1つのみ許可されます;ポジションを逆転させると最初に完全なエグジットが強制されます。
展開
- ソリューションをビルドし、StockSharpサンプルランチャーから戦略を実行するか、カスタムプロジェクトに含めます。
- 証券を選択し、ローソク足シリーズを割り当て、パーセプトロンの重みとリスクパラメーターを設定します。
- 戦略を開始し、自動的に作成されたチャートを使用してトレードを監視します(Laguerreインジケーターと自身のディールがエリアに追加されます)。
- 必要に応じて、組み込みパラメーターメタデータ(
SetCanOptimize)を通じて最適化を実行できます。