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

日利目標を持つ二重移動平均クロスオーバー戦略

作者: リン・ハーンチャオチャン開催日:2024年9月26日 14:50:35
タグ:マルチSMAクロスオーバー

img

概要

この戦略は,固定ストップ・ロストとトレーリング・ストップを組み合わせ,日々の利益目標を組み合わせた二重移動平均クロスオーバーに基づいた日中取引システムである.この戦略は主に,ストップ・ロストと利益目標を通じてリスクを制御し,購入・売却信号を生成するために,高速・遅い移動平均のクロスオーバーを使用する.

戦略の原則

  1. 移動平均計算:この戦略は,ユーザーによって定義された期間に基づいて,速いSMAと遅いSMAを2つのシンプル移動平均 (SMA) を使用します.

  2. 貿易信号生成:

    • 買い信号: 速いSMAが遅いSMAを横切ると発動する.
    • セール・シグナル:高速SMAが遅いSMAを下回るときに起動する.
  3. リスク管理

    • 固定ストップ・ロース:各取引におけるストップ・ロスの固定金額を設定する.
    • トレーリングストップ: 利潤を守るため調整可能なトラリングストップを使用します.
  4. 日々の利益目標:

    • 日々の利益目標を設定し,自動的にポジションを閉じて 達成されたときに取引を停止します
    • 目標を0に設定して無効にすることができます
  5. 視覚化:

    • グラフ上の 移動平均線が 速くて 遅い
    • マーカーを使って 買ったり売ったりする信号を表示します

戦略 の 利点

  1. トレンドフォロー: 移動平均のクロスオーバーを利用して市場のトレンドを把握し,トレンドの開始時に入力するのに役立ちます.

  2. リスク管理: 固定ストップ・ロストとトレリング・ストップを通じて,各取引および全体的なリスクを効果的に制御する.

  3. 利益管理: 日々の利益目標はリスクの暴露を制御し,実現した利益を保護するのに役立ちます.

  4. 柔軟性:利用者は,移動平均期,ストップ損失額,利益目標などの主要なパラメータを,異なる市場状況に適応するように調整することができます.

  5. ビジュアルアシスト:チャート上で直感的に移動平均値と取引信号を表示し,分析とバックテストを容易にする.

戦略リスク

  1. 頻繁な取引: 不安定な市場で過剰な誤った信号を生成し,頻繁な取引と高い手数料につながる可能性があります.

  2. 遅い性質:移動平均値は本質的に遅い指標であり,非常に不安定な市場で遅すぎると反応する可能性があります.

  3. 固定ストップ損失リスク: 固定通貨ストップ損失リスクは,変動する市場では十分に柔軟ではない可能性があります.

  4. 日々の目標の制限: 義務的な日々の目標は,重要な市場機会を逃す可能性があります.

  5. パラメータ感度: 戦略のパフォーマンスはパラメータ設定に非常に敏感であり,頻繁な最適化が必要です.

オプティマイゼーションの方向性

  1. ダイナミックパラメータ調整:市場変動に基づいて移動平均期とストップロスのレベルを自動的に調整することを検討する.

  2. 追加のフィルター: 誤った信号を減らすために,追加の技術的指標や市場情勢指標を導入します.

  3. 時間フィルタリング: 市場開閉などの不安定な時期を避けるために時間フィルタリングを実施します.

  4. ポジションマネジメント: 市場状況と口座パフォーマンスに基づいて取引サイズを調整する動的ポジションサイズを導入する.

  5. 複数のタイムフレーム分析: エントリータイミングの精度を向上するために長期的傾向分析を組み込む.

  6. 機械学習最適化: パラメータ選択と信号生成プロセスを最適化するために機械学習アルゴリズムを使用する.

概要

ダイナミック・パラメータ調整とマルチファクター分析などのより高度な機能の導入により,この戦略はさまざまな市場環境で安定したパフォーマンスを維持する可能性がある.体系的な取引アプローチを求める投資家に,これは考慮すべき貴重な基礎戦略の枠組みとして機能する.


/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("NQ Futures $200/day Strategy", overlay=true)

// Input Parameters
fastLength = input.int(9, title="Fast MA Length")
slowLength = input.int(21, title="Slow MA Length")
dailyTarget = input.float(200, title="Daily Profit Target (Set to 0 to disable)", step=0.01)  
stopLossAmount = input.float(100, title="Stop Loss Amount", step=0.01)
trailOffset = input.float(20, title="Trailing Stop Offset", step=0.01)

// Moving Averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Crossover Conditions for Buy and Sell
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)

// Entry conditions
if (longCondition)
    strategy.entry("Buy", strategy.long)

if (shortCondition)
    strategy.entry("Sell", strategy.short)

// Set Stop Loss and Trailing Stop
if (strategy.opentrades > 0)
    strategy.exit("Exit Long", from_entry="Buy", stop=strategy.position_avg_price - stopLossAmount, trail_offset=trailOffset)
    strategy.exit("Exit Short", from_entry="Sell", stop=strategy.position_avg_price + stopLossAmount, trail_offset=trailOffset)

// Conditional Daily Profit Target (disabled if dailyTarget is 0)
if (dailyTarget > 0 and strategy.netprofit >= dailyTarget)
    strategy.close_all(comment="Daily Target Reached")

// Plotting the moving averages on the main chart
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")

// Plot "Long" and "Short" signals on the main chart
plotshape(series=longCondition, title="Long Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")

// Markers for entry on the price chart
plotshape(series=longCondition, title="Buy Marker", location=location.belowbar, color=color.green, style=shape.triangledown, size=size.small)
plotshape(series=shortCondition, title="Sell Marker", location=location.abovebar, color=color.red, style=shape.triangleup, size=size.small)


関連性

もっと