Стратегия - это количественная торговая система, основанная на нескольких технических показателях, которая сочетает в себе индексы движущихся средних (EMA), относительно колеблющихся индексов (RVI) и индивидуальные торговые сигналы для принятия торговых решений. Система использует динамические цели остановки и прибыли для управления рисками с помощью индикаторов ATR, что обеспечивает комплексную структуру торговой стратегии.
Стратегия опирается на три основных компонента для принятия решений о сделках: 1. Двулинейная система: использование 20-цикличной и 200-цикличной ЭМА для определения рыночных тенденций с помощью скрещивания линий 2. РВИ-индикаторы: используются для определения направления волатильности рынка и предоставления дополнительных сигналов подтверждения сделки 3. Настройка сигналов: интеграция внешних торговых сигналов для обеспечения третьего подтверждения решения о сделке Система входит в многоголовие, когда одновременно выполняются следующие условия: - На EMA20 носите EMA200. - RVI - положительное значение - Прием дополнительного сигнала. В то же время, система использует динамические цели остановки потерь и прибыли, основанные на ATR, для управления рисками.
Стратегия создает относительно полную торговую систему, используя в комплексе несколько технических показателей и инструментов управления рисками. Хотя существуют некоторые внутренние ограничения, система может добиться лучших результатов с помощью рекомендуемого направления оптимизации. Ключевым является постоянное наблюдение и корректировка на реальных дисках, чтобы гарантировать стабильность стратегии в различных рыночных условиях.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 2h basePeriod: 2h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Gold Bot with Viamanchu, EMA20/200, and RVI - 3min", overlay=true) // Parámetros de las EMAs ema20 = ta.ema(close, 20) ema200 = ta.ema(close, 200) // Relative Volatility Index (RVI) rvi_length = input(14, title="RVI Length") rvi = ta.rma(close - close[1], rvi_length) / ta.rma(math.abs(close - close[1]), rvi_length) // Simulación de Viamanchu (aleatoria para demo, se debe reemplazar por señal de Viamanchu real) var int seed = time simulated_vi_manchu_signal = math.random() > 0.5 ? 1 : -1 // 1 para compra, -1 para venta (puedes sustituir por la lógica de Viamanchu) // Gestión de riesgos: Stop Loss y Take Profit usando ATR atr_length = input(14, title="ATR Length") atr = ta.atr(atr_length) atr_multiplier = input.float(1.5, title="ATR Multiplier for Stop Loss/Take Profit") stop_loss_level = strategy.position_avg_price - (atr * atr_multiplier) take_profit_level = strategy.position_avg_price + (atr * atr_multiplier) // Condiciones de entrada longCondition = ta.crossover(ema20, ema200) and rvi > 0 and simulated_vi_manchu_signal == 1 shortCondition = ta.crossunder(ema20, ema200) and rvi < 0 and simulated_vi_manchu_signal == -1 // Ejecutar compra (long) if (longCondition) strategy.entry("Compra", strategy.long, stop=stop_loss_level, limit=take_profit_level) // Ejecutar venta (short) if (shortCondition) strategy.entry("Venta", strategy.short, stop=stop_loss_level, limit=take_profit_level) // Visualización de las condiciones de entrada en el gráfico plotshape(series=longCondition, title="Compra señal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Venta señal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Visualización de las EMAs en el gráfico plot(ema20, color=color.blue, title="EMA 20") plot(ema200, color=color.red, title="EMA 200") // Visualización del RVI en el gráfico plot(rvi, color=color.green, title="RVI") hline(0, "Nivel 0", color=color.gray)