Strategi penjejakan aliran momentum silang berbilang penunjuk digabungkan dengan sistem pengoptimuman henti untung dan henti rugi

SMA AO AC
Tarikh penciptaan: 2024-12-05 16:21:07 Akhirnya diubah suai: 2024-12-05 16:21:07
Salin: 1 Bilangan klik: 364
1
fokus pada
1617
Pengikut

Strategi penjejakan aliran momentum silang berbilang penunjuk digabungkan dengan sistem pengoptimuman henti untung dan henti rugi

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan pengesanan trend yang komprehensif, yang menggabungkan mekanisme pengesahan isyarat pelbagai indikator penyu ((Alligator), indikator goyah dinamik ((AO) dan indikator goyah percepatan ((AC)). Sistem ini mengenal pasti trend pasaran melalui persilangan dan pengesahan trend pelbagai indikator, dan bekerjasama dengan stop loss dinamik untuk menguruskan risiko, untuk mencapai kesan perdagangan yang terkawal.

Prinsip Strategi

Logik teras strategi berasaskan tiga komponen utama:

  1. Sistem penunjuk ikan paus: menggunakan purata bergerak dengan tempoh yang berbeza ((13/8/5), untuk mengesahkan arah trend melalui persilangan garis bibir ((Lips) dan garis gigi ((Teeth)).
  2. Sistem pengesahan momentum: menggabungkan indikator AO dan AC untuk mengesahkan kekuatan trend dengan menilai nilai positif dan negatif kedua-dua indikator.
  3. Sistem pengurusan risiko: menggunakan seting berhenti yang dinamik, berdasarkan titik tertinggi / terendah yang ditetapkan pada 5 garis K yang lalu, dan menggunakan 1: 2 perbandingan keuntungan risiko yang ditetapkan pada titik berhenti.

Keadaan yang mencetuskan pelbagai isyarat:

  • Masuk dengan banyak kepala: memakai garis gigi pada garis bibir + AO positif + AC positif
  • Masuk dengan kepala kosong: memakai garis gigi di bawah garis bibir + AO negatif + AC negatif

Kelebihan Strategik

  1. Mekanisme pengesahan pelbagai isyarat mengurangkan risiko penembusan palsu.
  2. Tetapan Henti Kerosakan Dinamik untuk menyesuaikan diri dengan perubahan turun naik pasaran.
  3. Nisbah risiko dan ganjaran tetap membantu keuntungan yang stabil dalam jangka masa panjang.
  4. Portfolio penunjuk memberi perhatian kepada trend dan juga momentum, meningkatkan ketepatan dagangan.
  5. Sistem ini mempunyai tahap automasi yang tinggi, mengurangkan gangguan penilaian subjektif.

Risiko Strategik

  1. Beberapa indikator boleh menyebabkan isyarat terlewat dan terlepas masa terbaik untuk masuk ke dalam permainan.
  2. Dalam pasaran yang bergolak, isyarat palsu sering berlaku.
  3. Nisbah risiko dan keuntungan yang tetap mungkin tidak sesuai untuk semua keadaan pasaran.
  4. Hentian dinamik mungkin dicetuskan terlalu awal apabila turun naik meningkat.

Arah pengoptimuman strategi

  1. Memperkenalkan mekanisme penyesuaian kadar turun naik dan penyesuaian dinamik nisbah stop loss.
  2. Menambah penapis kekuatan trend untuk mengelakkan perdagangan dalam keadaan trend yang lemah.
  3. Membangunkan sistem klasifikasi persekitaran pasaran yang menggunakan kombinasi parameter yang berbeza dalam keadaan pasaran yang berbeza.
  4. Menyertai mekanisme pengesahan jumlah transaksi untuk meningkatkan kebolehpercayaan isyarat.
  5. Pertimbangkan untuk menggunakan penapis masa untuk mengelakkan tempoh perdagangan yang tidak cekap.

ringkaskan

Strategi ini membina satu sistem perdagangan yang lengkap dengan menggunakan pelbagai petunjuk teknikal secara bersepadu. Sistem ini tidak hanya memberi perhatian kepada ketepatan isyarat, tetapi juga melindungi dana melalui pengurusan risiko yang ketat. Walaupun terdapat risiko ketinggalan tertentu, strategi ini dijangka dapat memperoleh prestasi yang lebih baik melalui arah pengoptimuman yang disyorkan.

Kod sumber strategi
/*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")