Chiến lược giao dịch rùa theo dõi hai lần

Tác giả:ChaoZhang, Ngày: 2023-12-20 13:37:31
Tags:

img

Tổng quan

Chiến lược này sử dụng hai điểm dừng lỗ theo dõi dựa trên các quy tắc giao dịch rùa để hạn chế lỗ, trong khi thiết lập các tham số khác nhau để lọc tiếng ồn thị trường và nhập vào các xu hướng rõ rệt hơn.

Chiến lược logic

Chiến lược chủ yếu dựa trên hai điểm dừng lỗ theo dõi, long_1 và long_2, để xác định tín hiệu nhập cảnh. Long_1 theo dõi xu hướng dài hạn trong khi long_2 theo dõi ngắn hạn. Lợi nhuận1 và lợi nhuận2 hoạt động như các điểm dừng lỗ.

Nếu giá cao hơn long_1, thị trường đang trong xu hướng tăng dài hạn. Nếu giá sau đó giảm xuống dưới long_2, nó cho thấy một pullback ngắn hạn cung cấp cơ hội đầu vào tốt để đi dài. Nếu giá thấp hơn long_1, không có xu hướng dài hạn được xác nhận. Nhưng nếu giá sau đó vượt quá long_2, nó báo hiệu một sự bật ngắn hạn và cũng có thể có vị trí dài.

Sau khi nhập, hai lệnh dừng lỗ theo dõi stoploss1 và stoploss2 được thiết lập và so sánh với profit1 và profit2 để lấy giá trị tối đa, để khóa lợi nhuận.

Phân tích lợi thế

  • Hai lần theo dõi dừng lỗ có hiệu quả kiểm soát rủi ro và khóa lợi nhuận
  • Kết hợp cả các chỉ số dài hạn và ngắn hạn lọc ra một số tiếng ồn và đi vào xu hướng rõ rệt hơn
  • Tính linh hoạt để điều chỉnh sự bảo thủ của chiến lược bằng cách điều chỉnh các tham số

Phân tích rủi ro

  • Chiến lược là bảo thủ và có thể bỏ lỡ một số cơ hội
  • Cài đặt stop loss không chính xác có thể thoát sớm
  • Ít giao dịch nên một thương mại thua lỗ tác động có thể lớn

Có thể làm cho chiến lược tích cực hơn bằng cách điều chỉnh các thông số dài và lợi nhuận cho nhiều giao dịch hơn.

Hướng dẫn tối ưu hóa

  • Tìm kết hợp thông số tối ưu cho dài và lợi nhuận
  • Thử nghiệm với các tổn thất dừng zigzag hoặc bóng để giảm dừng không cần thiết
  • Thêm nhiều bộ lọc nhập để phát hiện xu hướng được xác định mạnh hơn
  • Kết hợp các chỉ số khối lượng để bắt được sự đột phá thực sự

Tóm lại

Đây là một chiến lược bảo thủ tổng thể phù hợp với các nhà đầu tư tìm kiếm tăng trưởng ổn định. Bằng cách điều chỉnh các tham số và tối ưu hóa thuật toán dừng lỗ, sự hung hăng có thể được tăng lên.


/*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) 
//--------------------------------------------------------------

Thêm nữa