Strategi Perdagangan Penyu Dual-Tracking

Penulis:ChaoZhang, Tanggal: 2023-12-20 13:37:31
Tag:

img

Gambaran umum

Strategi ini menggunakan dua titik stop loss pelacakan berdasarkan aturan perdagangan penyu untuk membatasi kerugian, sementara menetapkan parameter yang berbeda untuk menyaring kebisingan pasar dan memasuki tren yang lebih jelas.

Logika Strategi

Strategi ini terutama bergantung pada dua titik stop loss pelacakan, long_1 dan long_2, untuk menentukan sinyal masuk. Long_1 melacak tren jangka panjang sementara long_2 melacak jangka pendek. Profit1 dan profit2 bertindak sebagai titik stop loss.

Jika harga di atas long_1, pasar berada dalam tren kenaikan jangka panjang. Jika harga kemudian turun di bawah long_2, ini menunjukkan pullback jangka pendek yang memberikan peluang masuk yang baik untuk pergi panjang. Jika harga di bawah long_1, tidak ada tren jangka panjang yang dikonfirmasi. Tetapi jika harga kemudian melampaui long_2, ini menandakan lompatan jangka pendek dan juga dapat mengambil posisi panjang.

Setelah masuk, dua stop loss pelacakan stoploss1 dan stoploss2 ditetapkan dan dibandingkan dengan profit1 dan profit2 untuk mengambil nilai maksimum, untuk mengunci keuntungan.

Analisis Keuntungan

  • Stop loss dual tracking secara efektif mengontrol risiko dan kunci dalam keuntungan
  • Menggabungkan indikator jangka panjang dan jangka pendek memfilter beberapa kebisingan dan memasuki tren yang lebih jelas
  • Fleksibilitas untuk menyesuaikan konservatisme strategi dengan menyesuaikan parameter

Analisis Risiko

  • Strategi ini konservatif dan bisa kehilangan beberapa kesempatan
  • Pengaturan stop loss yang tidak benar dapat keluar lebih awal
  • Lebih sedikit perdagangan jadi kehilangan tunggal dampak perdagangan bisa besar

Dapat membuat strategi lebih agresif dengan menyesuaikan parameter panjang dan keuntungan untuk lebih banyak perdagangan. Juga mengoptimalkan algoritma stop loss untuk penyesuaian adaptif.

Arahan Optimasi

  • Temukan kombinasi parameter optimal untuk panjang dan keuntungan
  • Eksperimen dengan zigzag atau bayangan berhenti kerugian untuk mengurangi berhenti yang tidak perlu
  • Tambahkan lebih banyak filter entri untuk mendeteksi tren yang lebih kuat
  • Masukkan indikator volume untuk menangkap penyebaran yang sebenarnya

Ringkasan

Ini adalah strategi konservatif secara keseluruhan yang cocok untuk investor yang mencari pertumbuhan yang stabil. Dengan menyesuaikan parameter dan mengoptimalkan algoritma stop loss, agresi dapat meningkat.


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

//@version=4
strategy("Turtle Project",overlay= true)
//-----------------------------------------------------------
entry_1 =  input(55) 
profit_1 =  input(20)             

long_1 = float(na)                                                             
long_1:= if high[entry_1] >= highest(high,entry_1)                   
    high[entry_1]                                                            
else                                                                              
    long_1[1]                                                                   


profit1 = float(na)                                                            
profit1:= if low[profit_1] <= lowest(low,profit_1)                   
    low[profit_1]                                                            
else                                                                            
    profit1[1]                      
//-----------------------------------------------------------
entry_2 =  input(20) 
profit_2 =  input(10)             

long_2 = float(na)                                                             
long_2:= if high[entry_2] >= highest(high,entry_2)                   
    high[entry_2]                                                            
else                                                                              
    long_2[1]                                                                   


profit2 = float(na)                                                            
profit2:= if low[profit_2] <= lowest(low,profit_2)                   
    low[profit_2]                                                            
else                                                                           
    profit2[1]                      
//------------------------------------------------------------
stoploss_1= lowest(low,1) < long_1 and highest(high,1) > long_1
stoploss_2= lowest(low,1) < long_2 and highest(high,1) > long_2 

stop_1 = input(1)/100
stop_2 = input(2)/100

plotchar(stoploss_1, "high1", "▲",location.top,color=color.red )
plotchar(stoploss_2, "high2", "▲",location.top,color=color.blue)


//------------------------------------------------------------
if strategy.position_size == 0
    if low < long_1
        if high < long_1 
            strategy.entry("longlong_4",strategy.long, stop=long_1)

if strategy.position_size == 0    
    if low > long_1
        if high < long_2 
            strategy.entry("longlong_3",strategy.long, stop=long_2)

stoploss1 = float(na)
stoploss1:= stoploss_1 ? strategy.position_avg_price * (1 - stop_1) : stoploss1[1]
stoploss__1 = max(stoploss1,profit1)

if high > long_1 and strategy.position_size > 0
    strategy.exit("exit_1 ","longlong_4",stop=stoploss__1)

stoploss2 = float(na)
stoploss2:= stoploss_2 ? strategy.position_avg_price * (1 - stop_2) : stoploss2[1]
stoploss__2 = max(stoploss2,profit2)

if high > long_2 and strategy.position_size > 0
    strategy.exit("exit_2 ","longlong_3",stop=stoploss__2)
//--------------------------------------------------------------
plot(long_1,color=color.red ,linewidth=3)
plot(long_2,color=color.blue,linewidth=3)

plot(profit1,color=color.red,   linewidth=1)
plot(profit2,color=color.blue,  linewidth=1)

//plot(stoploss__1,style=plot.style_circles, color=color.yellow) 
//plot(stoploss__2,style=plot.style_circles, color=color.yellow) 

plot(stoploss1,style=plot.style_circles, color=color.blue) 
plot(stoploss2,style=plot.style_circles, color=color.red) 
//--------------------------------------------------------------

Lebih banyak