Это стратегия, которая включает в себя стохастический RSI, кроссоверы EMA и VMACD для определения точек переворота рынка и лучше всего работает, когда неминуемо произойдет перелом нисходящего тренда.
Стратегия основывается на сочетании следующих показателей:
Когда стохастический RSI отскакивает от перепроданной области, быстрая EMA пересекается над медленной EMA, и в то же время VMACD начинает расти, генерируется сигнал покупки. Кроме того, если краткосрочная цена превышает 10-периодную SMA, она также служит вспомогательным сигналом для покупки.
Стратегия отслеживает изменения этих индикаторов в режиме реального времени и рассчитывает SMA, EMA и другую информацию в течение фиксированного периода обратной связи. Когда условия покупки запускаются, она будет покупать и открывать позиции с фиксированным количеством контрактов. После этого, если будут задействованы условия остановки потери, такие как 5% снижение или цена ниже линии SMA, позиции будут закрыты для остановки потери.
Стратегия сочетает в себе множество показателей и способна эффективно выявлять возможности для изменения рынка.
В целом, эта стратегия может эффективно улавливать сигналы реверсии, устанавливать длинные позиции после определенного снижения и, таким образом, получать прибыль.
Несмотря на определенные преимущества, есть также риски, которые следует отметить для этой стратегии:
Некоторые способы снижения риска:
Основные области, которые могут быть оптимизированы для стратегии:
В целом, эта стратегия VRSI-EMA Crossover с VMACD Wavefinder Strategy вполне способна уловить возможности для обратного движения нисходящего тренда. Она эффективно генерирует сигналы покупок путем объединения нескольких индикаторов для определения оптимального времени для обратного движения. Тем не менее, остаются некоторые области для улучшения. При дальнейшей оптимизации эффективность стратегии в живой торговле может быть еще лучше. Это типичный пример количественной стратегии, основанной на слиянии нескольких индикаторов.
/*backtest start: 2022-11-14 00:00:00 end: 2023-11-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Wavefinder+", overlay=true) length = input(20) confirmBars = input(2) price = close slow = input(12, "Short period") fast = input(26, "Long period") signal = input(9, "Smoothing period") maFast = ema( volume * close, fast ) / ema( volume, fast ) maSlow = ema( volume * close, slow ) / ema( volume, slow ) da = maSlow - maFast maSignal = ema( da, signal ) dm=da-maSignal source = close lengthRSI = input(14, minval=8), lengthStoch = input(14, minval=5) smoothK = input(3,minval=3), smoothD = input(3,minval=3) OverSold = input(25), OverBought = input(75) rsi1 = rsi(source, lengthRSI) rsi2= rsi(low, 20) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) k1= sma(stoch(rsi2, rsi2, rsi2, lengthStoch), smoothK) d1= sma(k1, smoothD) delta=k-d1 ma = ema(low, length) ema5= ema(price,20) sma= sma(price,10) bcond = price < ma lcond = price> ema5 bcount = 0 lcount= 0 bcount := bcond ? nz(bcount[1]) + 1 : 0 lcount := lcond ? nz(lcount[1]) + 1 : 0 if (lcount>1 and change(k)>3 and k>d and k<55 and rising(dm,1)) or ( k[1]-k[2]<-2 and k-k[1]>5 and k>35 and k<80) or (ma-sma>0.05*sma and rising(sma,3) and rising(dm,2)) strategy.entry("Long", strategy.long, qty=10000/close) if (bcount == confirmBars) strategy.close("Long") if close<0.99*sma strategy.close("Long") plot(0.99*sma) plot(ma) //hline(OverSold,color=blue) //hline(OverBought,color=blue) //plot(d, color=red) //plot(k, color=green,title="k-line") //(close-close[3]<-0.05*close[3]) or (close-close[2]<-0.05*close[2]) or (close-close[2]<-0.05*close[2]) or (close-close[4]<-0.05*close[4]) or //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)