Sumber dimuat naik... memuat...

Strategi Dagangan Purata Bergerak Dinamik Tiga Tempoh Larry Williams

Penulis:ChaoZhang, Tarikh: 2024-05-11 17:35:22
Tag:EMA

img

Ringkasan

Artikel ini memperkenalkan strategi dagangan berdasarkan Larry Williams purata bergerak dinamik tiga tempoh. Strategi ini menggunakan dua purata bergerak eksponensial (EMA) untuk menangkap trend harga dan menghasilkan isyarat dagangan apabila harga penutupan tiga lilin berturut-turut memecahkan EMA. Parameter strategi boleh disesuaikan dan sesuai untuk pasaran dan jangka masa yang berbeza.

Prinsip Strategi

  1. Mengira dua EMA: harga tinggi EMA dan harga rendah EMA harga penutupan, dengan tempoh yang boleh disesuaikan.
  2. Tentukan sama ada masa semasa berada dalam selang perdagangan yang ditetapkan.
  3. Tentukan sama ada tiga lilin terakhir secara berturut-turut ditutup di atas (bullish) atau di bawah (bearish) EMA.
  4. Jika syarat 3 dipenuhi dan kedudukan adalah 0, buka kedudukan panjang; jika sebaliknya syarat 3 dipenuhi dan kedudukan panjang dipegang, tutup kedudukan.
  5. Penutupan kedudukan pada akhir setiap hari dagangan jika memegang kedudukan.

Kelebihan Strategi

  1. Parameter fleksibel: Tempoh EMA, selang masa dagangan, dan parameter lain boleh disesuaikan untuk menyesuaikan diri dengan pasaran yang berbeza.
  2. Pengesanan trend: Menggunakan EMA dan arah lilin berturut-turut untuk mengenal pasti trend, yang membantu menangkap pasaran trend.
  3. Stop-loss yang tepat pada masanya: Segera menutup kedudukan apabila harga menembusi EMA terhadap trend, mengawal penarikan.
  4. Penutupan kedudukan intraday: Penutupan kedudukan pada akhir setiap hari dagangan, mengelakkan risiko semalam.

Risiko Strategi

  1. Risiko pasaran yang berbelit-belit: Perdagangan yang kerap di pasaran tanpa trend boleh menyebabkan kerugian.
  2. Risiko parameter: Prestasi sangat berbeza dengan parameter yang berbeza di pasaran yang berbeza, yang memerlukan pengoptimuman yang disasarkan.
  3. Risiko jurang: Jurang pembukaan boleh menyebabkan pergeseran dalam harga kemasukan strategi, meningkatkan risiko.

Arahan Pengoptimuman Strategi

  1. Penapis trend: Sertakan penunjuk seperti ATR dan RSI untuk membantu menilai kekuatan trend dan mengelakkan pasaran yang bergolak.
  2. Pengoptimuman parameter dinamik: Sesuaikan parameter secara dinamik berdasarkan ciri-ciri pasaran baru-baru ini untuk meningkatkan kesesuaian.
  3. Pengurusan kedudukan: Penyesuaian kedudukan berdasarkan kekuatan trend dan modal, mengawal risiko.
  4. Menggabungkan stop-loss dan mengambil keuntungan: Tetapkan tahap stop-loss yang munasabah dan sasaran keuntungan untuk mengurangkan risiko perdagangan tunggal.

Ringkasan

Strategi perdagangan purata bergerak dinamik tiga tempoh Larry Williams adalah strategi mengikuti trend berdasarkan EMA berganda dan arah lilin berturut-turut. Dengan pengoptimuman parameter, ia dapat menyesuaikan diri dengan pasaran yang berbeza. Walau bagaimanapun, strategi itu sendiri agak mudah, berprestasi buruk di pasaran yang bergolak, dan tidak mempunyai langkah kawalan risiko, yang memerlukan pengoptimuman dan penambahbaikan lanjut.


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


Berkaitan

Lebih lanjut