Эта стратегия идентифицирует направление тренда и совершает трендовые сделки, используя в сочетании равнолинейную систему и скатывающийся индикатор AO. Эта стратегия относится к типу торговли короткими колебаниями, предназначенной для захвата возможности поворота цены коротких линий.
Принципы стратегии:
Вычислить среднюю скорость EMA и среднюю скорость SMA, построить систему средней скорости.
Вычислите быструю и медленную линию колебаний показателя AO и получите разницу.
Когда быстрая линия пересекает медленную линию, и цена закрытия выше медленной линии, и AO находится в состоянии повышения, делайте больше.
Когда быстрая линия пересекает медленную линию, и цена закрытия ниже медленной линии, и AO находится в состоянии падения, сделайте пробел.
AO определяет пустоту путем сравнения разрыва, чтобы избежать ложного сигнала.
Преимущества этой стратегии:
Среднелинейная система определяет основные тенденции, а индикатор AO определяет моменты переворота.
AO эффективно отфильтровывает ложные сигналы с помощью дифференцированного сравнения.
Комбинированное использование индикаторов повышает точность сигналов.
Риски этой стратегии:
Необходимо оптимизировать среднюю линию и параметры AO, чтобы соответствовать рыночным тенденциям.
В средней линии и AO есть проблемы с отставанием, возможно, пропустят лучшие места для входа.
В результате землетрясения убытки от ликвидации трудно установить, и риск потерь выше.
В общем, эта стратегия объединяет преимущества системы равнолинейной торговли и показателей AO. Можно повысить качество сигнала до некоторой степени, но нужно быть осторожным с задержкой и использовать соответствующую стратегию остановки убытков, чтобы получить стабильную прибыль в долгосрочной перспективе.
/*backtest
start: 2023-09-04 00:00:00
end: 2023-09-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("MA&AO", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp(input(9999, "End Year"), input(1, "Month"), input(1, "Day"), 0, 0)
_testPeriod() =>
true
//Inputs
fast_ma = input(8, title="Fast EMA", minval=2)
slow_ma = input(20, minval=1, title="Slow SMA")
AO_fast = input(5, minval=1, title="Awesome Length Fast")
AO_slow = input(8, minval=1, title="Awesome Length Slow")
//MA
fast = ema(close, fast_ma)
slow = sma(close, slow_ma)
//AO
AO_1 = sma(hl2, AO_fast)
AO_2 = sma(hl2, AO_slow)
dif = AO_1 - AO_2
AO = dif>=0? dif > dif[1] ? 1 : 2 : dif > dif[1] ? -1 : -2
long = crossover(fast, slow) and close > slow and abs(AO)==1
short = fast < slow and close < slow and abs(AO)==2
long_condition = long and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = short
strategy.close('BUY', when=short_condition)
plot(fast, color=color.green)
plot(slow, color=color.red)