Đạt mục tiêu lợi nhuận vào cuối ngày
Khóa tắt:Đóng <= 200 EMA đạt mục tiêu lợi nhuận cuối ngày
Stop loss là 20% phí bảo hiểm tùy chọn.
II. Ưu điểm
Những lợi thế chính của chiến lược này là:
III. Rủi ro
Những rủi ro chính của chiến lược này là:
Các khía cạnh sau đây có thể được tối ưu hóa để giảm các rủi ro trên:
IV. Định hướng tối ưu hóa
Các hướng tối ưu hóa chính cho chiến lược này là:
V. Kết luận
Bài viết này phân tích chi tiết về logic, điểm mạnh, điểm yếu và hướng tối ưu hóa của chiến lược theo xu hướng dựa trên khoảng cách giữa giá và trung bình động 200 ngày. Chiến lược này đánh giá xu hướng trung dài hạn bằng cách theo dõi độ lệch giá so với trung bình động dài hạn. Các vị trí được thiết lập khi độ lệch vượt quá ngưỡng và đóng khi đạt được mục tiêu dừng lỗ hoặc lấy lợi nhuận. Chiến lược này có thể theo dõi xu hướng trung dài hạn tốt nhưng vẫn có một số không gian tối ưu hóa tham số. Những cải tiến trong tương lai có thể được thực hiện từ nhiều góc độ để làm cho chiến lược mạnh mẽ hơn trong các điều kiện thị trường khác nhau.
/*backtest start: 2024-02-22 00:00:00 end: 2024-02-24 06:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Intraday Price Away from 200 EMA Strategy", overlay=true) // Define inputs emaPeriod = input(200, title="EMA Period") thresholdPercent = input(0.75, title="Threshold Percent", minval=0) // Define the threshold percentage // Calculate 200 EMA ema = ema(close, emaPeriod) // Calculate distance from 200 EMA as a percentage distance_percent = ((close - ema) / ema) * 100 // Track average entry price var float avgEntryPrice = na // Buy conditions buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2] // Exit conditions for buy exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close // Sell conditions sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2] // Exit conditions for sell exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close // Execute buy and sell orders only if there are no open trades if strategy.opentrades == 0 strategy.entry("Buy", strategy.long, when=buy_condition) strategy.entry("Sell", strategy.short, when=sell_condition) // Update average entry price for buy condition if buy_condition avgEntryPrice := close // Update average entry price for sell condition if sell_condition avgEntryPrice := close // Close buy position if exit condition is met strategy.close("Buy", when=exit_buy_condition) // Close sell position if exit condition is met strategy.close("Sell", when=exit_sell_condition) // Plot 200 EMA plot(ema, color=color.blue, linewidth=2) // Plot buy and sell signals plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)