커뮤니티

For 구문 다시 질문드립니다...ㅠㅠ

프로필 이미지
스피리투스
2019-07-16 16:29:28
158
글번호 130388
답변완료
input : P1(5),P2(10),P3(20),P4(60),P5(120); input : BBP(20),dv(2),dv2(3); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),B(0),S(0),BX(0),SX(0); Var : BBup(0),BBdn(0),BBup2(0),BBdn2(0); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); mav4 = ma(C,P4); mav5 = ma(C,P5); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); BBup2 = BollBandUp(BBP,dv2); BBdn2 = BollBandDown(BBP,dv2); if MarketPosition ==0 and H>=BBup and mav5<BBup then buy("b1"); 감사합니다. 제가 질문을 잘못 드려서 다시 자세히 말씀드리겠습니다. 위에서 if MarketPosition ==0 and H>=BBup and mav5<BBdn then buy("b1"); mav5<bbdn 인데 bbup으로 잘못 썼습니다..ㅠㅠ 그래서 볼벤다운이 120일 선 위에 위치할 때는 매수입니다. 그런데 5일선 위에 위치하는 경우도 매수, 10일선 위에 위치하는 경우도 매수, 60일선 위에 위치하는 경우도 매수... 이런 식으로 하고 싶은 것입니다. 볼벤다운이 120일선 위에는 있어도 10일선 같은 그 이하의 이평선에 대해서는 아래에 있을 때도 있잖아요? 그런데 어찌 됐건 볼벤다운이 어떤 이평이든 그 위에 있으면 매수하는 것입니다. 이걸 일일이 다 하면, mav1<bbdn or mav2<bbdn or mav3<bbdn....수십개를 입력해야 할 거 같아서 이걸 for구문으로 하고 싶습니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-07-17 11:13:40

안녕하세요 예스스탁입니다. input : P1(5),P2(120); input : BBP(20),dv(2),dv2(3); Var : BBup(0),BBdn(0),BBup2(0),BBdn2(0); var : cnt(0); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); BBup2 = BollBandUp(BBP,dv2); BBdn2 = BollBandDown(BBP,dv2); if index >= P2 then { #초기값 false Condition1 = false; #p1이평부터 p2이평까지 5씩 기간 증가해서 #BBdn이 한개이상 어떤이평보다 크면 true for cnt = P1 to P2 step 5 { if ma(C,cnt) < BBdn Then Condition1 = true; } if MarketPosition <=0 and H>bbup and Condition1 == true Then buy("b1"); } 즐거운 하루되세요 > 스피리투스 님이 쓴 글입니다. > 제목 : For 구문 다시 질문드립니다...ㅠㅠ > input : P1(5),P2(10),P3(20),P4(60),P5(120); input : BBP(20),dv(2),dv2(3); var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),B(0),S(0),BX(0),SX(0); Var : BBup(0),BBdn(0),BBup2(0),BBdn2(0); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); mav4 = ma(C,P4); mav5 = ma(C,P5); BBup = BollBandUp(BBP,dv); BBdn = BollBandDown(BBP,dv); BBup2 = BollBandUp(BBP,dv2); BBdn2 = BollBandDown(BBP,dv2); if MarketPosition ==0 and H>=BBup and mav5<BBup then buy("b1"); 감사합니다. 제가 질문을 잘못 드려서 다시 자세히 말씀드리겠습니다. 위에서 if MarketPosition ==0 and H>=BBup and mav5<BBdn then buy("b1"); mav5<bbdn 인데 bbup으로 잘못 썼습니다..ㅠㅠ 그래서 볼벤다운이 120일 선 위에 위치할 때는 매수입니다. 그런데 5일선 위에 위치하는 경우도 매수, 10일선 위에 위치하는 경우도 매수, 60일선 위에 위치하는 경우도 매수... 이런 식으로 하고 싶은 것입니다. 볼벤다운이 120일선 위에는 있어도 10일선 같은 그 이하의 이평선에 대해서는 아래에 있을 때도 있잖아요? 그런데 어찌 됐건 볼벤다운이 어떤 이평이든 그 위에 있으면 매수하는 것입니다. 이걸 일일이 다 하면, mav1<bbdn or mav2<bbdn or mav3<bbdn....수십개를 입력해야 할 거 같아서 이걸 for구문으로 하고 싶습니다. 감사합니다.