
Chiến lược này sử dụng đường thẳng EMA và đường thẳng EMA để đánh giá xu hướng và kết hợp với tỷ lệ dừng trước để thực hiện giao dịch theo dõi xu hướng. Chiến lược này có thể được áp dụng cho bất kỳ khoảng thời gian nào và có thể nắm bắt xu hướng của chỉ số và cổ phiếu cá nhân.
Chiến lược này sử dụng các đường EMA dài 3 và 30 làm tín hiệu giao dịch. Khi 3 EMA vượt quá 30 EMA, cho thấy giá bắt đầu tăng, phù hợp với điều kiện mua; Khi 3 EMA vượt quá 30 EMA, cho thấy giá bắt đầu giảm, phù hợp với điều kiện bán.
Trong khi đó, chiến lược cũng thiết lập điều kiện dừng. Khi giá tăng đến mức chiến lược nhập giá theo tỷ lệ dừng được thiết lập, nó sẽ EXIT. Như vậy, bạn có thể khóa nhiều lợi nhuận hơn, để thực hiện giao dịch theo xu hướng.
Chiến lược này nói chung là một chiến lược theo dõi xu hướng rất thực tế. Nó sử dụng chỉ số EMA đơn giản để xác định hướng xu hướng, thiết lập quy tắc dừng hợp lý, có thể kiểm soát rủi ro hiệu quả, phù hợp với việc theo dõi đường dài của cổ phiếu và chỉ số.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true)
// Define input parameters
fastLength = input(3, title="Fast EMA Length")
slowLength = input(30, title="Slow EMA Length")
profitPercentage = input(100.0, title="Profit Percentage")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Buy condition: 3EMA crosses above 30EMA
buyCondition = ta.crossover(fastEMA, slowEMA)
// Sell condition: 3EMA crosses below 30EMA or profit target is reached
sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100))
// Target condition: 50 points profit
//targetCondition = close >= (strategy.position_avg_price + 50)
// Execute orders
// strategy.entry("Buy", strategy.long, when=buyCondition)
// strategy.close("Buy", when=sellCondition )
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// // Execute sell orders
// strategy.entry("Sell", strategy.short, when=sellCondition)
// strategy.close("Sell", when=buyCondition)
// Plot buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)