예스스탁
예스스탁 답변
2025-10-10 09:33:42.0
안녕하세요
예스스탁입니다.
input : period(10),multiplier(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + multiplier * AtrV;
lowerBand = src - multiplier * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
SuperTrend = lowerband;
Else
SuperTrend = upperband;
Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue));
}
input : 기간(45),R(2);
var : TOP(0),LO(0),DOUBLE(0),idx(0);
TOP = HIGHEST(H,기간);
LO = LOWEST(L,기간);
if H > TOP[1] Then
{
DOUBLE = H;
idx = 0;
}
Else
{
if DOUBLE > 0 Then
idx = idx+1;
}
if idx == 기간-R Then
{
var1 = DOUBLE;
Var2 = LO;
var3 = (var1+var2)/2;
}
Plot2(var1);
plot3(Var2);
plot4(var3);
var : box(0);
Condition1 = supertrend > var1;
if Condition1 == true Then
{
if Condition1[1] == False Then
{
box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,lightYellow);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
}
}
즐거운 하루되세요
> 포보스 님이 쓴 글입니다.
> 제목 : 도움을 청합니다.
> 안녕하세요
아래 수식에서 Plot4 라인을 추가하되 Plot2와 Plot3의 중간선(50%)라인을 추가하고자 합니다.
부탁드리겠습니다.
추석연휴 즐거운시간 되시길 바랍니다.
========================
input : period(10),multiplier(3);
var : src(0), AtrV(0),upperBand(0),lowerBand(0), prevLowerBand(0), prevUpperBand(0);
var : prevSuperTrend(0), direction(0),alpha(0),source(0),SuperTrend(C);
if CurrentBar > 1 Then
{
src = (H+L)/2;
alpha = 1 / period ;
source = max(high - low, abs(high - close[1]), abs(low - close[1]));
ATrV = alpha * source + (1 - alpha) * ATrV[1]; //지수가중이평방식
//ATrV = ma(source,AtrPeriod); //단순이평방식
upperBand = src + multiplier * AtrV;
lowerBand = src - multiplier * AtrV;
prevLowerBand = lowerBand[1];
prevUpperBand = upperBand[1];
if lowerBand > prevLowerBand or close[1] < prevLowerBand Then
lowerBand = lowerBand;
Else
lowerBand = prevLowerBand;
if upperBand < prevUpperBand or close[1] > prevUpperBand Then
upperBand = upperBand;
Else
upperBand = prevUpperBand;
if C > UpperBand Then
direction = 1;
if C < LowerBand Then
direction = -1;
if direction == 1 Then
SuperTrend = lowerband;
Else
SuperTrend = upperband;
Plot1(SuperTrend,"SuperTrend",IFF(direction==1,Red,Blue));
}
input : 기간(45),R(2);
var : TOP(0),LO(0),DOUBLE(0),idx(0);
TOP = HIGHEST(H,기간);
LO = LOWEST(L,기간);
if H > TOP[1] Then
{
DOUBLE = H;
idx = 0;
}
Else
{
if DOUBLE > 0 Then
idx = idx+1;
}
if idx == 기간-R Then
{
var1 = DOUBLE;
Var2 = LO;
}
Plot2(var1);
plot3(Var2);
var : box(0);
Condition1 = supertrend > var1;
if Condition1 == true Then
{
if Condition1[1] == False Then
{
box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,lightYellow);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
}
}