
Strategi ini adalah sistem perdagangan pelacakan tren yang komprehensif, menggabungkan beberapa indikator teknis untuk mengidentifikasi tren dan dinamika pasar, sekaligus mengintegrasikan mekanisme manajemen risiko dinamis. Strategi ini mengkonfirmasi sinyal perdagangan melalui kombinasi sinergis antara crossover rata-rata, indeks relatif kuat (RSI) dan dispersi tren rata-rata bergerak (MACD), dan menggunakan indikator amplitudo real-time (ATR) untuk secara dinamis menyesuaikan posisi stop loss, untuk mencapai manajemen risiko adaptif.
Logika inti dari strategi ini didasarkan pada verifikasi silang dari beberapa indikator teknis. Pertama, identifikasi potensi titik pivot tren melalui persilangan indeks bergerak cepat (EMA20) dengan indeks bergerak lambat (EMA50). Kedua, menggunakan indikator RSI untuk memastikan apakah harga berada di zona overbought atau oversold, sehingga menghindari perdagangan di zona berlawanan ekstrem.
Ini adalah strategi pelacakan tren yang dirancang dengan baik, meningkatkan keandalan sinyal perdagangan dengan sinergi dari beberapa indikator teknis, dan dilengkapi dengan sistem manajemen risiko profesional. Strategi ini sangat terukur, baik untuk perdagangan intraday, maupun untuk menangkap tren jangka panjang. Dengan arah optimasi yang disarankan, strategi ini masih memiliki ruang untuk peningkatan lebih lanjut.
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1h
basePeriod: 1h
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/
// © blockchaindomain719
//@version=6
strategy("The Money Printer v2", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)
// === INPUTS ===
ema1_length = input(20, "Fast EMA")
ema2_length = input(50, "Slow EMA")
rsi_length = input(14, "RSI Length")
rsi_overbought = input(70, "RSI Overbought")
rsi_oversold = input(30, "RSI Oversold")
macd_fast = input(12, "MACD Fast")
macd_slow = input(26, "MACD Slow")
macd_signal = input(9, "MACD Signal")
atr_length = input(14, "ATR Length")
atr_mult = input(2.5, "ATR Multiplier for Stop-Loss")
trailing_mult = input(3.5, "Trailing Stop Multiplier")
use_volume = input(true, "Use Volume Filter?")
volume_mult = input(2.0, "Min Volume Multiplier")
capital_risk = input(2.0, "Risk Per Trade (%)") / 100
// === CALCULATE INDICATORS ===
ema1 = ta.ema(close, ema1_length)
ema2 = ta.ema(close, ema2_length)
rsi = ta.rsi(close, rsi_length)
macd_line = ta.ema(close, macd_fast) - ta.ema(close, macd_slow)
macd_signal_line = ta.ema(macd_line, macd_signal)
macd_hist = macd_line - macd_signal_line
atr = ta.atr(atr_length)
volume_filter = not na(volume) and volume > ta.sma(volume, 20) * volume_mult
// === ENTRY CONDITIONS ===
longEntry = ta.crossover(ema1, ema2) and rsi > rsi_oversold and macd_hist > 0 and (not use_volume or volume_filter)
shortEntry = ta.crossunder(ema1, ema2) and rsi < rsi_overbought and macd_hist < 0 and (not use_volume or volume_filter)
// === DYNAMIC RISK MANAGEMENT ===
capital = strategy.equity
risk_amount = capital * capital_risk
trade_size = risk_amount / math.max(atr * atr_mult, 1)
// Stop-Loss & Trailing Stop Calculation
longSL = close - (atr * atr_mult)
shortSL = close + (atr * atr_mult)
longTS = close - (atr * trailing_mult)
shortTS = close + (atr * trailing_mult)
// === EXECUTE TRADES ===
if longEntry
strategy.entry("Long", strategy.long, qty=trade_size)
strategy.exit("Trailing Stop", from_entry="Long", stop=longTS)
if shortEntry
strategy.entry("Short", strategy.short, qty=trade_size)
strategy.exit("Trailing Stop", from_entry="Short", stop=shortTS)
// === ALERTS ===
alertcondition(longEntry, title="BUY Signal", message="💎 Money Printer Bot: Buy Now!")
alertcondition(shortEntry, title="SELL Signal", message="🔥 Money Printer Bot: Sell Now!")
// === PLOTTING INDICATORS ===
plot(ema1, title="Fast EMA", color=color.blue, linewidth=2)
plot(ema2, title="Slow EMA", color=color.orange, linewidth=2)
// RSI Indicator
hline(rsi_overbought, "RSI Overbought", color=color.red)
hline(rsi_oversold, "RSI Oversold", color=color.green)
plot(rsi, title="RSI", color=color.purple)
// MACD Histogram
plot(macd_hist, title="MACD Histogram", color=color.green, style=plot.style_columns)
// ATR Visualization
plot(atr, title="ATR", color=color.gray)
// Buy & Sell Markers
plotshape(series=longEntry, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY")
plotshape(series=shortEntry, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL")