커뮤니티

if문 질문입니다.

프로필 이미지
jaemy
2012-05-02 16:31:57
397
글번호 50716
답변완료
input : ss(200); Var : value1(0); value1 = (highest(H,ss)-lowest(L,ss))*(31.8/100)+lowest(L,ss); if stime >= 90500 and stime <= 144500 and (highest(H,ss)/lowest(L,ss))>=1.025 and c[5]>=value1 and c[50]>=value1 and c[100]>=value1 and c[20]>=value1 and c<=value1 and c[2]>=value1 Then buy("buy"); SetStopProfittarget(20*PriceScale,PointStop); SetStopLoss(20*PriceScale,PointStop); 시스템 일부분인데 신호 발생 부분을 보면 위에 나온 조건을 만족하지 않는 부분에서도 신호가 발생하는데 if문에서 조건이 여러개면 안먹히는 그런게 있는건가요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-05-02 17:11:33

안녕하세요 예스스탁입니다. if 조건안에 조건의 갯수는 제한이 없습니다. 조건이 여러개 이시면 게속 and로 연결하시면 됩니다. if 조건이 만족하지 않았는데 신호가 발생하는 경우는 없습니다. 작성하신 수식과 의도하시는 내용이 맞는지 확인해 보셔야 합니다. 작성하신 식 내용은 아래와 같습니다. input : ss(200); Var : value1(0); #200개봉 최고가-최저가 값의 31.8%를 200봉 저가의 더한값 value1 = (highest(H,ss)-lowest(L,ss))*(31.8/100)+lowest(L,ss); if stime >= 90500 and #9시5분봉 이후 stime <= 144500 and #14시 45분봉 이전 (highest(H,ss)/lowest(L,ss))>=1.025 and #200봉 최고값이 200봉 최저값대비 2.5%이상 크다 c[5]>=value1 and #5개봉전 종가가 현재봉 value1보다 크다 c[50]>=value1 and #50개봉전 종가가 현재봉 value1보다 크다 c[100]>=value1 and #100개봉전 종가가 현재봉 value1보다 크다 c[20]>=value1 and #20개봉전 종가가 현재봉 value1보다 크다 c<=value1 and #현재봉 종가가 현재봉 value1보다 크다 c[2]>=value1 Then #2개봉전 종가가 현재봉 value1보다 크다 buy("buy"); SetStopProfittarget(20*PriceScale,PointStop); SetStopLoss(20*PriceScale,PointStop); 즐거운 하루되세요 > jaemy 님이 쓴 글입니다. > 제목 : if문 질문입니다. > input : ss(200); Var : value1(0); value1 = (highest(H,ss)-lowest(L,ss))*(31.8/100)+lowest(L,ss); if stime >= 90500 and stime <= 144500 and (highest(H,ss)/lowest(L,ss))>=1.025 and c[5]>=value1 and c[50]>=value1 and c[100]>=value1 and c[20]>=value1 and c<=value1 and c[2]>=value1 Then buy("buy"); SetStopProfittarget(20*PriceScale,PointStop); SetStopLoss(20*PriceScale,PointStop); 시스템 일부분인데 신호 발생 부분을 보면 위에 나온 조건을 만족하지 않는 부분에서도 신호가 발생하는데 if문에서 조건이 여러개면 안먹히는 그런게 있는건가요?