Strategi Perdagangan Penyu Berdasarkan Purata Bergerak Sederhana

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

img

Ringkasan

Strategi ini menjana keuntungan dengan mengira dua kumpulan purata bergerak mudah dengan parameter yang berbeza dan menggunakannya sebagai isyarat untuk membuka dan menutup kedudukan. Strategi ini pertama kali dicadangkan oleh peniaga Amerika Richard Dennis pada tahun 1983. Dengan mengikuti peraturan yang mudah, ia mencapai keuntungan yang stabil dan semakin dipopularkan oleh Curtis Faith, yang dikenali sebagai turtle trading strategy.

Prinsip-prinsip

Strategi ini secara serentak mengira dua kumpulan garis pantas dan perlahan. Parameter garis pantas ditetapkan kepada 20 hari untuk kedudukan pembukaan dan 10 hari untuk kedudukan penutupan. Parameter garis perlahan adalah masing-masing 55 hari dan 20 hari. Apabila harga melintasi di atas nilai tertinggi tempoh pembukaan baris pantas, ia mencetuskan isyarat panjang. Apabila harga jatuh di bawah nilai terendah tempoh pembukaan baris pantas, ia mencetuskan isyarat pendek. Begitu juga, apabila harga jatuh di bawah nilai terendah tempoh penutupan baris pantas, ia menutup kedudukan panjang. Apabila harga memecahkan nilai tertinggi tempoh penutupan baris pantas, ia menutup kedudukan pendek. Garis perlahan mempunyai logik yang sama untuk membuka dan menutup kedudukan seperti garis pantas.

Strategi ini bergantung pada teori purata bergerak untuk membuat keuntungan. iaitu, apabila purata bergerak jangka pendek melintasi di atas jangka panjang, ia dianggap sebagai isyarat bullish. Apabila melintasi di bawah, ia menandakan trend menurun. Garis cepat dan perlahan dalam strategi ini memainkan peranan yang sama.

Kelebihan

  1. Peraturan mudah dan jelas, mudah difahami dan dilaksanakan, sesuai untuk pemula;
  2. Kriteria yang jelas untuk membuka dan menutup kedudukan, mengelakkan perdagangan yang kerap;
  3. Menggabungkan purata bergerak berganda yang cepat dan perlahan meratakan turun naik harga dan menghasilkan isyarat perdagangan yang lebih jelas;
  4. Penggunaan pelbagai set parameter membantu mengawal risiko dan mencegah perdagangan yang salah;
  5. Keuntungan yang stabil dalam jangka panjang, disahkan dalam perdagangan langsung.

Risiko dan Pengurangan

  1. Strategi itu sendiri adalah mekanikal dan tidak boleh membuat penilaian mengenai keadaan pasaran khas, dengan itu mempunyai had keuntungan;
    • Cuba memasukkan lebih banyak penunjuk atau model pembelajaran mesin untuk membantu membuat keputusan
  2. Purata bergerak sebagai penunjuk yang ketinggalan mempunyai beberapa latensi;
    • Memendekkan tempoh pembukaan dan penutupan yang sesuai
  3. Tidak dapat mengehadkan pengeluaran maksimum.
    • Tetapkan titik stop-loss

Arahan pengoptimuman

  1. Tambah modul stop-loss untuk mengawal pengeluaran maksimum
  2. Masukkan penunjuk lain untuk menapis isyarat
  3. Sesuaikan parameter purata bergerak secara dinamik
  4. Tambah modul pemprosesan data untuk menghapuskan kesan data yang tidak normal
  5. Menggabungkan model pembelajaran mesin untuk menentukan trend

Ringkasan

Ini adalah strategi trend-mengikut tipikal. Dengan menubuhkan peraturan perdagangan berdasarkan purata bergerak berganda yang mudah dan mengesan trend pasaran, ia mencapai keuntungan yang stabil. Strategi ini mudah difahami dan dilaksanakan dengan isyarat pembukaan yang jelas dan keuntungan yang disahkan jangka panjang dari perdagangan langsung, menjadikannya sangat sesuai untuk pemula untuk belajar dan penyelidikan. Ia juga meletakkan asas untuk perdagangan kuantitatif yang lebih kompleks. Pengoptimuman lanjut boleh membawa kepada prestasi 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 lanjut