예스스탁
예스스탁 답변
2025-06-12 13:07:02
안녕하세요
예스스탁입니다.
input : length(14);
input : SSF(5);
var : src(0),RSII(0),TR(0),wwalpha(0),WWMA(0),ATRRSI(0),nzQQEW(0);
var : QQEF(0),QUP(0),QDN(0),QQES(0);
src = close;
RSII=ema(rsi(length),SSF);
TR=abs(RSII-RSII[1]);
wwalpha = 1/ length;
WWMA = 0.0;
WWMA = wwalpha*TR + (1-wwalpha)*iff(isnan(WWMA[1])==true,0,WWMA[1]);
ATRRSI=0.0;
ATRRSI = wwalpha*WWMA + (1-wwalpha)*iff(isnan(ATRRSI[1])==true,0,ATRRSI[1]);
QQEF=ema(rsi(length),SSF);
QUP=QQEF+ATRRSI*4.236;
QDN=QQEF-ATRRSI*4.236;
QQES=0.0;
nzQQEW = iff(isnan(QQES[1])==true,0,QQES[1]);
QQES = iff(QUP<nzQQEW , QUP ,
iff(QQEF>nzQQEW and QQEF[1]<nzQQEW , QDN ,
iff(QDN >nzQQEW , QDN ,
iff(QQEF<nzQQEW and QQEF[1]>nzQQEW , QUP , nzQQEW))));
plot1(QQEF,"FAST",maroon);
plot2(QQES,"SLOW",blue);
plot3(50,"50",gray);
var : tx(0);
if crossup(QQEF,QQES) Then
{
tx = Text_New_Self(sDate,sTime,QQES*0.995,"▲");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Green);
Text_SetSize(tx,20);
}
if CrossDown(QQEF,QQES) Then
{
tx = Text_New_Self(sDate,sTime,QQES*1.005,"▼");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
Text_SetSize(tx,20);
}
즐거운 하루되세요
> 장보고153 님이 쓴 글입니다.
> 제목 : 수식 전환을 부탁드립니다
> 수고가 많으십니다 아래의 수식은 트레이딩뷰의 QQE 신호 수식입니다. 이것을 예스트레이더 시스템에서 구현 할 수 있도록 전환 해 주시면 감사하겠습니다 늘 건강하시기를 기원합니다.
// 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!")