
Strategi ini adalah sistem perdagangan pelacakan tren yang didasarkan pada 33 siklus indeks moving average (EMA). Ini mengidentifikasi perubahan tren pasar melalui hubungan silang antara harga dan EMA, dan menggabungkan titik tinggi dan rendah yang berfluktuasi untuk mengatur posisi stop loss, sehingga memungkinkan pelacakan dan pengendalian risiko yang dinamis terhadap tren.
Logika inti dari strategi ini adalah untuk menilai arah tren dengan mengamati hubungan silang antara harga dan 33 siklus EMA. Ketika harga close out menembus dan menstabilkan EMA ke atas, ia akan memicu beberapa sinyal; Ketika harga close out menembus ke bawah dan menembus EMA ke bawah, ia akan memicu sinyal penarikan. Strategi ini menggunakan 14 siklus yang tinggi dan rendah sebagai referensi fluktuasi, dengan setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi setinggi.
Ini adalah strategi pelacakan tren yang terstruktur, logis dan jelas. Dengan menangkap tren melalui EMA silang, mengelola risiko dengan titik tinggi dan rendah yang berfluktuasi, memiliki kepraktisan yang baik. Meskipun ada beberapa keterbatasan yang melekat, tetapi dengan arah optimasi yang disarankan, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest
start: 2024-02-22 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GlenMabasa
//@version=6
strategy("33 EMA Crossover Strategy", overlay=true)
// Input for the EMA length
ema_length = input.int(33, title="EMA Length")
// Calculate the 33-day Exponential Moving Average
ema_33 = ta.ema(close, ema_length)
// Plot the 33 EMA
plot(ema_33, color=color.blue, title="33 EMA", linewidth=2)
// Buy condition: Price crosses and closes above the 33 EMA
buy_condition = ta.crossover(close, ema_33) and close > ema_33
// Sell condition: Price crosses or closes below the 33 EMA
sell_condition = ta.crossunder(close, ema_33) or close < ema_33
// Swing high and swing low calculations
swing_high_length = input.int(14, title="Swing High Lookback")
swing_low_length = input.int(14, title="Swing Low Lookback")
swing_high = ta.highest(high, swing_high_length) // Previous swing high
swing_low = ta.lowest(low, swing_low_length) // Previous swing low
// Profit target and stop loss for buys
buy_profit_target = swing_high
buy_stop_loss = swing_low
// Profit target and stop loss for sells
sell_profit_target = swing_low
sell_stop_loss = swing_high
// Plot buy and sell signals
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy logic for backtesting
if (buy_condition)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Buy", limit=buy_profit_target, stop=buy_stop_loss)
if (sell_condition)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Sell", limit=sell_profit_target, stop=sell_stop_loss)