커뮤니티

82915글 다시 확인 좀 부탁 드립니다.

프로필 이미지
요타
2023-07-18 11:25:49
1318
글번호 170709
답변완료
* 아래 문장이 안되는데 수정좀 부탁 드립니다. 즉 실행해도 편차가 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); * 고맙습니다 수고하십시요.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

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); * 고맙습니다 수고하십시요.