Chiến lược xu hướng theo xu hướng xu hướng là một chiến lược giao dịch định lượng dựa trên xu hướng. Nó sử dụng Xu hướng xu hướng xu hướng (EMA) với các khoảng thời gian khác nhau để xác định các tín hiệu vào và ra tiềm năng trong thị trường tiền điện tử. Bằng cách theo dõi các giao thoa giữa các EMA khác nhau, cả pullback và cơ hội vào xu hướng có thể được phát hiện để tối đa hóa lợi nhuận tiềm năng trong khi giảm thiểu rủi ro.
Chiến lược sử dụng bốn EMA với thời gian lần lượt là 8, 12, 24 và 72. Chúng phục vụ như hướng dẫn trực quan trên biểu đồ cho hướng xu hướng. Khi giá đóng phá vỡ EMA chậm hơn, nó báo hiệu cơ hội mua. Khi EMA nhanh hơn phá vỡ những EMA chậm hơn, nó báo hiệu cơ hội bán.
Có hai tín hiệu nhập cảnh:
Có ba tín hiệu ra ngoài:
Lợi thế lớn nhất của chiến lược này là khả năng tận dụng cả cơ hội rút lui và xu hướng. Sử dụng các combo EMA nhanh hơn và chậm hơn ngăn ngừa bị sai hướng bởi biến động ngắn hạn. EMA cũng lọc tiếng ồn giá hiệu quả để nắm bắt xu hướng dài hạn.
Một số rủi ro cần được ngăn ngừa:
Các biện pháp sau đây có thể giúp kiểm soát các rủi ro trên:
Có chỗ cho việc tối ưu hóa thêm:
Nhìn chung, chiến lược theo dõi EMA này tận dụng cả các cơ hội xu hướng và rút lui thông qua các đường chéo EMA cho các mục nhập. Với khả năng cấu hình cao, đơn giản và kiểm soát rủi ro hiệu quả, nó có tiềm năng cao cho hiệu suất cao hơn với điều chỉnh tham số và tinh chỉnh gia tăng.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m 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/ // © moondevonyt //@version=5 strategy("Cornoflower Trend Following Crypto", overlay=true) // Input Settings lenEma8 = input(8, title="Length of 8 EMA") lenEma12 = input(12, title="Length of 12 EMA") lenEma24 = input(24, title="Length of 24 EMA") lenEma72 = input(72, title="Length of 72 EMA") // Calculate the EMAs ema8 = ta.ema(close, lenEma8) ema12 = ta.ema(close, lenEma12) ema24 = ta.ema(close, lenEma24) ema72 = ta.ema(close, lenEma72) // Entry Conditions pullbackEntry = ta.crossover(close, ema12) and ta.crossover(close, ema24) and ta.crossover(close, ema72) initialEntry = ta.crossover(close, ema72) and ta.crossover(ema8, ema12) and ta.crossover(ema8, ema24) // Exit Conditions profitTarget = 100 // Example target in pips, adjust according to your preference trailingStop = 50 // Example trailing stop value in pips, adjust according to your preference exitCondition = ta.crossunder(ema12, ema24) // Execute Strategy if pullbackEntry strategy.entry("Pullback Entry", strategy.long) if initialEntry strategy.entry("Initial Entry", strategy.long) if strategy.position_size > 0 strategy.exit("Profit Target", "Pullback Entry", limit=close + (profitTarget * syminfo.mintick)) strategy.exit("Trailing Stop", "Pullback Entry", stop=close - (trailingStop * syminfo.mintick), trail_points=trailingStop) strategy.exit("Exit Condition", "Initial Entry", stop=close, when=exitCondition) // Plot EMAs plot(ema8, color=color.yellow, title="8 EMA", linewidth=1, style=plot.style_line) plot(ema12, color=color.purple, title="12 EMA", linewidth=1, style=plot.style_line) plot(ema24, color=color.blue, title="24 EMA", linewidth=1, style=plot.style_line) plot(ema72, color=color.rgb(235, 255, 59), title="72 EMA", linewidth=1, style=plot.style_line)