Strategi Perdagangan Penyu Berdasarkan Rata-rata Bergerak Sederhana

Penulis:ChaoZhang, Tanggal: 2023-12-29 16: 45:51
Tag:

img

Gambaran umum

Strategi ini menghasilkan keuntungan dengan menghitung dua kelompok rata-rata bergerak sederhana dengan parameter yang berbeda dan menggunakannya sebagai sinyal untuk membuka dan menutup posisi. Strategi ini pertama kali diusulkan oleh pedagang Amerika Richard Dennis pada tahun 1983. Dengan mengikuti aturan sederhana, strategi ini mencapai keuntungan yang stabil dan semakin dipopulerkan oleh Curtis Faith, yang dikenal sebagai turtle trading strategy.

Prinsip-prinsip

Strategi ini secara bersamaan menghitung dua kelompok garis cepat dan lambat. Parameter garis cepat ditetapkan menjadi 20 hari untuk posisi pembukaan dan 10 hari untuk posisi penutupan. Parameter garis lambat adalah 55 hari dan 20 hari masing-masing. Ketika harga melintasi di atas nilai tertinggi periode pembukaan garis cepat, itu memicu sinyal panjang. Ketika harga turun di bawah nilai terendah periode pembukaan garis cepat, itu memicu sinyal pendek. Demikian pula, ketika harga turun di bawah nilai terendah periode penutupan garis cepat, itu menutup posisi panjang. Ketika harga melanggar nilai tertinggi periode penutupan garis cepat, itu menutup posisi pendek.

Strategi ini didasarkan pada teori rata-rata bergerak untuk menghasilkan keuntungan. yaitu, ketika rata-rata bergerak jangka pendek melintasi di atas rata-rata bergerak jangka panjang, itu dianggap sinyal bullish. Ketika melintasi di bawah, itu menandakan tren menurun. garis cepat dan lambat dalam strategi ini memainkan peran yang sama.

Keuntungan

  1. Aturan sederhana dan jelas, mudah dimengerti dan diterapkan, cocok untuk pemula;
  2. Kriteria yang jelas untuk membuka dan menutup posisi, menghindari perdagangan yang sering;
  3. Menggabungkan rata-rata bergerak ganda yang cepat dan lambat meratakan fluktuasi harga dan menghasilkan sinyal perdagangan yang lebih jelas;
  4. Penggunaan beberapa set parameter membantu mengendalikan risiko dan mencegah kesalahan perdagangan;
  5. Keuntungan yang stabil dalam jangka panjang, divalidasi dalam perdagangan langsung.

Risiko dan Pengurangan

  1. Strategi itu sendiri bersifat mekanis dan tidak dapat membuat penilaian tentang kondisi pasar khusus, sehingga memiliki keterbatasan keuntungan;
    • Mencoba untuk memasukkan lebih banyak indikator atau model pembelajaran mesin untuk membantu pengambilan keputusan
  2. Rata-rata bergerak sebagai indikator tertinggal memiliki beberapa latensi;
    • Singkatkan periode pembukaan dan penutupan dengan tepat
  3. Tidak dapat membatasi jumlah maksimum.
    • Tentukan titik stop-loss

Arahan Optimasi

  1. Tambahkan modul stop-loss untuk mengontrol drawdown maksimum
  2. Masukkan indikator lain untuk menyaring sinyal
  3. Mengatur parameter rata-rata bergerak secara dinamis
  4. Tambahkan modul pemrosesan data untuk menghilangkan dampak data abnormal
  5. Mengintegrasikan model pembelajaran mesin untuk menentukan tren

Ringkasan

Ini adalah strategi trend-following yang khas. Dengan menetapkan aturan perdagangan berdasarkan rata-rata bergerak ganda yang sederhana dan melacak tren pasar, ia mencapai keuntungan yang stabil. Strategi ini mudah dipahami dan diimplementasikan dengan sinyal pembukaan yang jelas dan keuntungan terverifikasi jangka panjang dari perdagangan langsung, menjadikannya sangat cocok untuk pemula untuk belajar dan meneliti. Ini juga meletakkan dasar untuk perdagangan kuantitatif yang lebih kompleks. Optimasi lebih lanjut dapat menyebabkan kinerja yang lebih baik.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)

fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]

enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]


//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)

strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)

strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef  //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)

Lebih banyak