
Strategi ini adalah sistem perdagangan mengikuti tren yang menggabungkan sinyal persilangan rata-rata pergerakan dengan manajemen risiko dinamis. Ia menggunakan rata-rata pergerakan eksponensial (EMA) cepat dan lambat untuk mengidentifikasi tren pasar dan menggabungkannya dengan indikator Average True Range (ATR) untuk mengoptimalkan waktu masuk. Pada saat yang sama, strategi tersebut memadukan tiga mekanisme perlindungan: persentase stop loss, target profit, dan trailing stop loss.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Ini adalah strategi mengikuti tren yang dirancang dengan baik dan jelas secara logis. Dengan menangkap tren melalui persilangan rata-rata pergerakan, menggunakan ATR untuk mengendalikan risiko, dan berkoordinasi dengan berbagai mekanisme stop-loss, sistem perdagangan yang lengkap terbentuk. Keuntungan utama dari strategi ini adalah pengendalian risiko yang komprehensif dan tingkat penyesuaian yang tinggi, tetapi dalam perdagangan nyata, Anda perlu memperhatikan masalah sinyal palsu dan biaya transaksi. Melalui arahan pengoptimalan yang disarankan, masih ada ruang untuk perbaikan strategi lebih lanjut.
/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jesusperezguitarra89
//@version=6
strategy("High Profit Buy/Sell Signals", overlay=true)
// Parámetros ajustables
fastLength = input.int(5, title="Fast EMA Length")
slowLength = input.int(20, title="Slow EMA Length")
atrLength = input.int(10, title="ATR Length")
atrMultiplier = input.float(2.5, title="ATR Multiplier")
stopLossPercent = input.float(1.0, title="Stop Loss %")
takeProfitPercent = input.float(5.0, title="Take Profit %")
trailingStop = input.float(2.0, title="Trailing Stop %")
// Cálculo de EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Cálculo del ATR
atr = ta.atr(atrLength)
// Señales de compra y venta
longCondition = ta.crossover(fastEMA, slowEMA) and close > slowEMA + atrMultiplier * atr
shortCondition = ta.crossunder(fastEMA, slowEMA) and close < slowEMA - atrMultiplier * atr
// Dibujar señales en el gráfico
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Estrategia de backtesting para marcos de tiempo en minutos
if longCondition
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit", from_entry="Buy", limit=close * (1 + takeProfitPercent / 100), stop=close * (1 - stopLossPercent / 100), trail_points=atr * trailingStop)
if shortCondition
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit", from_entry="Sell", limit=close * (1 - takeProfitPercent / 100), stop=close * (1 + stopLossPercent / 100), trail_points=atr * trailingStop)
// Mostrar EMAs
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.orange, title="Slow EMA")