QQEインジケーターは,動力に基づいた指標で,トレンドと横向を決定します.
定量評価指標 (QQE) は,人気のある相対強度指数 (RSI) のよりスムーズなバージョンのように機能する.QQEは,波動性に基づくトレーリングストップラインを2つ追加することで,RSIを拡張する.これらのトレーリングストップラインは,高速とゆっくり移動する平均真値範囲 (ATR) から構成される.これらのATRラインは,この指標を短期波動に弱いものにするようにスムーズ化されている.
QQEを使用する最も一般的な方法は,QQE線が過買いまたは過売り状態を反映する期間中に,高速と遅い動きのトレーリングストップラインの交差を探すこと
定量的な評価は,相対強度指数 (RSI) を調整した指標と,急速な変動と遅い変動に基づく後退水準からなる.
定量的な評価は2つの方向で使用できます.
1.トレンドを決定する.つまり,線が50値を超えている場合,トレンドは上昇し,下回っている場合,トレンドは低下する. 2.QQE FAST (茶色の線) とQQE SLOW (青い線) を横断する時に信号を探します.
QQE FAST が QQE SLOW よりも高くなった場合,QQE FAST が上昇傾向を示し,QQE SLOW よりも低い場合,下落傾向を示していると考えられます. 通常は40から60の間の中間範囲が設定され,指標がその範囲内にいれば,市場は横向きに動いている,またはトレンドがないと考えられます.
RSI の周期のアナログである
インディケーターから様々な信号が生成される.例えば: -QQE FASTが50レベルを超えると購入する QQE SLOWが50レベルを超えると購入する -QQE FASTが50レベルを下回ると売る QQE SLOWが50レベルを下回ると売る
QQEはRSIベースの指標なので,差異の間,誤った信号を誘発する可能性があります.
キヴァンツ・オズビルギッチ
バックテスト
/*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)