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

多指標クロスオーバーモメントトレンド 戦略をフォローし,最適化された利益とストップ・ロスのシステム

作者: リン・ハーンチャオチャン開催日:2024年12月5日 16:21:07
タグ:SMAAOAC

img

概要

この戦略は,アライガター指標,Awesome Oscillator (AO),Accelerator Oscillator (AC) を含む複数のシグナル確認メカニズムを組み合わせた包括的なトレンドフォロー取引システムです.このシステムは,複数の指標クロスオーバーとトレンド確認を通じて市場のトレンドを特定し,リスク管理のためのダイナミックな利益とストップロスのメカニズムと組み合わせます.

戦略の原則

基本的な論理は3つの主要要素に基づいています

  1. アリガターシステム:異なる期間の移動平均値 (13/8/5) を用いて,LipsとTeethラインクロスオーバーを通じてトレンド方向を確認します.
  2. モメント 確認システム: AO と AC 指標を組み合わせ,その正/負の値を通じてトレンド強さを確認します.
  3. リスクマネジメントシステム: 5 期間の高低点に基づいて動的ストップ・ロスの設定を使用し,得益レベルではリスク・リターン比は 1:2 です.

複数の信号のトリガー条件:

  • 長い入口:唇が歯の上に交差する + ポジティブなAO + ポジティブなAC
  • 短いエントリー: 唇が歯の下を交差する + 負のAO + 負のAC

戦略 の 利点

  1. 複数の信号の確認メカニズムは 誤った突破のリスクを軽減します
  2. ダイナミックストップ・ロスの設定は,市場の変動に適応する.
  3. 固定リスク/リターン比は長期的に安定した収益性を助長します
  4. インディケーターの組み合わせはトレンドとモメンタムの両方を考慮し,取引の精度を向上させます.
  5. 高度なシステム自動化により 主観的な判断の干渉が減少します

戦略リスク

  1. 複数の指標が遅れた信号を誘発し,最適なエントリーポイントが欠けている場合もあります
  2. 市場が違う場合 頻繁に誤った信号を出す可能性があります
  3. 固定リスク・リターン比は全ての市場条件に合わないかもしれない.
  4. ダイナミックストップ・ロスは 変動が急増するときに 早く引き起こす可能性があります

戦略の最適化方向

  1. 動的リスク・リターン比調整のための変動適応メカニズムを導入する.
  2. トレンド強度フィルターを追加し,弱いトレンド環境での取引を避ける.
  3. パラメータ最適化のための市場条件分類システムを開発する.
  4. 信号の信頼性を向上させるため,音量確認メカニズムを組み込む.
  5. 不効率な取引期間を避けるために時間フィルターを導入することを検討します.

概要

この戦略は,複数の技術指標の包括的な使用を通じて完全な取引システムを確立する.このシステムは,信号の正確性だけでなく,資本保護のための厳格なリスク管理も強調する.一定の遅れリスクがある一方で,この戦略は,提案された最適化方向性を通じてより良いパフォーマンスの約束を示している.安定したリターンを求める投資家に適している.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Alligator with AO and AC Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ---------------------------- Индикатор Аллигатор ----------------------------

// Параметры Аллигатора
jawLength = input.int(13, title="Jaw Length")
teethLength = input.int(8, title="Teeth Length")
lipsLength = input.int(5, title="Lips Length")

jawOffset = input.int(8, title="Jaw Offset")
teethOffset = input.int(5, title="Teeth Offset")
lipsOffset = input.int(3, title="Lips Offset")

// Расчёт скользящих средних
jawLine = ta.sma(close, jawLength)
teethLine = ta.sma(close, teethLength)
lipsLine = ta.sma(close, lipsLength)

// Сдвиг линий
jaw = jawLine[jawOffset]
teeth = teethLine[teethOffset]
lips = lipsLine[lipsOffset]

// Отображение линий Аллигатора
plot(jaw, color=color.blue, linewidth=2, title="Jaw (13,8)")
plot(teeth, color=color.red, linewidth=2, title="Teeth (8,5)")
plot(lips, color=color.green, linewidth=2, title="Lips (5,3)")

// ---------------------------- Awesome Oscillator (AO) ----------------------------

// Расчёт AO
medianPrice = (high + low) / 2
ao = ta.sma(medianPrice, 5) - ta.sma(medianPrice, 34)

// Отображение AO
hline(0, "Zero Line", color=color.gray)
plot(ao, title="Awesome Oscillator", color=(ao >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2)

// ---------------------------- Accelerator Oscillator (AC) ----------------------------

// Расчёт AC
ac = ao - ta.sma(ao, 5)

// Отображение AC
plot(ac, title="Accelerator Oscillator", color=(ac >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2)

// ---------------------------- Логика сигналов и управление позицией ----------------------------

// Условия для открытия длинной позиции
longCondition = ta.crossover(lips, teeth) and ao > 0 and ac > 0
if (longCondition)
    // Определение уровней stop-loss и take-profit
    stopLevel = ta.lowest(low, 5) // Минимум за последние 5 свечей
    takeProfit = close + (close - stopLevel) * 2 // Соотношение риска к прибыли 1:2

    // Открытие длинной позиции
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfit, stop=stopLevel)

// Условия для открытия короткой позиции
shortCondition = ta.crossunder(lips, teeth) and ao < 0 and ac < 0
if (shortCondition)
    // Определение уровней stop-loss и take-profit
    stopLevelShort = ta.highest(high, 5) // Максимум за последние 5 свечей
    takeProfitShort = close - (stopLevelShort - close) * 2 // Соотношение риска к прибыли 1:2

    // Открытие короткой позиции
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit Short", "Short", limit=takeProfitShort, stop=stopLevelShort)

// Отображение уровней на графике
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


関連性

もっと