Strategi ini adalah sistem perdagangan trend yang menggabungkan isyarat silang EMA dengan pengurusan risiko dinamik. Ia menggunakan Purata Bergerak Eksponensial (EMA) yang cepat dan perlahan untuk mengenal pasti trend pasaran dan menggabungkan penunjuk Julat Benar Purata (ATR) untuk mengoptimumkan masa kemasukan. Strategi ini juga mengintegrasikan tiga lapisan perlindungan: stop loss berasaskan peratusan, mengambil keuntungan, dan stop trailing.
Logik teras adalah berdasarkan elemen utama berikut:
Ini adalah trend yang direka dengan baik mengikuti strategi dengan logik yang jelas. Ia menangkap trend melalui persimpangan EMA, menguruskan risiko menggunakan ATR, dan menggabungkan pelbagai mekanisme stop loss untuk membentuk sistem perdagangan yang lengkap. Keuntungan utama strategi ini terletak pada kawalan risiko yang komprehensif dan penyesuaian yang tinggi, tetapi perlu memberi perhatian kepada isyarat palsu dan kos transaksi dalam perdagangan langsung. Melalui arah pengoptimuman yang dicadangkan, terdapat ruang untuk peningkatan prestasi 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")