예스스탁
예스스탁 답변
2025-09-03 12:53:46
안녕하세요
예스스탁입니다.
input : length(20);
input : mult(2.0);
input : lengthKC(20);
input : multKC(1.5);
input : useTrueRange(true);
var : source(0),basis(0),dev(0),upperBB(0),lowerBB(0);
var : mav(0),R(0),Rangema(0),upperKC(0),lowerKC(0);
var : sqzOn(False),sqzOff(False),noSqz(False);
var : val(0),bcolor(0),scolor(0);
source = close;
basis = ma(source, length);
dev = multKC * std(source, length);
upperBB = basis + dev;
lowerBB = basis - dev;
// Calculate KC
mav = ma(source, lengthKC);
R = iff(useTrueRange == true,TrueRange , (high - low));
rangema = ma(R, lengthKC);
upperKC = mav + rangema * multKC;
lowerKC = mav - rangema * multKC;
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC);
noSqz = (sqzOn == false) and (sqzOff == false);
val = LinRegForecast(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),ma(close,lengthKC)),lengthKC,0);
bcolor = iff(val > 0,iff( val > val[1], lime, green),iff( val < val[1], red, maroon));
scolor = iff(noSqz , blue , IFf(sqzOn , black , gray ));
plot1(val,"SQZMOM_LB",bcolor);
plot2(0, "0",scolor);
즐거운 하루되세요
> 하날랑 님이 쓴 글입니다.
> 제목 : 변환을 부탁드립니다.
>
트레이딩뷰의 Squeeze Momentum 입니다. 수고스럽겠지만 예스랭귀지로 변환을 부탁드립니다.
//
// @author LazyBear
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false)
length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)", type=bool)
// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = (sqzOn == false) and (sqzOff == false)
val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)),
lengthKC,0)
bcolor = iff( val > 0,
iff( val > nz(val[1]), lime, green),
iff( val < nz(val[1]), red, maroon))
scolor = noSqz ? blue : sqzOn ? black : gray
plot(val, color=bcolor, style=histogram, linewidth=4)
plot(0, color=scolor, style=cross, linewidth=2)
변환시켜 주시면 바로 시스템에 적용할 수 있을 것으로 생각했는데 아직도 실력이 부족한가 봅니다.
buy = sqzOff and val > 0 ;
sell = sqzOff and val < 0 ;
이렇게 적용하였더니
논리값(참/거짓)이나 논리표현식이 와야 한다는 메세지가 뜹니다.
한번더 바르게 잡아 주시면 고맙겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 변환을 부탁드립니다.
>
안녕하세요
예스스탁입니다.
input : length(20);
input : mult(2.0);
input : lengthKC(20);
input : multKC(1.5);
input : useTrueRange(true);
var : source(0),basis(0),dev(0),upperBB(0),lowerBB(0);
var : mav(0),R(0),Rangema(0),upperKC(0),lowerKC(0);
var : sqzOn(False),sqzOff(False),noSqz(False);
var : val(0),bcolor(0),scolor(0);
source = close;
basis = ma(source, length);
dev = multKC * std(source, length);
upperBB = basis + dev;
lowerBB = basis - dev;
// Calculate KC
mav = ma(source, lengthKC);
R = iff(useTrueRange == true,TrueRange , (high - low));
rangema = ma(R, lengthKC);
upperKC = mav + rangema * multKC;
lowerKC = mav - rangema * multKC;
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC);
noSqz = (sqzOn == false) and (sqzOff == false);
val = LinRegForecast(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),ma(close,lengthKC)),lengthKC,0);
bcolor = iff(val > 0,iff( val > val[1], lime, green),iff( val < val[1], red, maroon));
scolor = iff(noSqz , blue , IFf(sqzOn , black , gray ));
plot1(val,"SQZMOM_LB",bcolor);
plot2(0, "0",scolor);
즐거운 하루되세요
> 하날랑 님이 쓴 글입니다.
> 제목 : 변환을 부탁드립니다.
>
트레이딩뷰의 Squeeze Momentum 입니다. 수고스럽겠지만 예스랭귀지로 변환을 부탁드립니다.
//
// @author LazyBear
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
study(shorttitle = "SQZMOM_LB", title="Squeeze Momentum Indicator [LazyBear]", overlay=false)
length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")
useTrueRange = input(true, title="Use TrueRange (KC)", type=bool)
// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev
// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = (sqzOn == false) and (sqzOff == false)
val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)),
lengthKC,0)
bcolor = iff( val > 0,
iff( val > nz(val[1]), lime, green),
iff( val < nz(val[1]), red, maroon))
scolor = noSqz ? blue : sqzOn ? black : gray
plot(val, color=bcolor, style=histogram, linewidth=4)
plot(0, color=scolor, style=cross, linewidth=2)