William Alligator Moving Average Trend Capture Strategy

MA EMA SMMA
Tarikh penciptaan: 2024-05-17 10:52:19 Akhirnya diubah suai: 2024-05-17 10:52:19
Salin: 1 Bilangan klik: 612
1
fokus pada
1617
Pengikut

William Alligator Moving Average Trend Capture Strategy

Gambaran keseluruhan

Strategi menangkap trend William Herschel adalah strategi untuk mengesan trend yang menggabungkan William Herschel dan purata bergerak. Strategi ini menggunakan kedudukan relatif tiga garis William Herschel (gigi, gigi, dan bibir) untuk menentukan arah trend, sambil menggunakan purata bergerak sebagai pengesahan kedua trend. Strategi ini membuka lebih banyak kedudukan apabila harga menembusi purata bergerak dan tiga garis William Herschel menunjukkan urutan kosong.

Prinsip Strategi

Inti strategi menangkap trend William Herschel adalah menggunakan indikator William Herschel dan purata bergerak untuk mengenal pasti dan mengesahkan trend. Indeks William Herschel terdiri daripada tiga garis: garis rahang (Jaw), garis gigi (Teeth) dan garis bibir (Lips), yang masing-masing adalah purata bergerak yang licin pada kitaran yang berbeza (SMMA). Apabila pasaran berada dalam trend menaik, garis bibir berada di atas garis gigi, garis gigi di atas garis rahang; apabila pasaran berada dalam trend menurun, garis bibir berada di bawah garis gigi, garis gigi di bawah garis rahang.

Kelebihan Strategik

  1. Pengesanan Trend: Strategi ini berfungsi untuk mengenal pasti dan menjejaki trend pasaran dengan berkesan dengan menggabungkan Indeks William Herschel dan purata bergerak.
  2. Pengesahan dua kali: Strategi menggunakan mekanisme pengesahan dua kali untuk penunjuk William Herschel dan purata bergerak, yang dapat menyaring kebisingan dengan berkesan, meningkatkan ketepatan pengenalan trend, dan mengurangkan isyarat palsu.
  3. Fleksibiliti parameter: Tetapan parameter strategi agak fleksibel, pengguna boleh menyesuaikan kitaran indikator William Fisher dan kitaran purata bergerak mengikut ciri-ciri pasaran dan gaya perdagangan yang berbeza untuk mengoptimumkan prestasi strategi.
  4. Kebolehgunaan yang luas: Strategi ini digunakan untuk pelbagai pasaran yang mempunyai trend yang kuat, seperti mata wang kripto, forex, niaga hadapan komoditi, dan sebagainya, yang boleh menjadi rujukan untuk pelbagai jenis peniaga.

Risiko Strategik

  1. Pasaran bergolak: Dalam pasaran bergolak, indikator William Herschel dan purata bergerak mungkin memberi lebih banyak isyarat palsu, menyebabkan strategi sering membuka kedudukan rendah dan menjejaskan keuntungan.
  2. Peralihan trend: Strategi ini mungkin bertindak balas dengan perlahan apabila trend berubah, menyebabkan kehilangan masa masuk yang terbaik atau kelewatan keluar, menyebabkan kerugian tertentu.
  3. Optimasi parameter: Prestasi strategi bergantung kepada pilihan parameter, dan pengaturan parameter yang berbeza boleh menyebabkan perbezaan yang besar dalam prestasi strategi, yang memerlukan pengukuran dan pengoptimuman yang mencukupi.
  4. Pengurusan risiko: Strategi ini tidak mempunyai langkah-langkah pengurusan risiko yang jelas, seperti menghentikan kerugian dan pengurusan kedudukan, yang boleh menyebabkan penarikan balik yang lebih besar semasa turun naik pasaran yang kuat.

Arah pengoptimuman strategi

  1. Memperkenalkan penapis kekuatan trend: penambahan penilaian kekuatan trend dalam keadaan pembukaan kedudukan, seperti indikator ADX atau kemerosotan garis rata-rata, untuk menapis isyarat trend yang lebih lemah, meningkatkan kualiti pembukaan kedudukan.
  2. Mengoptimumkan mekanisme keluar: Pertimbangkan untuk menggunakan mekanisme keluar yang lebih sensitif, seperti memperkenalkan ATR stop atau trend line stop, untuk mengunci keuntungan secepat mungkin dan mengurangkan penarikan balik.
  3. Pengoptimuman parameter dinamik: Mengubah parameter William Herschel dan purata bergerak secara dinamik mengikut perubahan keadaan pasaran untuk menyesuaikan diri dengan irama dan ciri-ciri turun naik pasaran yang berbeza.
  4. Menyertai pengurusan risiko: memperkenalkan langkah-langkah pengurusan risiko yang ketat, seperti menetapkan peraturan pengurusan stop loss dan kedudukan yang munasabah untuk mengawal had risiko perdagangan tunggal dan pengeluaran maksimum dari keseluruhan akaun.

ringkaskan

Strategi menangkap trend William Herschel yang selaras membentuk strategi pengesanan trend yang mudah dan berkesan dengan menggabungkan indikator William Herschel dan purata bergerak. Strategi ini sesuai untuk pasaran yang mempunyai trend yang kuat, meningkatkan ketepatan pengenalan trend melalui mekanisme pengesahan ganda. Walau bagaimanapun, strategi ini mungkin tidak berfungsi dengan baik di pasaran yang bergolak, dan kekurangan langkah-langkah pengurusan risiko yang jelas.

Kod sumber strategi
/*backtest
start: 2024-05-09 00:00:00
end: 2024-05-16 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradedots

//@version=5
strategy("Alligator + MA Trend Catcher [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01)

// william alligator
smma(src, length) =>
	smma =  0.0
	smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
	smma

jawLength = input.int(8, minval=1, title="Jaw Length", group = "william alligator settings")
teethLength = input.int(5, minval=1, title="Teeth Length", group = "william alligator settings")
lipsLength = input.int(3, minval=1, title="Lips Length", group = "william alligator settings")
jawOffset = input(8, title="Jaw Offset", group = "william alligator settings")
teethOffset = input(5, title="Teeth Offset", group = "william alligator settings")
lipsOffset = input(3, title="Lips Offset", group = "william alligator settings")
jaw = smma(hl2, jawLength)
teeth = smma(hl2, teethLength)
lips = smma(hl2, lipsLength)

// ma
input_trendline_length = input.int(200, "Trendline Length", group = "moving average settings")
trendline = ta.ema(close, input_trendline_length)

// strategy settings
input_long_orders = input.bool(true, "Long", group = "Strategy Settings")
input_short_orders = input.bool(true, "Short", group = "Strategy Settings")

//long
if close > trendline and lips > teeth and teeth > jaw and input_long_orders and strategy.opentrades == 0
    strategy.entry("Long", strategy.long)
    label.new(bar_index, low, text = "🟢 Long", style = label.style_label_up, color = #9cff87)

if close < trendline and lips < teeth and teeth < jaw
    strategy.close("Long")

//short
if close < trendline and lips < teeth and teeth < jaw and input_short_orders and strategy.opentrades == 0
    strategy.entry("Short", strategy.short)
    label.new(bar_index, high, text = "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)

if close > trendline and lips > teeth and teeth > jaw 
    strategy.close("Short")

//ploting
plot(trendline, "Trendline", color = #9cff87, linewidth = 3)
plot(jaw, "Jaw", offset = jawOffset, color=#b3e9c7)
plot(teeth, "Teeth", offset = teethOffset, color=#c2f8cb)
plot(lips, "Lips", offset = lipsOffset, color=#f0fff1)