Fisher Turnaround EMA Multi-Take Profit and Multi-Stop Strategy kết hợp chỉ số EMA và tín hiệu Fisher Turn tùy chỉnh để thực hiện các giao dịch theo dõi xu hướng. Nó tạo ra tín hiệu mua khi EMA ngắn hạn vượt qua EMA dài hạn và tín hiệu Fisher Turn lớn hơn 0. Chiến lược đặt ra hai mức lợi nhuận và một mức dừng lỗ động để khóa lợi nhuận và kiểm soát rủi ro. Lợi nhuận đầu tiên là 2xATR, 3xATR thứ hai, và lỗ dừng là 1xATR. Sau khi lấy lợi nhuận đầu tiên được kích hoạt, lỗ dừng sẽ chuyển sang giá nhập cảnh.
Chiến lược chủ yếu dựa trên hai chỉ số kỹ thuật:
Các tín hiệu mua được tạo ra khi EMA thời gian ngắn vượt qua EMA thời gian dài. Ngoài ra, đường tín hiệu Fisher Turn cũng phải lớn hơn 0, cho thấy xu hướng tăng hiện tại.
Các quy tắc lấy lợi nhuận và dừng lỗ là như sau:
Chiến lược có thể được tối ưu hóa bằng cách điều chỉnh các tham số như thời gian EMA, thời gian tín hiệu Fisher Turn và thời gian ATR.
Bằng cách kết hợp các chỉ số theo dõi xu hướng và các chỉ số quản lý rủi ro, chiến lược này có những lợi thế sau:
Ngoài ra còn có một số rủi ro cho chiến lược này:
Những rủi ro này có thể được giảm thiểu thông qua tối ưu hóa tham số, kết hợp các chỉ số khác, can thiệp bằng tay v.v.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Bằng cách thử nghiệm các thiết lập tham số và kết hợp các chỉ số khác nhau, hiệu suất chiến lược có thể được cải thiện liên tục.
Fisher Turnaround EMA Multi-Take Profit and Multi-Stop Strategy tích hợp các điểm mạnh của việc theo dõi xu hướng và quản lý rủi ro. Với tiềm năng lớn về xác minh và tối ưu hóa dài hạn, đây là một chiến lược đầy hứa hẹn.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Eliebf13 //@version=4 strategy("GDAX EMA & Blackflag FTS Strategy with Multiple Take Profits and Dynamic Stop Loss", overlay=true) // Input parameters for Blackflag FTS fts_length = input(14, title="Blackflag FTS Length") atr_length = input(14, title="ATR Length") // GDAX EMA calculation short = ema(close, 12) long = ema(close, 26) // Calculate Blackflag FTS signal line manually up = 0.0 down = 0.0 for i = 0 to fts_length - 1 up := up + (high[i] - low[i]) down := down + (high[i] - low[i]) fts_value = down == 0 ? 100 : 100 - (100 / (1 + (up / down))) // Buy condition: GDAX EMA crossover and Blackflag FTS signal above zero buy_condition = crossover(short, long) and fts_value > 0 // ATR calculation atr_value = atr(atr_length) // Calculate Stop Loss and Take Profit levels stop_loss_level = close - atr_value take_profit_level1 = close + 2 * atr_value take_profit_level2 = close + 3 * atr_value // Sell condition: GDAX EMA crossunder or Blackflag FTS signal below zero sell_condition = crossunder(short, long) or fts_value < 0 // Strategy orders with Multiple Take Profits and Dynamic Stop Loss strategy.entry("Buy", strategy.long, when = buy_condition) // Calculate position size for 50% closure at each take profit level position_size = strategy.position_size target_position_size1 = position_size * 0.5 target_position_size2 = position_size * 1 strategy.exit("Take Profit 1", from_entry="Buy", loss=close, profit=take_profit_level1, qty=target_position_size1) strategy.exit("Take Profit 2/Move Stop Loss", from_entry="Buy", loss=close, profit=take_profit_level2, qty=target_position_size2) // Plot GDAX EMA lines plot(short, color=#6f92ce, linewidth=2, title="Ema 12") plot(long, color=#e08937, linewidth=2, title="Ema 26") // Plot Blackflag FTS signal plot(fts_value, color=color.blue, title="Blackflag FTS Signal") // Plot buy and sell signals on the chart plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal") plotshape(series=sell_condition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")