
Strategi ini adalah satu sistem pengesanan trend yang berasaskan analisis teknikal, terutamanya menggunakan 50 kitaran purata bergerak indeks ((EMA) dan 200 kitaran purata bergerak sederhana ((MA) untuk menangkap trend pasaran. Strategi ini mengintegrasikan mekanisme hentian hentian yang dinamik untuk mengawal risiko dan mengunci keuntungan dengan menetapkan titik hentian dan titik hentian. Gabungan ini membolehkan strategi untuk menangkap trend besar dan menghentikan kerugian tepat pada masanya apabila keadaan berubah.
Logik teras strategi ini berdasarkan dua penilaian silang garis rata: apabila EMA 50 kitaran ke atas melintasi 200 kitaran MA, sistem menghasilkan isyarat banyak; apabila EMA 50 kitaran ke bawah melintasi 200 kitaran MA, sistem menghasilkan isyarat kosong. Setiap kali membuka kedudukan, sistem akan secara automatik menetapkan titik stop loss untuk masuk ((3 mata di atas harga masuk) dan titik stop loss ((7.5 mata di bawah harga masuk). Selain itu, apabila isyarat berbalik, sistem akan secara automatik melonggarkan kedudukan semasa untuk mencegah arah memegang kedudukan bertentangan dengan trend pasaran.
Strategi ini membina sistem perdagangan yang mengikuti trend yang lengkap dengan menggabungkan sistem silang dua garis sejajar klasik dan mekanisme berhenti berhenti yang dinamik. Kelebihan strategi ini adalah tahap sistematisasi yang tinggi, kawalan risiko yang sempurna, tetapi dalam aplikasi praktikal, penyesuaian yang optimum masih diperlukan berdasarkan keadaan pasaran dan saiz dana tertentu.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("200 MA & 50 EMA Crossover Strategy with **Estimated** SL & TP", overlay=true)
// Parameters for the 200 MA and 50 EMA
ma200 = ta.sma(close, 200) // 200-period simple moving average
ema50 = ta.ema(close, 50) // 50-period exponential moving average
// Plot the MA and EMA on the chart
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ema50, color=color.red, linewidth=2, title="50 EMA")
// Define **estimated** stop loss and take profit values
// SL = 3 points, TP = 7.5 points from the entry price
sl_points = 3
tp_points = 7.5
// Buy signal: when the 50 EMA crosses above the 200 MA (bullish crossover)
if (ta.crossover(ema50, ma200))
strategy.entry("Buy", strategy.long)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Buy", stop=strategy.position_avg_price - sl_points, limit=strategy.position_avg_price + tp_points)
// Sell signal: when the 50 EMA crosses below the 200 MA (bearish crossover)
if (ta.crossunder(ema50, ma200))
strategy.entry("Sell", strategy.short)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Sell", stop=strategy.position_avg_price + sl_points, limit=strategy.position_avg_price - tp_points)
// Optional: Close the position when an opposite signal appears
if (strategy.position_size > 0 and ta.crossunder(ema50, ma200))
strategy.close("Buy")
if (strategy.position_size < 0 and ta.crossover(ema50, ma200))
strategy.close("Sell")