예스스탁
예스스탁 답변
2023-08-18 17:53:58
안녕하세요
예스스탁입니다.
input : ATrPeriod1(10),factor1(1.0);
var : src1(0),ATrv1(0),upperband1(0),lowerBand1(0),direction1(0),superTrend1(0);
var : prevupperband1(0),prevlowerBand1(0),prevsupertrend1(0);
src1 = (h+l)/2;
atrv1 = atr(atrPeriod1);
upperBand1 = src1 + factor1 * atrv1;
lowerBand1 = src1 - factor1 * atrv1;
prevLowerBand1 = iff(IsNan(lowerBand1[1])==False,lowerBand1[1],0);
prevUpperBand1 = iff(IsNan(upperBand1[1])==false,upperBand1[1],0);
lowerBand1 = iff(lowerBand1 > prevLowerBand1 or close[1] < prevLowerBand1 , lowerBand1 , prevLowerBand1);
upperBand1 = iff(upperBand1 < prevUpperBand1 or close[1] > prevUpperBand1 , upperBand1 , prevUpperBand1);
prevsupertrend1 = iff(IsNan(SuperTrend1[1])==false,SuperTrend1[1],0);
if isnan(atrv1[1]) == true Then
direction1 = 1;
else if prevsupertrend1 == prevUpperBand1 Then
direction1 = iff(close > upperBand1 , -1 , 1);
else
direction1 = iff(close < lowerBand1 , 1 , -1);
superTrend1 = iff(direction1 == -1 , lowerBand1 , upperBand1);
if direction1 < 0 Then
Plot1(superTrend1,"upTrend1",Green);
Else
NoPlot(1);
if direction1 > 0 Then
Plot2(superTrend1,"downTrend1",Red);
Else
NoPlot(2);
input : ATrPeriod2(11),factor2(2.0);
var : src2(0),ATrv2(0),upperband2(0),lowerBand2(0),direction2(0),superTrend2(0);
var : prevupperband2(0),prevlowerBand2(0),prevsupertrend2(0);
src2 = (h+l)/2;
atrv2 = atr(atrPeriod2);
upperBand2 = src2 + factor2 * atrv2;
lowerBand2 = src2 - factor2 * atrv2;
prevLowerBand2 = iff(IsNan(lowerBand2[1])==False,lowerBand2[1],0);
prevUpperBand2 = iff(IsNan(upperBand2[1])==false,upperBand2[1],0);
lowerBand2 = iff(lowerBand2 > prevLowerBand2 or close[1] < prevLowerBand2 , lowerBand2 , prevLowerBand2);
upperBand2 = iff(upperBand2 < prevUpperBand2 or close[1] > prevUpperBand2 , upperBand2 , prevUpperBand2);
prevsupertrend2 = iff(IsNan(SuperTrend2[1])==false,SuperTrend2[1],0);
if isnan(atrv2[1]) == true Then
direction2 = 1;
else if SuperTrend2[1] == UpperBand2[1] Then
direction2 = iff(close > upperBand2 , -1 , 1);
else
direction2 = iff(close < lowerBand2 , 1 , -1);
superTrend2 = iff(direction2 == -1 , lowerBand2 , upperBand2);
if direction2 < 0 Then
Plot3(superTrend2,"upTrend2",Green);
Else
NoPlot(3);
if direction2 > 0 Then
Plot4(superTrend2,"downTrend2",Red);
Else
NoPlot(4);
input : ATrPeriod3(12),factor3(3.0);
var : src3(0),ATrv3(0),upperband3(0),lowerBand3(0),direction3(0),superTrend3(0);
var : prevupperband3(0),prevlowerBand3(0),prevsupertrend3(0);
src3 = (h+l)/2;
atrv3 = atr(atrPeriod3);
upperBand3 = src3 + factor3 * atrv3;
lowerBand3 = src3 - factor3 * atrv3;
prevLowerBand3 = iff(IsNan(lowerBand3[1])==False,lowerBand3[1],0);
prevUpperBand3 = iff(IsNan(upperBand3[1])==false,upperBand3[1],0);
lowerBand3 = iff(lowerBand3 > prevLowerBand3 or close[1] < prevLowerBand3 , lowerBand3 , prevLowerBand3);
upperBand3 = iff(upperBand3 < prevUpperBand3 or close[1] > prevUpperBand3 , upperBand3 , prevUpperBand3);
prevsupertrend3 = iff(IsNan(SuperTrend3[1])==false,SuperTrend3[1],0);
if isnan(atrv3[1]) == true Then
direction3 = 1;
else if prevsupertrend3 == prevUpperBand3 Then
direction3 = iff(close > upperBand3 , -1 , 1);
else
direction3 = iff(close < lowerBand3 , 1 , -1);
superTrend3 = iff(direction3 == -1 , lowerBand3 , upperBand3);
if direction3 < 0 Then
Plot5(superTrend3,"upTrend3",Green);
Else
NoPlot(5);
if direction3 > 0 Then
Plot6(superTrend3,"downTrend3",Red);
Else
NoPlot(6);
즐거운 하루되세요
> 정보대국 님이 쓴 글입니다.
> 제목 : 파인스크립트를 예스랭귀지로 부탁드려요~~
> 이것저것 해보는데 능력부족인지라...
부탁드립니다~~
atrPeriod1 = input(10, "ATR Length")
factor1 = input.float(1.0, "Factor", step = 0.01)
[supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1)
bodyMiddle1 = plot((open + close) / 2, display=display.none)
upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr)
//fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false)
//fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false)
atrPeriod2 = input(11, "ATR Length")
factor2 = input.float(2.0, "Factor", step = 0.01)
[supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2)
bodyMiddle2 = plot((open + close) / 2, display=display.none)
upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr)
atrPeriod3 = input(12, "ATR Length")
factor3 = input.float(3.0, "Factor", step = 0.01)
[supertrend3, direction3] = ta.supertrend(factor3, atrPeriod3)
bodyMiddle3 = plot((open + close) / 2, display=display.none)
upTrend3 = plot(direction3 < 0 ? supertrend3 : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend3 = plot(direction3 < 0? na : supertrend3, "Down Trend", color = color.red, style=plot.style_linebr)