커뮤니티

지표식 문의.

프로필 이미지
하루하루
2011-06-16 14:42:02
661
글번호 39867
답변완료
만약 30분이상 시가대비 + - 0.8사이에 있다면 횡보로 표시 하기 위해 물어서 아래와 같은 답변을 받아 지표로 표시 하려고 아래와 같이 작성 했는데요. 금일 6월 16일 장 보면 현재 if Condition1 then{ var1 = O; var2 = H; var3 = L; var4 = TimeToMinutes(stime); var5 = sdate; } if H > var2 Then var2 = H; if L < var3 Then var3 = L; if sdate == var5 And TimeToMinutes(stime) >= var4+30 and var2 < var1+1 And var3 > var1-1 then{ var2=h; var3=l;} plot1(var2,"H",red); plot2(var3,"L",blue); MessageLog(" %.2f %.2f",var2,var3); 11시 반이후 표시가 되어야 하는데 전혀 표시가 되지 않습니다. 랭귀지 공부하고 있는데도 이부분은 잘 모르겠네요. 의도한 대로라면 오늘 11시 반이후 12시가 되는 시점에 위 식이 성립되어 표시가 되어야 하는데 안되고 있네요. 다시 한번 봐주세요.
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-06-16 17:05:47

안녕하세요 예스스탁입니다. 단변드린 식은 특정시점이후의 값을 가지고 계산합니다 그러므로 특정시점을 잡을수 있는 조건식이 들어가야 합니다. condition1을 특정 조건식으로 대체하셔야 합니다. 그대로 사용하시면 의미가 없습니다. 또한 if sdate == var5 And TimeToMinutes(stime) >= var4+30 and var2 < var1+1 And var3 > var1-1 then{ var2=h; var3=l;} 아래식의 var2=h,var3=l은 어떤 의미로 추가하신 내용인지 모르겠습니다. var2와 var3은 특정시점이후에 최고값과 최저값을 계산하여 저장하는 변수입니다. 30분 경과후 var2와 var3값을 저장하시려면 다른 변수를 만드셔서 저장하셔야 합니다. 단순히 현재봉 시점에서 과서 30분간 시가대비+-0.8이시면 아래식을 사용하시면 됩니다. var1 = int(30/BarInterval); value1 = highest(H,var1); value2 = lowest(L,var1); if value1 < O[var1]+0.8 and value2 > O[var1]-0.8 Then{ var2= value1; var3 = value2; } plot1(var2); plot2(var3); 즐거운 하루되세요 > 하루하루 님이 쓴 글입니다. > 제목 : 지표식 문의. > 만약 30분이상 시가대비 + - 0.8사이에 있다면 횡보로 표시 하기 위해 물어서 아래와 같은 답변을 받아 지표로 표시 하려고 아래와 같이 작성 했는데요. 금일 6월 16일 장 보면 현재 if Condition1 then{ var1 = O; var2 = H; var3 = L; var4 = TimeToMinutes(stime); var5 = sdate; } if H > var2 Then var2 = H; if L < var3 Then var3 = L; if sdate == var5 And TimeToMinutes(stime) >= var4+30 and var2 < var1+1 And var3 > var1-1 then{ var2=h; var3=l;} plot1(var2,"H",red); plot2(var3,"L",blue); MessageLog(" %.2f %.2f",var2,var3); 11시 반이후 표시가 되어야 하는데 전혀 표시가 되지 않습니다. 랭귀지 공부하고 있는데도 이부분은 잘 모르겠네요. 의도한 대로라면 오늘 11시 반이후 12시가 되는 시점에 위 식이 성립되어 표시가 되어야 하는데 안되고 있네요. 다시 한번 봐주세요.
프로필 이미지

예스스탁 예스스탁 답변

2011-06-16 17:27:58

안녕하세요 예스스탁입니다. var1 = int(30/BarInterval); value1 = highest(H,var1); value2 = lowest(L,var1); if value1-value2 < 1.5 Then{ var2 = value1; var3 = value2; } plot1(var2); plot2(var3); 최근 30분간 고저폭이 1.5포인트 미만이면 30분간 최고가와 최저가를 var2와 var3에 저장하고 지표로 출력 즐거운 하루되세요 > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표식 문의. > 안녕하세요 예스스탁입니다. 단변드린 식은 특정시점이후의 값을 가지고 계산합니다 그러므로 특정시점을 잡을수 있는 조건식이 들어가야 합니다. condition1을 특정 조건식으로 대체하셔야 합니다. 그대로 사용하시면 의미가 없습니다. 또한 if sdate == var5 And TimeToMinutes(stime) >= var4+30 and var2 < var1+1 And var3 > var1-1 then{ var2=h; var3=l;} 아래식의 var2=h,var3=l은 어떤 의미로 추가하신 내용인지 모르겠습니다. var2와 var3은 특정시점이후에 최고값과 최저값을 계산하여 저장하는 변수입니다. 30분 경과후 var2와 var3값을 저장하시려면 다른 변수를 만드셔서 저장하셔야 합니다. 단순히 현재봉 시점에서 과서 30분간 시가대비+-0.8이시면 아래식을 사용하시면 됩니다. var1 = int(30/BarInterval); value1 = highest(H,var1); value2 = lowest(L,var1); if value1 < O[var1]+0.8 and value2 > O[var1]-0.8 Then{ var2= value1; var3 = value2; } plot1(var2); plot2(var3); 즐거운 하루되세요 > 하루하루 님이 쓴 글입니다. > 제목 : 지표식 문의. > 만약 30분이상 시가대비 + - 0.8사이에 있다면 횡보로 표시 하기 위해 물어서 아래와 같은 답변을 받아 지표로 표시 하려고 아래와 같이 작성 했는데요. 금일 6월 16일 장 보면 현재 if Condition1 then{ var1 = O; var2 = H; var3 = L; var4 = TimeToMinutes(stime); var5 = sdate; } if H > var2 Then var2 = H; if L < var3 Then var3 = L; if sdate == var5 And TimeToMinutes(stime) >= var4+30 and var2 < var1+1 And var3 > var1-1 then{ var2=h; var3=l;} plot1(var2,"H",red); plot2(var3,"L",blue); MessageLog(" %.2f %.2f",var2,var3); 11시 반이후 표시가 되어야 하는데 전혀 표시가 되지 않습니다. 랭귀지 공부하고 있는데도 이부분은 잘 모르겠네요. 의도한 대로라면 오늘 11시 반이후 12시가 되는 시점에 위 식이 성립되어 표시가 되어야 하는데 안되고 있네요. 다시 한번 봐주세요.