
Strategi ini menggunakan garpu emas dan garpu mati EMA untuk menilai trend, dan digabungkan dengan nisbah berhenti yang telah ditetapkan untuk perdagangan trend. Strategi ini boleh digunakan untuk tempoh masa yang boleh diambil untuk menangkap trend indeks dan saham individu.
Strategi ini menggunakan garis EMA dengan panjang 3 dan 30 sebagai isyarat perdagangan. Apabila 3 EMA di atas 30 EMA, menunjukkan bahawa harga mula naik, memenuhi syarat untuk membeli; apabila 3 EMA di bawah 30 EMA, menunjukkan bahawa harga mula turun, memenuhi syarat untuk menjual.
Strategi ini juga menetapkan syarat hentian. Apabila kenaikan harga mencapai harga masuk strategi mengikut peratusan hentian yang ditetapkan, maka EXIT akan dilakukan. Ini dapat mengunci lebih banyak keuntungan, untuk melakukan perdagangan mengikut trend.
Strategi ini secara keseluruhan merupakan strategi trend-tracking yang sangat praktikal. Ia menggunakan petunjuk EMA yang mudah untuk menentukan arah trend, menetapkan peraturan berhenti yang munasabah, yang dapat mengawal risiko dengan berkesan, sesuai untuk mengikuti pergerakan saham dan indeks dalam talian panjang. Dengan pengoptimuman parameter dan pengesahan petunjuk yang disertakan, anda dapat meningkatkan lagi kestabilan strategi dan Faktor Keuntungan.
/*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)