예스스탁
예스스탁 답변
2024-05-30 11:37:48
안녕하세요
예스스탁입니다.
지표내용만 변환해 드립니다.
input : dlen(100),lwidth(3);
var : hh(0),ll(0),trend(0);
var : upper(0),lower(0),maintrend(0);
var : tline(0),tx1(0),tx2(0);
hh = highest(h,dlen);
ll = lowest(l,dlen);
trend = iff(close > hh[1] , 1 , iff(close < ll[1] , -1 , trend));
upper = hh;
lower = ll;
maintrend = trend;
tline = IFf(maintrend == 1 , lower , upper);
if maintrend == 1 Then
plot1(tline,"tline",Green);
Else
NoPlot(1);
if maintrend != 1 Then
plot2(tline,"tline",Red);
Else
NoPlot(2);
즐거운 하루되세요
> cooparoo 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다.
> 안녕하세요. 항상 감사드립니다.
다음은 파인스크립트 수식인데 예스로 변환 부탁드립니다.
//@version=4
study("Donchian Trend", overlay = true)
dlen = input(defval = 20, title = "Donchian Channel Period", minval = 10)
lwidth = input(defval = 3, title = "Line Width", minval = 1, maxval = 4)
dchannel(len)=>
float hh = highest(len)
float ll = lowest(len)
int trend = 0
trend := close > hh[1] ? 1 : close < ll[1] ? -1 : nz(trend[1])
[hh, ll, trend]
dchanneltr(len)=>
float hh = highest(len)
float ll = lowest(len)
int trend = 0
trend := close >= hh[1] ? 1 : close <= ll[1] ? -1 : nz(trend[1])
[upper, lower, maintrend] = dchannel(dlen)
tt = maintrend == 1 ? 10 : -10
[u1, l1, t1] = dchannel(dlen -1 )
tt := tt - (sign(dchanneltr(dlen - 1)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 2)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 3)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 4)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 5)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 6)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 7)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 8)) != sign(maintrend) ? int(sign(maintrend)) : 0)
tt := tt - (sign(dchanneltr(dlen - 9)) != sign(maintrend) ? int(sign(maintrend)) : 0)
getcolor(trend)=>
_ret = trend >= 10.0 ? #00FF00ff :
trend >= 9.0 ? #00FF00e5 :
trend >= 8.0 ? #00FF00cc :
trend >= 7.0 ? #00FF00b2 :
trend >= 6.0 ? #00FF0099 :
trend >= 5.0 ? #00FF007f :
trend >= 4.0 ? #00FF0066 :
trend >= 3.0 ? #00FF004c :
trend >= 2.0 ? #00FF0033 :
trend >= 1.0 ? #00FF0019 :
trend == 0.0 ? color.new(color.white, 100) :
trend >= -1.0 ? #FF000019 :
trend >= -2.0 ? #FF000033 :
trend >= -3.0 ? #FF00004c :
trend >= -4.0 ? #FF000066 :
trend >= -5.0 ? #FF00007f :
trend >= -6.0 ? #FF000099 :
trend >= -7.0 ? #FF0000b2 :
trend >= -8.0 ? #FF0000cc :
trend >= -9.0 ? #FF0000e5 : #FF0000ff
tline = maintrend == 1 ? lower : upper
tcol = (maintrend == 1 and nz(maintrend[1]) == 1) or
(maintrend == -1 and nz(maintrend[1]) == -1) ? getcolor(tt) :
na
plot(tline, color = tcol, linewidth = lwidth)
plotchar(maintrend == 1 and tt > 2 and (tt < 10 or low == lower) ? lower : na,
char = "↑",
color = color.green,
location = location.absolute,
size = size.small)
plotchar(maintrend == -1 and tt < -2 and (tt > -10 or high == upper) ? upper : na,
char = "↓",
color = color.olive,
location = location.absolute,
size = size.small)