Стратегия стохастического вихря - это стратегия, которая генерирует сигналы покупки, когда линия K стохастического осциллятора пересекает линию D, а положительный VI выше отрицательного VI. Эта стратегия сочетает в себе преимущества индикатора стохастического осциллятора и индикатора вихря, чтобы поймать возможности, когда цены на акции изменяются.
Стратегия основывается на двух показателях:
Стохастический осциллятор: этот индикатор сравнивает цену закрытия дня с самыми высокими и самыми низкими ценами за определенный период, чтобы отразить, является ли рынок перепроданным или перекупленным.
Индикатор вихря: Этот индикатор отражает водоворотные движения вверх или вниз на рынке путем сравнения колебаний в течение определенного периода. Когда положительный индекс вихря выше, чем отрицательный индекс вихря, это означает, что подъемная динамика цены акций сильнее, чем понижающая динамика, поэтому мы можем покупать.
Сигнал покупки этой стратегии исходит от быстрого пересечения линии K над медленной линией D стохастического осциллятора, что указывает на то, что цена акций отскочит от зоны перепроданности. И положительный индекс вихря выше, чем индекс отрицательного вихря, означает сильный подъем цены акций. Таким образом, сочетание этих двух сигналов генерирует окончательное решение о покупке.
Основными особенностями этой стратегии являются:
Линия K, пересекающая линию D, отражает перелом цен.
Индекс вихря определяет импульс вверх, чтобы избежать ложных вырывов.
Настраиваемые параметры для оптимизации стратегии.
Визуализированный сигнал покупки для интуитивного суждения.
Стохастик и вихрь имеют встроенные механизмы без слишком большого количества исторических данных.
В этой стратегии есть некоторые риски:
Сигналы покупки могут содержать ошибки, и потерь нельзя полностью избежать.
Неправильные параметры могут повлиять на эффективность стратегии.
Вероятность сбоя показателя больше, когда цены на акции резко колеблются.
Он не может определять тенденции на рынке и также будет генерировать сигналы покупки на медвежьих рынках.
Эти риски могут быть смягчены путем корректировки параметров, установки стоп-лосса, учета рыночных тенденций и т. д. Но никакие количественные стратегии не могут полностью избежать потерь.
Стратегия также может быть оптимизирована в следующих аспектах:
Комбинировать другие технические показатели для определения общей тенденции, чтобы избежать открытия позиций на высоких уровнях.
Увеличить механизмы остановки потерь для контроля максимальных одиночных потерь.
Испытывать различные комбинации параметров показателей, чтобы найти оптимальные параметры.
Увеличьте условия открытия, чтобы уменьшить ложноположительные вероятности.
Рассмотрите затраты на торговлю и установите минимальные цели прибыли.
Эти оптимизации могут улучшить стабильность стратегий, уменьшить потери и максимизировать ценность стратегий.
Стратегия стохастического вихря учитывает сигналы переворота цен и сигналы повышения импульса. Это типичная стратегия переворота. Она использует возможности, когда цены на акции восстанавливаются с перепроданных районов, и использует индекс вихря для определения импульса вверх, чтобы избежать ложных прорывов. Эта гибкая, простая в реализации стратегия имеет контролируемые риски и является хорошей количественной стратегией. Но ни одна стратегия не может полностью избежать рыночного риска. Мы должны относиться к ней осторожно и обращать внимание на возможные возможности оптимизации, чтобы обнаружить большую ценность стратегии.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stochastic and Vortex Strategy", overlay=true) // Stochastic Oscillator settings kPeriod = input(14, title="K Period") dPeriod = input(3, title="D Period") slowing = input(3, title="Slowing") k = sma(stoch(close, high, low, kPeriod), slowing) d = sma(k, dPeriod) // Vortex Indicator settings lengthVI = input(14, title="Vortex Length") tr = max(max(high - low, abs(high - close[1])), abs(low - close[1])) vmPlus = abs(high - low[1]) vmMinus = abs(low - high[1]) viPlus = sum(vmPlus, lengthVI) / sum(tr, lengthVI) viMinus = sum(vmMinus, lengthVI) / sum(tr, lengthVI) // Buy condition buyCondition = crossover(k, d) and viPlus > viMinus if (buyCondition) strategy.entry("Buy", strategy.long) plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plot(k, title="%K", color=color.blue) plot(d, title="%D", color=color.orange) hline(80, "Overbought", color=color.red) hline(20, "Oversold", color=color.green) plot(viPlus, title="VI+", color=color.purple) plot(viMinus, title="VI-", color=color.red)