
Стратегия представляет собой количественную торговую систему, объединяющую показатели технического анализа и моделирование искусственного интеллекта. Стратегия интегрирует традиционные технические показатели, такие как средняя линия (EMA) и индекс относительной колебательности (RVI), и вводит моделирующие сигналы AI для принятия торговых решений.
Стратегия основана на следующих ключевых компонентах:
Система генерирует сигнал покупки, когда EMA20 проходит EMA200 и RVI является положительным; система генерирует сигнал продажи, когда EMA20 проходит EMA200 и RVI является отрицательным.
Эта стратегия, объединив традиционный технический анализ и современные количественные методы, создает относительно полную торговую систему. Хотя существует определенный риск, стратегия может быть более эффективной, если ее постоянно оптимизировать и улучшать. Рекомендуется проводить полное тестирование и проверку до начала торгов на рынке.
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Gold Bot with Simulated AI, Viamanchu, EMA20, EMA200, RVI, and Risk Management", overlay=true)
// Parámetros de las EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
// Relative Volatility Index (RVI)
length = input(14, title="RVI Length")
rvi = ta.rma(close - close[1], length) / ta.rma(math.abs(close - close[1]), length)
// Simulación de Viamanchu (aleatoria)
var int seed = time
simulated_vi_manchu_signal = math.random() > 0.5 ? 1 : -1 // 1 para compra, -1 para venta
// Configuración de gestión de riesgos
capital_total = 2000 // Capital total
capital_operado = 200 // Capital asignado a cada operación
stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1) // 2% de stop loss
take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1) // 4% de take profit
// Cálculo de stop loss y take profit en base al precio de entrada
stop_loss = close * (1 - stop_loss_percent / 100)
take_profit = close * (1 + take_profit_percent / 100)
// 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
if (longCondition)
strategy.entry("Compra", strategy.long, stop=stop_loss, limit=take_profit)
// Ejecutar venta
if (shortCondition)
strategy.entry("Venta", strategy.short, stop=stop_loss, limit=take_profit)