O indicador QQE é um indicador baseado no ímpeto para determinar a tendência e o lado.
O indicador de estimativa quantitativa qualitativa (QQE) funciona como uma versão mais suave do popular indicador de índice de força relativa (RSI). O QQE expande o RSI adicionando duas linhas de parada de rastreamento baseadas em volatilidade. Estas linhas de parada de rastreamento são compostas por uma faixa média verdadeira (ATR) rápida e lenta. Estas linhas ATR são suavizadas, tornando este indicador menos suscetível à volatilidade de curto prazo.
O método mais comum de utilização da QQE é procurar cruzes das linhas de parada de movimento rápido e lento durante os períodos em que a linha QQE reflete condições de sobrecompra ou sobrevenda
Estimativa Quantitativa Qualitativa constituída por um indicador de força relativa (RSI) suavizado, mais níveis de baixa baseados em volatilidade rápida e lenta.
A estimativa quantitativa qualitativa pode ser utilizada em duas direcções:
1.Determinar a tendência, ou seja, se a linha está acima do nível 50, a tendência é ascendente, se abaixo - descendente; 2.Buscar sinais no momento da travessia das linhas QQE FAST (marrom) e QQE SLOW (azul).
O QQE em si é geralmente considerado como indicando uma tendência ascendente se o QQE FAST estiver acima do QQE SLOW, e uma tendência descendente se estiver abaixo do QQE SLOW. Muitas vezes, um intervalo médio entre 40 e 60 é definido e, se o indicador estiver nesse intervalo, considera-se que o mercado está seguindo uma tendência lateral ou não.
Você precisará definir apenas um parâmetro
O indicador pode produzir vários sinais, tais como: -Comprar quando QQE FAST cruza acima QQE LENTO abaixo do nível 50 ou apenas comprar quando as linhas QQE cruzam acima do nível 50. -Vender quando QQE FAST cruza abaixo QQE LENTO acima do nível 50 ou simplesmente vender quando as linhas QQE cruzam abaixo do nível 50.
ATENÇÃO: QQE é um indicador baseado no RSI, de modo que pode desencadear sinais falsos durante as divergências!
Kıvanç Özbilgiç
backtest
/*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)