Количественная качественная оценка

Автор:Чао Чжан, Дата: 24 мая 2022 года 11:28:43
Тэги:РСИQQE

Индикатор QQE - это индикатор, основанный на импульсе, для определения тенденции и боковых направлений.

Индикатор качественной количественной оценки (QQE) работает как более плавная версия популярного индикатора относительной силы (RSI). QQE расширяет RSI, добавляя две линии остановки, основанные на волатильности. Эти линии остановки состоят из быстрого и медленно движущегося среднего истинного диапазона (ATR). Эти линии ATR сглажены, что делает этот индикатор менее восприимчивым к краткосрочной волатильности.

Наиболее распространенный метод использования QQE заключается в поиске перекрестков быстро и медленно движущихся линий остановки в периоды, когда линия QQE отражает условия перекупления или перепродажи.

Качественная количественная оценка, состоящая из сглаженного показателя относительной устойчивости (RSI) плюс быстрые и медленные уровни, основанные на волатильности.

Качественная количественная оценка может использоваться в двух направлениях:

1.Определить тренд, т.е. если линия находится выше уровня 50, тренд растет, если ниже - снижается; 2.Поиск сигналов в момент пересечения линий QQE FAST (коричневый) и QQE SLOW (синий).

Сам QQE обычно считается индикатором восходящего тренда, если QQE FAST выше QQE SLOW, и нисходящего тренда, если ниже QQE SLOW. Часто средний диапазон между 40 и 60 устанавливается, и если показатель находится в этом диапазоне, то рынок считается наблюдающимся в сторону, или в отсутствии тенденции.

Вам нужно будет установить только один параметр SF RSI SMoothing Factor, аналог периода в RSI. Кстати, судя по информации из открытого источника, алгоритм использовал стандартный индекс прочности с периодом 14 для расчетов.

Из индикатора могут быть созданы различные сигналы, например: Купить, когда QQE FAST пересекает QQE SLOW ниже 50 уровня или просто купить, когда QQE линии пересекают уровень 50. -Продайте, когда QQE FAST пересекается ниже QQE SLOW выше 50 уровня или просто продавайте, когда QQE линии пересекаются ниже 50 уровня.

ПРЕДСТРУКОВАНИЕ: QQE является индикатором на основе RSI, так что он может вызывать ложные сигналы во время расхождений!

Киванч Узбилгич

обратная проверка img


/*backtest
start: 2022-04-23 00:00:00
end: 2022-05-22 23:59:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic

//@version=4
study("Quantitative Qualitative Estimation", shorttitle="QQE",precision=4, resolution="")
src=input(close)
length = input(14,"RSI Length", minval=1)
SSF=input(5, "SF RSI SMoothing Factor", minval=1)
showsignals = input(title="Show Crossing Signals?", type=input.bool, defval=true)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
RSII=ema(rsi(src,length),SSF)
TR=abs(RSII-RSII[1])
wwalpha = 1/ length
WWMA = 0.0
WWMA := wwalpha*TR + (1-wwalpha)*nz(WWMA[1])
ATRRSI=0.0
ATRRSI := wwalpha*WWMA + (1-wwalpha)*nz(ATRRSI[1])
QQEF=ema(rsi(src,length),SSF)
QUP=QQEF+ATRRSI*4.236
QDN=QQEF-ATRRSI*4.236
QQES=0.0
QQES:=QUP<nz(QQES[1]) ? QUP : QQEF>nz(QQES[1]) and QQEF[1]<nz(QQES[1]) ? QDN :  QDN>nz(QQES[1]) ? QDN : QQEF<nz(QQES[1]) and QQEF[1]>nz(QQES[1]) ? QUP : nz(QQES[1])
QQF=plot(QQEF,"FAST",color.maroon,2)
QQS=plot(QQES,"SLOW",color=color.blue, linewidth=1)
plot(50,color=color.gray,style=6)
longFillColor = highlighting ? (QQEF>QQES ? color.green : na) : na
shortFillColor = highlighting ? (QQEF<QQES ? color.red : na) : na
fill(QQF, QQS, title="UpTrend Highligter", color=longFillColor)
fill(QQF, QQS, title="DownTrend Highligter", color=shortFillColor)
buySignalr = crossover(QQEF, QQES)
plotshape(buySignalr and showsignals ? QQES*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallr = crossunder(QQEF, QQES)
plotshape(sellSignallr and showsignals ? QQES*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

alertcondition(cross(QQEF, QQES), title="Cross Alert", message="QQE Crossing Signal!")
alertcondition(crossover(QQEF, QQES), title="Crossover Alarm", message="QQE BUY SIGNAL!")
alertcondition(crossunder(QQEF, QQES), title="Crossunder Alarm", message="QQE SELL SIGNAL!")
alertcondition(crossover(QQEF, 50), title="Cross 50 Up Alert", message="QQE FAST Crossing 50 UP!")
alertcondition(crossunder(QQEF, 50), title="Cross 50 Down Alert", message="QQE FAST Crossing 50 DOWN!")

if buySignalr and showsignals
    strategy.entry("Enter Long", strategy.long)
else if sellSignallr and showsignals
    strategy.entry("Enter Short", strategy.short)

Связанные

Больше