Strategi Perdagangan Penyu adalah strategi mengikuti trend yang menjejaki pecah momentum. Ia dibangunkan oleh peniaga terkenal Richard Dennis pada tahun 1980-an untuk membuktikan bahawa peniaga boleh dididik oleh peraturan dan bukannya dilahirkan. Idea teras strategi adalah untuk mengesan pecah harga dan mengikuti trend, sambil mematuhi prinsip pengurusan wang dengan ketat untuk mengehadkan risiko penurunan.
Strategi Perdagangan Penyu menggunakan dua parameter N dan N/2 untuk membina saluran. Khususnya, ia mengira harga tertinggi dan terendah selama N hari dan N/2 hari yang paling baru. Apabila harga melebihi saluran N hari, kedudukan panjang ditubuhkan. Apabila harga jatuh di bawah saluran N / 2 hari, kedudukan ditutup. Begitu juga, apabila harga memecahkan saluran N hari ke arah ke bawah, kedudukan pendek ditubuhkan, dan ditutup apabila harga meningkat di atas saluran N / 2 hari. Matlamatnya adalah untuk mengikuti trend harga sambil mengawal risiko.
Dalam kod, N sepadan denganenter_slow
dan N/2 sepadan denganenter_fast
. Harga tertinggi (slowL
danfastL
) dan harga terendah (slowS
danfastS
Posisi panjang dibuka apabila harga melebihi saluran 55 hari (enterL2
) dan ditutup apabila harga jatuh di bawah saluran 20 hari (exitL1
Posisi pendek dibuka apabila harga memecahkan saluran 55 hari ke bawah (enterS2
) dan ditutup apabila harga meningkat di atas saluran 20 hari (exitS1
).
Kelebihan terbesar Strategi Perdagangan Penyu adalah kawalan risiko. Dengan menubuhkan kedudukan pada harga pecah dan berhenti dengan cepat pada pullbacks, ia berkesan mengawal kerugian pada perdagangan individu. Penggunaan saiz kedudukan pecahan tetap mengurangkan risiko.
Satu lagi kelebihan adalah pemilihan parameter yang mudah. keseluruhan strategi hanya mempunyai 4 parameter yang mudah difahami dan disesuaikan. parameter itu sendiri juga agak stabil, tanpa memerlukan pengoptimuman yang kerap.
Risiko terbesar Strategi Perdagangan Penyu adalah ketidakupayaan untuk mengesan trend jangka panjang. Ia mungkin terlepas peluang kemasukan apabila trend mula terbentuk. Juga, dalam persekitaran goyangan harga yang bergoyang, strategi akan mencetuskan kemasukan dan keluar yang kerap, meningkatkan kos transaksi dan risiko tergelincir.
Di samping itu, tetapan parameter tetap boleh berfungsi dengan sangat berbeza di antara produk dan rejimen pasaran, yang memerlukan penyesuaian manual berdasarkan pengalaman.
Strategi Perdagangan Penyu boleh ditingkatkan dengan beberapa cara:
Menambah keupayaan penyesuaian kepada parameter N dan N/2 berdasarkan turun naik pasaran dan kekerapan isyarat untuk menjadikan sistem lebih kukuh di seluruh senario.
Menggabungkan peraturan pengesanan trend sebelum memasuki untuk mengelakkan entri yang salah di pasaran yang bergelombang.
Mengambil pendekatan pelbagai jangka masa untuk mengesahkan trend pada tempoh yang lebih tinggi dan memasuki perdagangan pada tempoh yang lebih rendah.
Mengoptimumkan peraturan stop loss dengan trailing stop atau stop berdasarkan masa untuk mengurangkan drawdowns.
Strategi Perdagangan Penyu secara berkesan mengesan trend dengan sistem pecah yang mudah. Kawalan risiko adalah kekuatan terbesarnya, terima kasih kepada hentian cepat dan saiz kedudukan pecahan tetap. Pada masa yang sama, kita melihat pelbagai dimensi di mana strategi dapat diperluaskan dan dioptimumkan untuk memenuhi lebih banyak instrumen dan keadaan pasaran. Secara keseluruhan, ia menyediakan cara yang dikawal risiko untuk menangkap trend harga yang merupakan rujukan penting untuk perdagangan kuantitatif.
/*backtest start: 2022-12-24 00:00:00 end: 2023-12-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //oringinally coded by tmr0, modified by timchep //original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH strategy("Turtles", shorttitle = "Turtles", overlay=true, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100) ////////////////////////////////////////////////////////////////////// // Component Code Start testStartYear = input(2011, "Backtest Start Year") testStartMonth = input(12, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2030, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=false) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Code Stop ////////////////////////////////////////////////////////////////////// shortingEnabled = input(title="Enable Shorting?", type=bool, defval=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] if testPeriod() strategy.entry("fast L", strategy.long, when = enterL1) if not enterL1 strategy.entry("slow L", strategy.long, when = enterL2) strategy.close("fast L", when = exitL1) strategy.close("slow L", when = exitL2) if shortingEnabled and testPeriod() strategy.entry("fast S", strategy.short, when = enterS1) if not enterS2 strategy.entry("slow S", strategy.short, when = enterS2) strategy.close("fast S", when = exitS1) strategy.close("slow S", when = exitS2)