Стратегия торговли волатильностью - это единая стратегия, основанная на ценовых действиях. Она генерирует сигналы купли и продажи путем анализа изменений цен и объемов. Эта стратегия также может быть объединена с предупреждениями для запуска заказов на других биржах или системах.
Эта стратегия анализирует закрытие, открытие, высокие и низкие цены свечей, чтобы определить тенденции и динамику цен.
В частности, он проверяет, являются ли цены закрытия последних трех свечей непрерывно выше или ниже, чем цены открытия.
Кроме того, эта стратегия отслеживает максимальный объем за определенный период. Если текущий объем свечей превышает максимальное значение за последний период, это предполагает рост объема торговли и сильные силы, входящие на рынок.
Когда цена прорывается на трех последовательных свечах и объем торговли расширяется, стратегия будет производить сигналы покупки или продажи.
Это простая, но эффективная стратегия, использующая сигналы ценового действия и объема.
Существуют также некоторые потенциальные риски:
Для смягчения этих рисков можно рассмотреть возможность добавления движущегося стоп-лосса, оптимизации комбинаций параметров или сочетания с другими индикаторами или стратегиями.
В качестве основной стратегии, есть еще большое пространство для оптимизации:
В заключение, это очень практичная стратегия, основанная на ценовых действиях. Она имеет преимущества интуитивного, легкого в понимании и реализации с низкими затратами. Между тем, она также имеет определенную слепоту и нуждается в дальнейшей оптимизации и комбинациях для повышения производительности. В целом это ценная концепция стратегии, достойная глубокого исследования и применения.
/*backtest start: 2022-12-04 00:00:00 end: 2023-03-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SPAS", overlay=true, pyramiding=5, calc_on_order_fills=true) int signal_hh = 0 int signal_ll = 0 if close[1] >= open[1] and close[2] >= open[2] and close[3] >= open[3] signal_hh := 1 if close[1] <= open[1] and close[2] <= open[2] and close[3] <= open[3] signal_ll := 1 plotchar(signal_hh, char='H', size=size.tiny, location=location.abovebar) plotchar(signal_ll, char='L', size=size.tiny, location=location.abovebar) int signal_vol = 0 float max_volume = 0.0 int vol_length = input(title="Volume length", type=input.integer, defval=3) for i = vol_length to 1 if volume[i] > max_volume max_volume := volume[i] if volume[0] > max_volume signal_vol := 1 plotchar(signal_vol, char='V', size=size.tiny, location=location.bottom) int signal_buy = 0 int signal_sell = 0 if signal_hh and signal_vol signal_buy := 1 label.new(bar_index, high, "B", color=color.green) strategy.entry("buy", strategy.long, 5)//, when=strategy.position_size <= 0) if signal_ll and signal_vol signal_sell := 1 label.new(bar_index, low, "S", color=color.red) strategy.entry("sell", strategy.short, 5)//, when=strategy.position_size > 0) //plotchar(signal_buy, char='B', color=color.green, size=size.tiny, location=location.abovebar) plotarrow(signal_buy, colorup=color.green, colordown=color.orange, transp=0, maxheight=20) //plotchar(signal_sell, char='S', color=color.red, size=size.tiny, location=location.abovebar) plotarrow(signal_sell * -1, colorup=color.green, colordown=color.orange, transp=0, maxheight=20)