Стратегия установки экстремального переворота - это стратегия, которая использует экстремальные перевороты линии K. Она будет судить на основе размера организации последней линии K и среднего значения и генерировать торговые сигналы, когда размер организации больше среднего значения и происходит перелом.
Эта стратегия в основном рассматривает размер организации текущей K-линии и общий размер K-линии.
В ней записывается размер объекта (разница между открытым и закрытым) последней K-линии и общий размер K-линии (разница между самым высоким и самым низким).
Затем используйте среднюю скользящую среднюю (RMA) для расчета среднего размера объекта и размера линии K последних 20 линий K.
Когда последняя K-линия поднимается и размер объекта больше среднего размера объекта, а общий размер K-линии также больше чем в 2 раза среднего размера K-линии, генерируется длинный сигнал.
Напротив, когда последняя линия K падает, и размер организации также соответствует вышеуказанным условиям, генерируется короткий сигнал.
То есть, торговые сигналы генерируются, когда экстремальные K-линии переворачиваются, судя по средним значениям.
Основными преимуществами этой стратегии являются:
Эта стратегия также сопряжена с некоторыми рисками:
Для уменьшения рисков параметры могут быть соответствующим образом скорректированы, или стоп-потеря может быть добавлена к потерям контроля.
Эта стратегия может быть оптимизирована в следующих аспектах:
Стратегия экстремальной обратной установки генерирует торговые сигналы при возникновении обратной ситуации, оценивая экстремальные ситуации последней K-линии.
/*backtest start: 2024-02-13 00:00:00 end: 2024-02-20 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Extreme Reversal Setup", overlay=true) bodySize = input(defval=0.75) barsBack = input(title="Lookback Period", type=input.integer, defval=20, minval=0) bodyMultiplier = input(title="Bar ATR Multiplier", type=input.float, defval=2.0, minval=0) myBodySize = abs(close - open) averageBody = rma(myBodySize, barsBack) myCandleSize = abs(high - low) averageCandle = rma(myCandleSize, barsBack) signal_long = open[1]-close[1] >= bodySize*(high[1]-low[1]) and high[1]-low[1] > averageCandle*bodyMultiplier and open[1]-close[1] > averageBody and close > open signal_short = close[1]-open[1] >= bodySize*(high[1]-low[1]) and high[1]-low[1] > averageCandle*bodyMultiplier and close[1]-open[1] > averageBody and open > close plotshape(signal_long, "LONG", shape.triangleup, location.belowbar, size=size.normal) plotshape(signal_short, "SHORT", shape.triangledown, location.belowbar, size=size.normal) strategy.entry("LONG", strategy.long, when=signal_long) strategy.entry("SHORT", strategy.short, when=signal_short)