Strategi Trading Turtle adalah strategi pelacakan tren untuk melacak momentum terobosan. Ini dikembangkan oleh pedagang terkenal Richard Dennis pada tahun 1980-an untuk memverifikasi apakah pedagang dapat dibesarkan melalui aturan, bukan secara alami.
Strategi perdagangan berpasir menggunakan dua parameter N dan N / 2 untuk membangun saluran. Secara khusus, menghitung harga tertinggi dan terendah dalam N hari dan N / 2 hari terakhir masing-masing. Didirikan posisi multihead ketika harga melebihi saluran N hari, posisi kosong ketika harga turun di saluran N / 2 hari; posisi kosong ketika harga turun di saluran N hari, posisi kosong ketika harga melebihi saluran N / 2 hari.
Dalam kode, N sesuaienter_slow
, N/2 sesuaienter_fast
│ harga tertinggi dalam 55 hari terakhir dan 20 hari terakhir, masing-masingslowL
DanfastL
Harga Minimallowest(
slowS和
fastS)。当价格超过55天通道时做多(
enterL2),当价格跌破20天通道时平多仓(
exitL1);当价格跌破55天通道时做空(
enterS2),当价格超过20天通道时平空仓(
exitS1`)。
Keuntungan terbesar dari strategi perdagangan pantai adalah pengendalian risiko. Dengan membangun posisi saat harga terobosan, dengan cepat menghentikan kerugian saat harga mundur, Anda dapat secara efektif mengendalikan kerugian tunggal.
Kelebihan lainnya adalah pilihan parameter yang sederhana. Strategi ini hanya memiliki 4 parameter, mudah dipahami dan disesuaikan. Parameter itu sendiri juga relatif stabil, tidak perlu sering dioptimalkan.
Risiko terbesar dari strategi perdagangan acuan adalah ketidakmampuan untuk mengikuti tren jangka panjang. Strategi ini mungkin kehilangan peluang masuk ketika tren mulai terbentuk. Selain itu, strategi ini akan sering membuka posisi kosong dalam tren tren harga, meningkatkan biaya perdagangan dan risiko slippage.
Selain itu, pengaturan parameter tetap juga dapat sangat bervariasi dalam berbagai varietas dan lingkungan pasar. Ini membutuhkan pengalaman manual untuk menyesuaikan.
Strategi perdagangan berlian dapat dioptimalkan dalam beberapa hal:
Menambahkan fungsi penyesuaian parameter. Mengizinkan parameter N, N / 2 untuk menyesuaikan secara otomatis sesuai dengan volatilitas pasar dan frekuensi sinyal, untuk menyesuaikan lebih banyak skenario.
Menambahkan aturan penilaian tren. Menentukan arah tren sebelum masuk, menghindari masuk yang salah dalam kondisi harga yang bergejolak.
Menggabungkan beberapa strategi unity periode waktu. Menentukan arah tren pada periode waktu yang lebih tinggi, masuk pada periode waktu yang lebih rendah.
Optimalkan strategi stop loss. Trailing stop loss atau time stop loss, mengurangi mundur.
Strategi perdagangan penyu memungkinkan pelacakan tren yang efektif melalui sistem yang mudah untuk menerobos. Kontrol risiko adalah keunggulan terbesar dari strategi ini, berkat penghentian cepat dan pengelolaan dana tetap. Pada saat yang sama, kita juga melihat bahwa strategi ini dapat diperluas dan dioptimalkan dari berbagai dimensi untuk menyesuaikan lebih banyak varietas dan lingkungan pasar.
/*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)