예스스탁
예스스탁 답변
2023-07-18 13:16:17
안녕하세요
예스스탁입니다.
1
if문에 포함되는 실행문이 다수이면
{}로 실행문들을 묶어 주셔야 합니다.
if 조건 then
{
실행문1;
실행문2;
}
중괄호가 없으면 실행문2는 if문에 포함되지 않습니다.
2
아래는 {} 중괄호 처리만 변경한 식입니다.
input : Period1(4), Period2(10);
input : short(12),long(26),sig(9);
Input : hh(10), ww(10);
var : Sma1(0),Sma2(0);
var : v1(0),v2(0),i1(0),i2(0),box(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Plot1(Sma1, "이동평균1");
Plot2(Sma2, "이동평균2");
if CrossUp(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then
{
var1 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(80,255,0));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
}
else if CrossDown(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then
{
var2 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(255,80,255));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
}
Else
{
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
}
3
상향돌파, 하향이탈 구간중 지정한 인덱스조건등이 충족하는 구간만
배경을 표시하시려면 아래식 이용하시면 됩니다.
input : Period1(4), Period2(10);
input : short(12),long(26),sig(9);
Input : hh(10), ww(10);
var : Sma1(0),Sma2(0);
var : v1(0),v2(0),i1(0),i2(0),box(0),T(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Plot1(Sma1, "이동평균1");
Plot2(Sma2, "이동평균2");
if CrossUp(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
T = 1;
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then
{
var1 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(80,255,0));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
T = 2;
}
}
else if CrossDown(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
T = -1;
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then
{
var2 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(255,80,255));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
T = -2;
}
}
Else
{
if T == 2 or T == -2 Then
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
}
즐거운 하루되세요
> 요타 님이 쓴 글입니다.
> 제목 : 82915글 다시 확인 좀 부탁 드립니다.
> * 아래 문장이 안되는데 수정좀 부탁 드립니다.
즉 실행해도 편차가 5틱 인데도 신호가 발생 합니다.
→ 83915글 질문 내용 입니다.
* 제가 수정 했는데 어느 부분이 잘못되었나요?
## 아래문장
input : Period1(4), Period2(10);
input : short(12),long(26),sig(9);
Input : hh(10), ww(10);
var : Sma1(0),Sma2(0);
var : v1(0),v2(0),i1(0),i2(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Plot1(Sma1, "이동평균1");
Plot2(Sma2, "이동평균2");
if CrossUp(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then var1 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(80,255,0));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
else
if CrossDown(Sma1,Sma2) Then
{
v1 = C;
v2 = v1[1];
i1 = Index;
i2 = i1[1];
if (Index >= i1+hh or (Index < i1+hh and abs(v1-v2) >= PriceScale*ww)) Then var2 = c;
box = Box_New(sDate,sTime,h,NextBarSdate,NextBarStime,l);
Box_SetColor(box,Rgb(255,80,255));
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
* 고맙습니다 수고하십시요.