Strategi Perdagangan Rata-rata Pergerakan Dinamis Tiga Periode Larry Williams

EMA
Tanggal Pembuatan: 2024-05-11 17:35:22 Akhirnya memodifikasi: 2024-05-11 17:35:22
menyalin: 6 Jumlah klik: 1109
1
fokus pada
1617
Pengikut

Strategi Perdagangan Rata-rata Pergerakan Dinamis Tiga Periode Larry Williams

Ringkasan

Strategi ini menggunakan dua indeks moving average (EMA) untuk menangkap tren harga dan menghasilkan sinyal perdagangan ketika tiga garis K berturut-turut dari harga close out menembus EMA. Parameter strategi ini dapat disesuaikan untuk pasar dan periode yang berbeda.

Prinsip Strategi

  1. Hitung dua EMA: harga tinggi EMA dan harga rendah EMA pada harga close out, dengan periodik yang dapat disesuaikan.
  2. Periksa apakah waktu saat ini berada dalam zona perdagangan yang ditetapkan.
  3. Penjelasan apakah tiga garis K terakhir berturut-turut ditutup di atas EMA (meningkat) atau di bawahnya (menurun).
  4. Jika 3 dibentuk dan posisinya adalah 0, maka membuka lebih banyak posisi; jika sebaliknya 3 dibentuk dan memegang lebih banyak posisi, maka posisi kosong.
  5. Jika Anda memegang posisi pada hari penutupan, maka posisi Anda akan kosong.

Keunggulan Strategis

  1. Fleksibilitas parameter: Siklus EMA, interval waktu perdagangan, dan lain-lain dapat disesuaikan dengan pasar yang berbeda.
  2. Pelacakan tren: Menggunakan EMA dan garis K berurutan untuk menentukan arah tren, membantu menangkap tren.
  3. Stop loss tepat waktu: segera tutup posisi saat EMA terobosan, kontrol mundur.
  4. Penutupan Posisi di Hari: Penutupan Posisi di Hari Akhir, Hindari Risiko Malam Hari

Risiko Strategis

  1. Risiko pasar yang bergoyang: Perdagangan yang sering dapat menyebabkan kerugian ketika tren tidak jelas.
  2. Risiko parameter: Performa parameter yang berbeda dalam pasar yang berbeda sangat berbeda, sehingga perlu dioptimalkan.
  3. Resiko Jump Out: Jump Out dapat menyebabkan strategi untuk membuka posisi dengan harga yang berbeda, meningkatkan risiko.

Arah optimasi strategi

  1. Filter tren: Tambahkan indikator seperti ATR, RSI untuk membantu menentukan kekuatan tren, menghindari pasar goyah.
  2. Optimasi parameter dinamis: menyesuaikan parameter dinamis sesuai dengan karakteristik pasar baru-baru ini, meningkatkan fleksibilitas.
  3. Manajemen posisi: Mengatur posisi sesuai dengan kekuatan dan kelemahan tren dan kondisi keuangan, mengendalikan risiko.
  4. Tambahkan Stop Loss: Tetapkan Stop Loss dan Stop Loss Target yang masuk akal untuk mengurangi risiko transaksi tunggal.

Meringkaskan

Larry Williams Tri-Cycle Dynamic Equalization Trading Strategy adalah strategi pelacakan tren yang didasarkan pada EMA ganda dan arah K-line berkelanjutan, yang dapat disesuaikan dengan pasar yang berbeda melalui pengoptimalan parameter. Namun, strategi itu sendiri relatif sederhana, tidak berkinerja baik di pasar yang bergolak, dan kurangnya langkah-langkah pengendalian angin, yang perlu dioptimalkan dan ditingkatkan lebih lanjut.

Kode 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")