
La estrategia es un sistema de negociación integral de seguimiento de tendencias, que combina múltiples indicadores técnicos para identificar las tendencias y la dinámica del mercado, al tiempo que integra un mecanismo de gestión de riesgos dinámicos. La estrategia confirma las señales de negociación mediante la combinación sincronizada de mediano cruce, índice de fuerza relativa (RSI) y dispersión de tendencia de la media móvil (MACD), y utiliza el indicador de amplitud de onda real (ATR) para ajustar dinámicamente las posiciones de parada y pérdida, para lograr la gestión adaptativa del riesgo.
La lógica central de la estrategia se basa en la verificación cruzada de múltiples indicadores técnicos. En primer lugar, se identifican los posibles puntos de inflexión de la tendencia a través de la intersección de la media móvil del índice rápido (EMA20) con la media móvil del índice lento (EMA50). En segundo lugar, se utiliza el indicador RSI para confirmar si los precios se encuentran en zonas de sobreventa o sobreventa, evitando así el comercio en zonas extremas.
Se trata de una estrategia de seguimiento de tendencias bien diseñada, que mejora la fiabilidad de las señales de negociación mediante la sinergia de múltiples indicadores técnicos, y está equipada con un sistema de gestión de riesgos profesional. La estrategia es altamente escalable, tanto para el comercio intradiario como para la captura de tendencias a más largo plazo.
/*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")