O recurso está a ser carregado... Carregamento...

Estimativa quantitativa

Autora:ChaoZhang, Data: 24 de Maio de 2022
Tags:RSIQQE

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 SF RSI Smoothing Factor, um análogo do período no RSI. A propósito, a julgar pelas informações de fonte aberta, o algoritmo usou o índice de força padrão com um período de 14 para os cálculos.

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 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)

Relacionados

Mais.