Esta estrategia es un sistema de negociación integral de seguimiento de tendencias que combina múltiples mecanismos de confirmación de señales, incluidos el indicador Alligator, Awesome Oscillator (AO) y Accelerator Oscillator (AC). El sistema identifica las tendencias del mercado a través de múltiples cruces de indicadores y confirmaciones de tendencias, junto con mecanismos dinámicos de toma de ganancias y stop-loss para la gestión de riesgos.
La lógica central se basa en tres componentes principales: 1. Sistema de cocodrilo: utiliza promedios móviles de diferentes períodos (13/8/5), confirmando la dirección de la tendencia a través de los cruces de la línea de labios y dientes. 2. Sistema de confirmación de impulso: combina los indicadores AO y AC, confirmando la fuerza de la tendencia a través de sus valores positivos / negativos. 3. Sistema de gestión de riesgos: emplea configuraciones dinámicas de stop-loss basadas en puntos altos/bajos de 5 períodos, con una relación riesgo-recompensación de 1:2 para los niveles de toma de ganancias.
Condiciones de activación de señales múltiples: - Entrada larga: labios cruzados por encima de los dientes + AO positivo + AC positivo - Entrada corta: los labios se cruzan debajo de los dientes + AO negativo + AC negativo
Esta estrategia establece un sistema comercial completo mediante el uso integral de múltiples indicadores técnicos. El sistema enfatiza no solo la precisión de la señal sino también la estricta gestión de riesgos para la protección del capital. Si bien hay ciertos riesgos de retraso, la estrategia muestra la promesa de un mejor rendimiento a través de las direcciones de optimización sugeridas. Es adecuado para los inversores que buscan rendimientos constantes.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Alligator with AO and AC Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // ---------------------------- Индикатор Аллигатор ---------------------------- // Параметры Аллигатора jawLength = input.int(13, title="Jaw Length") teethLength = input.int(8, title="Teeth Length") lipsLength = input.int(5, title="Lips Length") jawOffset = input.int(8, title="Jaw Offset") teethOffset = input.int(5, title="Teeth Offset") lipsOffset = input.int(3, title="Lips Offset") // Расчёт скользящих средних jawLine = ta.sma(close, jawLength) teethLine = ta.sma(close, teethLength) lipsLine = ta.sma(close, lipsLength) // Сдвиг линий jaw = jawLine[jawOffset] teeth = teethLine[teethOffset] lips = lipsLine[lipsOffset] // Отображение линий Аллигатора plot(jaw, color=color.blue, linewidth=2, title="Jaw (13,8)") plot(teeth, color=color.red, linewidth=2, title="Teeth (8,5)") plot(lips, color=color.green, linewidth=2, title="Lips (5,3)") // ---------------------------- Awesome Oscillator (AO) ---------------------------- // Расчёт AO medianPrice = (high + low) / 2 ao = ta.sma(medianPrice, 5) - ta.sma(medianPrice, 34) // Отображение AO hline(0, "Zero Line", color=color.gray) plot(ao, title="Awesome Oscillator", color=(ao >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2) // ---------------------------- Accelerator Oscillator (AC) ---------------------------- // Расчёт AC ac = ao - ta.sma(ao, 5) // Отображение AC plot(ac, title="Accelerator Oscillator", color=(ac >= 0 ? color.green : color.red), style=plot.style_histogram, linewidth=2) // ---------------------------- Логика сигналов и управление позицией ---------------------------- // Условия для открытия длинной позиции longCondition = ta.crossover(lips, teeth) and ao > 0 and ac > 0 if (longCondition) // Определение уровней stop-loss и take-profit stopLevel = ta.lowest(low, 5) // Минимум за последние 5 свечей takeProfit = close + (close - stopLevel) * 2 // Соотношение риска к прибыли 1:2 // Открытие длинной позиции strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=takeProfit, stop=stopLevel) // Условия для открытия короткой позиции shortCondition = ta.crossunder(lips, teeth) and ao < 0 and ac < 0 if (shortCondition) // Определение уровней stop-loss и take-profit stopLevelShort = ta.highest(high, 5) // Максимум за последние 5 свечей takeProfitShort = close - (stopLevelShort - close) * 2 // Соотношение риска к прибыли 1:2 // Открытие короткой позиции strategy.entry("Short", strategy.short) strategy.exit("Take Profit Short", "Short", limit=takeProfitShort, stop=stopLevelShort) // Отображение уровней на графике plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")