
Strategi ini adalah sistem pelacakan tren yang didasarkan pada rata-rata bergerak sederhana 200 periode (MA200) yang menggabungkan indikator teknis seperti RSI yang relatif kuat (RSI), indeks tren rata-rata (ADX) dan rata-rata riak nyata (ATR) untuk membentuk kerangka keputusan perdagangan yang lengkap. Strategi ini memungkinkan pengendalian risiko yang efektif melalui pengaturan target stop loss dan profit yang dinamis. Dari hasil pengamatan, strategi ini memiliki tingkat kemenangan yang lebih baik di beberapa jenis perdagangan, yang menunjukkan adaptasi dan stabilitas yang lebih kuat.
Logika inti dari strategi ini didasarkan pada beberapa poin penting:
Strategi ini membangun sistem pelacakan tren yang kuat dengan menggabungkan beberapa indikator teknis. Strategi ini dirancang dengan fokus pada pengendalian risiko untuk meningkatkan keandalan perdagangan melalui mekanisme stop loss dan konfirmasi sinyal yang dinamis. Meskipun ada beberapa ruang untuk optimasi, secara keseluruhan ini adalah strategi perdagangan yang bernilai praktis.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"TRB_USDT"}]
*/
//@version=5
strategy("BTC/USD MA200 with RSI, ADX, ATR", overlay=true)
// Definition of the main moving average
ma_trend = ta.sma(close, 200) // Main trend filter
// Definition of RSI and ADX
rsi = ta.rsi(close, 14)
[diplus, diminus, adx] = ta.dmi(14, 14) // Correction for ADX
// Definition of ATR for Stop Loss and Take Profit
atr = ta.atr(14)
// Conditions for crossing of the MA200
crossover_condition = ta.crossover(close, ma_trend)
crossunder_condition = ta.crossunder(close, ma_trend)
// Trend confirmation after 2 bars
buy_confirmation = crossover_condition[2] and (rsi > 40) and (adx > 20) and close > ma_trend
sell_confirmation = crossunder_condition[2] and (rsi < 60) and (adx > 20) and close < ma_trend
// Definition of Stop Loss and Take Profit
take_profit = close * 1.02 // 2% profit
stop_loss = close - (1.5 * atr) // Dynamic stop based on ATR
// Execution of orders
if (buy_confirmation and strategy.opentrades == 0)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=take_profit, stop=stop_loss)
label.new(bar_index, high, "BUY", style=label.style_label_down, color=color.green, textcolor=color.white, size=size.normal)
if (sell_confirmation)
if (strategy.opentrades > 0)
strategy.close("Buy")
label.new(bar_index, low, "SELL", style=label.style_label_up, color=color.red, textcolor=color.white, size=size.normal)
// Draw the main moving average
plot(ma_trend, color=color.purple, title="MA 200")