
Chiến lược này là một hệ thống giao dịch theo dõi xu hướng dựa trên sự giao thoa của đường trung bình di chuyển (EMA) nhanh và chậm. Nó tạo ra tín hiệu mua và bán đáng tin cậy hơn bằng cách xác nhận mối quan hệ giữa giá và vị trí của hai đường trung bình.
Chiến lược sử dụng EMA 10 chu kỳ và 20 chu kỳ làm chỉ số cốt lõi. Khi EMA nhanh đi lên vượt qua EMA chậm và giá đóng cửa nằm trên hai đường trung bình, kích hoạt nhiều tín hiệu; Khi EMA nhanh đi xuống vượt qua EMA chậm và giá đóng cửa nằm dưới hai đường trung bình, kích hoạt tín hiệu trống.
Đây là một chiến lược theo dõi xu hướng có cấu trúc rõ ràng, logic nghiêm ngặt. Thông qua cơ chế xác nhận giá kết hợp với sự xác nhận giá, hiệu quả cân bằng giữa tính kịp thời và độ tin cậy của tín hiệu. Chiến lược có khả năng mở rộng tốt, có thể nâng cao hiệu suất hơn nữa bằng cách tối ưu hóa.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BNB_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BFXGold
//@version=5
strategy("BFX Buy and Sell", overlay=true)
// Inputs
ema_fast_length = input.int(10, title="Fast EMA Length")
ema_slow_length = input.int(20, title="Slow EMA Length")
// Calculate EMAs
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
// Confirmation candles
confirmation_above = close > ema_fast and close > ema_slow
confirmation_below = close < ema_fast and close < ema_slow
// Crossovers with confirmation
long_condition = ta.crossover(ema_fast, ema_slow) and confirmation_above
short_condition = ta.crossunder(ema_fast, ema_slow) and confirmation_below
// Plot signals
if (long_condition )
label.new(bar_index, low, text="BUY", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white)
if (short_condition)
label.new(bar_index, high, text="SELL", style=label.style_label_down, color=color.new(color.red, 0), textcolor=color.white)
// Strategy execution for backtesting
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Plot EMAs
plot(ema_fast, title="Fast EMA (10)", color=color.blue, linewidth=1)
plot(ema_slow, title="Slow EMA (20)", color=color.orange, linewidth=1)