Удивительный Осиллятор Двойной Стохастический Фильтрованная Дивергенция Торговая Стратегия

Автор:Чао Чжан, Дата: 2024-02-27 15:51:44
Тэги:

img

Обзор

Стратегия торговли Awesome Oscillator Double Stochastic Filtered Divergence идентифицирует потенциальные возможности покупки и продажи путем обнаружения расхождений между Awesome Oscillator (AO) и ценовым действием, отфильтрованным на основе условий перекупления и перепродажи Stochastic Oscillator для улучшения надежности сигнала.

Логика стратегии

Стратегия состоит из следующих компонентов:

  1. Расчет Awesome Oscillator (AO): AO - это разница между 5-периодными и 34-периодными SMA средней точки (HL2) для определения динамики рыночной динамики.

  2. Стохастический осциллятор: используется для измерения импульса и потенциальных точек переворота путем сравнения цены закрытия с диапазоном цен в течение периода. Использует 14-периодный стохастический (stochK) и 3-периодный SMA (stochD) для обнаружения уровней перекупа / перепродажи.

  3. Логика обнаружения дивергенции: упрощена, когда цена движется в одном направлении, а AO движется в противоположном направлении.

  4. Стохастическая фильтрация: Сигналы, фильтрованные по стохастическому условию перекупки для продажи и перепродажи для покупки.

  5. Графика сигналов: подтвержденные сигналы после фильтрации, изображенные на графике в виде форм.

  6. Правила входа: длинный вход на подтвержденный бычий сигнал, короткий вход на подтвержденный медвежий сигнал.

Анализ преимуществ

Стратегия сочетает в себе следующий тренд и выявление обратных сдвигов, с надежными сигналами.

  1. AO помогает определить краткосрочные изменения тренда, расхождение с ценой обеспечивает надежный источник сигнала.

  2. Стохастические фильтры избегают ложных сигналов без подтверждения перекупа/перепродажи.

  3. Объединение показателей обеспечивает надежную оценку рынка и надежность.

  4. Ясные сигналы и правила входа, легкая реализация.

  5. Разумный выбор показателей и параметров, хорошее обратное тестирование и живая производительность.

Анализ рисков

Потенциальные риски включают:

  1. Упрощенное обнаружение дивергенции рискует неправильно оценить сигналы.

  2. Настройки статических параметров могут быть менее эффективными при изменении рыночных условий.

  3. Стохастическая фильтрация может упустить некоторые прибыльные возможности.

  4. Нет строгих механизмов контроля потерь для открытых позиций.

Руководство по оптимизации

Области для дальнейшей оптимизации:

  1. Улучшить логику идентификации дивергентных сигналов для сигналов более высокого качества.

  2. Испытайте различные комбинации параметров, чтобы найти оптимальные параметры.

  3. Включайте стратегии стоп-лосса для контроля снижения на отдельных сделках.

  4. Оптимизировать правила размера входа и управление открытыми позициями.

  5. Внедрить машинное обучение для динамической оптимизации параметров и логики.

  6. Добавьте больше источников данных для многовариантного фактора управления.

Резюме

Стратегия двойного стохастического фильтра дивергенции AO эффективно сочетает в себе отслеживание тренда и идентификацию обратной тенденции с помощью дивергенции AO и стохастического фильтра. Ясные правила, хорошие результаты обратных тестов, с сильным практическим потенциалом. Дальнейшие оптимизации могут привести к улучшению моделирования и производительности в режиме реального времени.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fixed AO Divergence Strategy", shorttitle="Fixed AO+Stoch", overlay=true)

// Calculate Awesome Oscillator
ao() => ta.sma(hl2, 5) - ta.sma(hl2, 34)
aoVal = ao()

// Stochastic Oscillator
stochK = ta.stoch(close, high, low, 14)
stochD = ta.sma(stochK, 3)

// Simplify the divergence detection logic
// For educational purposes, we will define a basic divergence detection mechanism
// Real-world application would require more sophisticated logic

// Detect bullish and bearish divergences based on AO and price action
bullishDivergence = (close > close[1]) and (aoVal < aoVal[1])
bearishDivergence = (close < close[1]) and (aoVal > aoVal[1])

// Stochastic Overbought/Oversold conditions
stochOverbought = (stochK > 80) and (stochD > 80)
stochOversold = (stochK < 20) and (stochD < 20)

// Filtered signals
confirmedBullishSignal = bullishDivergence and stochOversold
confirmedBearishSignal = bearishDivergence and stochOverbought

// Plot signals
plotshape(series=confirmedBullishSignal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Divergence", text="BUY")
plotshape(series=confirmedBearishSignal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Divergence", text="SELL")

// Strategy Entry
if (confirmedBullishSignal)
    strategy.entry("Long", strategy.long, comment="Long Entry")

if (confirmedBearishSignal)
    strategy.entry("Short", strategy.short, comment="Short Entry")


Больше