Strategi ini adalah sistem perdagangan yang menggabungkan sinyal EMA crossover dengan manajemen risiko dinamis. Strategi ini menggunakan Rata-rata Gerak Eksponensial (EMA) yang cepat dan lambat untuk mengidentifikasi tren pasar dan menggabungkan indikator Average True Range (ATR) untuk mengoptimalkan waktu masuk. Strategi ini juga mengintegrasikan tiga lapisan perlindungan: stop loss berbasis persentase, take profit, dan trailing stop.
Logika inti didasarkan pada elemen kunci berikut:
Ini adalah tren yang dirancang dengan baik mengikuti strategi dengan logika yang jelas. Ini menangkap tren melalui crossover EMA, mengelola risiko menggunakan ATR, dan menggabungkan beberapa mekanisme stop loss untuk membentuk sistem perdagangan yang lengkap. Keuntungan utama strategi terletak pada kontrol risiko yang komprehensif dan kemampuan kustomisasi yang tinggi, tetapi harus memperhatikan sinyal palsu dan biaya transaksi dalam perdagangan langsung. Melalui arah optimasi yang disarankan, ada ruang untuk peningkatan kinerja strategi.
/*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")