資源の読み込みに... 荷物...

アダプティブ・モメンテム・マルティンゲール・トレーディング・システム

作者: リン・ハーンチャオチャン, 日付: 2025-01-06 11:01:12
タグ:SMACNNGAN

img

戦略の概要

この戦略は,適応動量とマルティンゲールポジションマネジメントを組み合わせた完全に自動化された取引システムである.自動エンコーダースムーズ化,CNNシミュレーションのモメント機能抽出,変動性ベースのトレードシグナルフィルタリングを含む市場分析のための複数の技術指標を使用する.システムは,固定得益とストップロスのレベルを通じてリスクと報酬のバランスを維持しながら,マルティンゲール方法を使用してポジションサイズを動的に調整する.

戦略の原則

戦略は3つのコアモジュールに基づいています.

  1. データ事前処理モジュール - SMAを使用して,自動エンコーダーのような価格平滑と市場騒音をフィルターする.
  2. シグナル生成モジュール - CNNの特徴抽出をシミュレートし,長期移動平均値との価格差を計算し,高確率の取引機会をスクリーニングするために波動性値と組み合わせます.
  3. ポジション管理モジュール - マルティンゲール式のポジション調整を実施し,連続した損失の後,ポジションサイズを比例して増加させ,利益後,ベースラインに戻します.

戦略 の 利点

  1. シグナル生成の信頼性 - 複数の技術指標と波動性フィルタリングを通じて取引シグナル品質を向上させる.
  2. 総合的なリスクマネジメント - 利益引き上げ,ストップ・ロスト,最大ポジション制限を含む複数の保護メカニズムを備えています.
  3. 強力な適応性 - 市場の状況に基づいて,ダイナミックに取引戦略を調整する.
  4. 明確な運用論理 - 明確に定義された入出条件は,バックテストと最適化を容易にする.

戦略リスク

  1. マルティンゲルリスク - 連続した損失は,ポジションの急速な成長につながり,厳格な最大ポジション管理を必要とする.
  2. トレンド逆転リスク - 極端な市場変動の間,モメントシグナルが失敗する可能性があります.
  3. パラメータ感度 - 複数のキーパラメータが戦略のパフォーマンスに大きく影響する.

戦略の最適化方向

  1. 信号強化 - 信号の精度を向上させるために機械学習モデルを組み込む.
  2. リスク管理強化 - 引き上げ管理とポジション期間制限を追加する.
  3. 適応性パラメータ - 戦略の安定性を向上させるパラメータ適応メカニズムを開発する.
  4. 複数の資産への適応 - 複数の資産の取引に戦略の適用性を拡大する.

概要

この戦略は,現代の定量的な取引技術とクラシックなマルティンゲール方法を組み合わせて,理論的基盤と実用性の両方を備えた取引システムを作成する.特定のリスクが存在している一方で,適切なパラメータ設定と厳格なリスク管理を通じて,この戦略は仮想通貨市場で安定した収益を達成する約束を示している.


/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Adaptive Crypto Trading Strategy with Martingale", shorttitle = "ACTS_w_MG_V1",overlay=true)

// Inputs
smoothing_length = input.int(14, title="Smoothing Length (Autoencoder)")
momentum_window = input.int(21, title="Momentum Window (CNN)")
volatility_threshold = input.float(0.02, title="Volatility Threshold (GAN Simulation)")
take_profit = input.float(0.05, title="Take Profit (%)")
stop_loss = input.float(0.02, title="Stop Loss (%)")

// Martingale Inputs
base_lot_size = input.float(1, title="Base Lot Size")  // Initial trade size
multiplier = input.float(2, title="Martingale Multiplier")  // Lot size multiplier after a loss
max_lot_size = input.float(2, title="Maximum Lot Size")  // Cap on lot size
var float lot_size = base_lot_size  // Initialize the lot size

// Step 1: Data Smoothing (Autoencoder)
smoothed_price = ta.sma(close, smoothing_length)

// Step 2: Feature Extraction (Momentum - CNN Simulation)
momentum = ta.sma(close, momentum_window) - close
volatility = ta.stdev(close, momentum_window)

// Step 3: Entry Conditions (GAN-Inspired Pattern Detection)
long_condition = (momentum > 0 and volatility > volatility_threshold)
short_condition = (momentum < 0 and volatility > volatility_threshold)

// Martingale Logic
if (strategy.closedtrades > 0)
    if (strategy.closedtrades.profit(strategy.closedtrades - 1) < 0)
        lot_size := math.min(lot_size * multiplier, max_lot_size)  // Increase lot size after a loss, but cap it
    else
        lot_size := base_lot_size  // Reset lot size after a win or on the first trade

// Step 4: Take Profit and Stop Loss Management
long_take_profit = close * (1 + take_profit)
long_stop_loss = close * (1 - stop_loss)
short_take_profit = close * (1 - take_profit)
short_stop_loss = close * (1 + stop_loss)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long, qty=lot_size, stop=long_stop_loss, limit=long_take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=lot_size, stop=short_stop_loss, limit=short_take_profit)



関連性

もっと