
Strategi ini menggunakan EMA fast line dan slow line untuk menilai tren, dan digabungkan dengan stop-loss ratio yang sudah ditentukan untuk melakukan perdagangan yang mengikuti tren. Strategi ini berlaku untuk periode waktu yang arbitrer dan dapat menangkap tren pada indeks dan saham individu.
Strategi ini menggunakan garis EMA dengan panjang 3 dan 30 sebagai sinyal perdagangan. Ketika 3 EMA melewati 30 EMA, menunjukkan bahwa harga mulai naik, sesuai dengan kondisi membeli; Ketika 3 EMA melewati 30 EMA, menunjukkan bahwa harga mulai turun, sesuai dengan kondisi menjual.
Strategi ini juga mengatur kondisi stop. Ketika harga naik, strategi akan EXIT setelah harga masuk sesuai dengan proporsi stop yang ditetapkan. Dengan demikian, lebih banyak keuntungan dapat dikunci dan perdagangan mengikuti tren dapat dilakukan.
Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang sangat praktis. Ini menggunakan indikator EMA sederhana untuk menentukan arah tren, mengatur aturan stop-loss yang masuk akal, dapat secara efektif mengendalikan risiko, cocok untuk melacak pergerakan saham dan indeks dalam jangka panjang.
/*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)