Strategi ini adalah sistem dagangan kuantitatif berdasarkan pelbagai penunjuk teknikal, menggabungkan Exponential Moving Averages (EMA), Relative Volatility Index (RVI), dan isyarat dagangan tersuai untuk membuat keputusan. Sistem ini menggunakan sasaran stop-loss dan take-profit dinamik menggunakan penunjuk ATR untuk pengurusan risiko, mewujudkan kerangka strategi dagangan yang komprehensif.
Strategi ini bergantung kepada tiga komponen teras untuk keputusan perdagangan:
Strategi ini membina sistem perdagangan yang agak lengkap melalui penggunaan komprehensif beberapa penunjuk teknikal dan alat pengurusan risiko. Walaupun terdapat beberapa batasan yang melekat, sistem ini menunjukkan janji untuk meningkatkan prestasi melalui pengoptimuman yang dicadangkan. Kuncinya adalah pemantauan dan penyesuaian berterusan dalam perdagangan langsung untuk memastikan kestabilan strategi di pelbagai keadaan pasaran.
/*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)