Larry Williams Strategi Dagangan Purata Pergerakan Dinamik Tiga Tempoh

EMA
Tarikh penciptaan: 2024-05-11 17:35:22 Akhirnya diubah suai: 2024-05-11 17:35:22
Salin: 6 Bilangan klik: 1109
1
fokus pada
1617
Pengikut

Larry Williams Strategi Dagangan Purata Pergerakan Dinamik Tiga Tempoh

Gambaran keseluruhan

Artikel ini membentangkan strategi perdagangan berdasarkan Larry Williams Tri-Cycle Moving Average. Strategi ini menggunakan dua indeks Moving Average (EMA) untuk menangkap trend harga, menghasilkan isyarat perdagangan apabila tiga K-Line closing harga memecahkan EMA.

Prinsip Strategi

  1. Hitung dua EMA: harga tinggi EMA dan harga rendah EMA pada harga penutupan.
  2. Menentukan sama ada masa semasa berada dalam zon dagangan yang ditetapkan.
  3. Menentukan sama ada tiga garis K terkini berturut-turut ditutup di atas EMA (meningkat) atau di bawahnya (menurun).
  4. Jika 3 ditubuhkan dan kedudukan adalah 0, maka ia membuka lebih banyak kedudukan; jika sebaliknya 3 ditubuhkan dan memegang lebih banyak kedudukan, maka ia kosong.
  5. Jika anda memegang kedudukan pada hari penutupan, anda akan berada di posisi kosong.

Kelebihan Strategik

  1. Fleksibiliti parameter: kitaran EMA, tempoh masa perdagangan dan lain-lain boleh disesuaikan untuk menyesuaikan diri dengan pasaran yang berbeza.
  2. Pengesanan Trend: Menggunakan EMA dan garis K berturut-turut untuk menentukan arah trend.
  3. Hentikan kerugian tepat pada masanya: Keringkan segera apabila EMA dibentangkan oleh rintangan, mengawal penarikan balik.
  4. Posisi terendah dalam sehari: Posisi terendah pada waktu penutupan, mengelakkan risiko semalam.

Risiko Strategik

  1. Risiko pasaran goyah: Perdagangan yang kerap boleh menyebabkan kerugian apabila trend tidak jelas.
  2. Risiko parameter: Perkembangan parameter yang berbeza dalam pasaran yang berbeza memerlukan pengoptimuman yang disesuaikan.
  3. Risiko Leapfrog: Leapfrog boleh menyebabkan strategi membuka kedudukan dengan harga yang kurang baik, meningkatkan risiko.

Arah pengoptimuman strategi

  1. Penapis Trend: Tambahkan ATR, RSI dan lain-lain untuk membantu menentukan kekuatan trend, dan mengelakkan pasaran goyah.
  2. Pengoptimuman parameter dinamik: menyesuaikan parameter dinamik mengikut ciri pasaran baru-baru ini, meningkatkan daya serap.
  3. Pengurusan Kedudukan: Sesuaikan kedudukan mengikut kekuatan dan kelemahan trend dan keadaan kewangan, mengawal risiko.
  4. Tambah Stop Loss: Tetapkan sasaran Stop Loss dan Stop Loss yang munasabah untuk mengurangkan risiko perdagangan tunggal.

ringkaskan

Larry Williams Tri-Cycle Dynamic Equalization Trading Strategy adalah strategi trend-following yang berdasarkan kepada EMA ganda dan arah K-line berturut-turut, yang boleh disesuaikan dengan pasaran yang berbeza melalui pengoptimuman parameter. Tetapi strategi itu sendiri agak mudah, kurang baik dalam pasaran yang bergolak, dan kekurangan langkah-langkah kawalan angin, yang memerlukan pengoptimuman dan penambahbaikan lebih lanjut.

Kod sumber strategi
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Larry Williams 3 Periodos Editável de MarcosJr", overlay=true, process_orders_on_close=true)

// Parametrização do período do EMA
emaPeriodHighs = input.int(title="Highs Period", defval=3, minval=1, maxval=9999)
emaPeriodLows = input.int(title="Lows Period", defval=3, minval=1, maxval=9999)

// Parametrização da data de início e fim do período a ser coletado
startYear = input.int(title="Start Year", defval=2020)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startDay = input.int(title="Start Day", defval=1, minval=1, maxval=31)

endYear = input.int(title="End Year", defval=2020)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endDay = input.int(title="End Day", defval=31, minval=1, maxval=31)

// Convertendo data de início e fim para timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// EMA
emaH = ta.ema(high, emaPeriodHighs)
emaL = ta.ema(low, emaPeriodLows)

// PLOT:
// Desenha as linhas EMA no gráfico
plot(emaH, color=color.green, linewidth=2)
plot(emaL, color=color.red, linewidth=2)

// Condições
inDateRange = true

// Verifica se houve mais de três candles consecutivos do mesmo sentido
checkThreeConsecutiveCandles = (close[0] > close[1] and close[1] > close[2] and close[2] > close[3]) or (close[0] < close[1] and close[1] < close[2] and close[2] < close[3])

if(close < emaL and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.entry("Long", strategy.long, comment="Long", when=strategy.position_size == 0)
if(close > emaH and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.close("Long", comment="Close Long")

// Fechar a operação no fechamento do pregão
if(strategy.position_size > 0 and na(time_close[0]))
    strategy.close("Long", comment="Close Long")