Sumber daya yang dimuat... Pemuatan...

Strategi Perdagangan Rata-rata Bergerak Dinamis Tiga Periode Larry Williams

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

img

Gambaran umum

Artikel ini memperkenalkan strategi perdagangan berdasarkan Larry Williams tiga periode rata-rata bergerak dinamis. Strategi ini menggunakan dua rata-rata bergerak eksponensial (EMA) untuk menangkap tren harga dan menghasilkan sinyal perdagangan ketika harga penutupan tiga lilin berturut-turut melanggar EMA. Parameter strategi dapat disesuaikan dan cocok untuk pasar dan kerangka waktu yang berbeda.

Prinsip Strategi

  1. Menghitung dua EMA: harga tinggi EMA dan harga rendah EMA dari harga penutupan, dengan periode yang dapat disesuaikan.
  2. Tentukan apakah waktu saat ini berada dalam interval perdagangan yang ditetapkan.
  3. Tentukan apakah tiga lilin terakhir secara berturut-turut ditutup di atas (bullish) atau di bawah (bearish) EMA.
  4. Jika kondisi 3 terpenuhi dan posisi adalah 0, buka posisi panjang; jika kebalikan dari kondisi 3 terpenuhi dan posisi panjang dipegang, tutup posisi.
  5. Tutup posisi pada akhir setiap hari perdagangan jika memegang posisi.

Keuntungan Strategi

  1. Parameter fleksibel: Periode EMA, interval waktu perdagangan, dan parameter lainnya dapat disesuaikan untuk menyesuaikan dengan pasar yang berbeda.
  2. Pelacakan tren: Menggunakan EMA dan arah lilin berturut-turut untuk mengidentifikasi tren, yang membantu menangkap tren pasar.
  3. Stop-loss tepat waktu: Segera menutup posisi ketika harga melewati EMA melawan tren, mengendalikan penarikan.
  4. Penutupan posisi intraday: Penutupan posisi pada akhir setiap hari perdagangan, menghindari risiko overnight.

Risiko Strategi

  1. Risiko pasar yang bergolak: Sering berdagang di pasar tanpa tren dapat menyebabkan kerugian.
  2. Risiko parameter: Kinerja sangat bervariasi dengan parameter yang berbeda di pasar yang berbeda, yang membutuhkan optimalisasi yang ditargetkan.
  3. Risiko celah: Membuka celah dapat menyebabkan slippage dalam harga awal strategi, meningkatkan risiko.

Arah Optimasi Strategi

  1. Filter tren: Gabungkan indikator seperti ATR dan RSI untuk membantu menilai kekuatan tren dan menghindari pasar bergolak.
  2. Optimasi parameter dinamis: Sesuaikan parameter secara dinamis berdasarkan karakteristik pasar terbaru untuk meningkatkan kemampuan beradaptasi.
  3. Manajemen Posisi: Menyesuaikan posisi berdasarkan kekuatan tren dan modal, mengendalikan risiko.
  4. Menggabungkan stop-loss dan profit-taking: Menetapkan tingkat stop-loss yang wajar dan target keuntungan untuk mengurangi risiko perdagangan tunggal.

Ringkasan

Larry Williams' strategi perdagangan rata-rata bergerak tiga periode adalah strategi mengikuti tren berdasarkan EMA ganda dan arah lilin berturut-turut. Dengan optimasi parameter, strategi itu dapat beradaptasi dengan pasar yang berbeda. Namun, strategi itu sendiri relatif sederhana, berkinerja buruk di pasar yang bergolak, dan tidak memiliki langkah-langkah pengendalian risiko, yang membutuhkan optimasi dan perbaikan lebih 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 banyak