커뮤니티

수식 부탁드립니다.

프로필 이미지
샐리짱
2011-06-02 20:12:06
729
글번호 39368
답변완료
수고 많으십니다. 아침 첫 봉의 시초가를 기준으로 매매하는 전략식입니다. ---- 본인이 작성한 전략식 ---- if stime == 090000 Then var1 = o; if crossup(c, var1) Then buy("시가매수", atmarket); if crossdown(c, var1) Then sell("시가매도", atmarket); -------------------------------- 제 생각에는 장 시작 후 매수신호든 매도신호든 무조건 2번째 봉에서 신호가 나와야 되는 것으로 알고 있습니다만, 다음과 같은 결과가 나오는군요. (1) 어떤 경우는 신호가 나오고, (2) 어떤 경우는 신호가 안나오고, (3) 아예, 첫 봉부터 신호가 나오는 경우가 있습니다. 무엇이 잘못되었는지 조언 부탁드립니다. 감사합니다
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-06-03 09:55:24

안녕하세요 예스스탁입니다. crossup과 crossdown은 현재봉과 전봉 2개의 봉이 조건에 맞아야 합니다. 두함수를 풀어작성하면 아래와 같습니다. crossup(A,B)는 A > B and A[1] <= B[1] crossdown(A,B)는 A < B and A[1] >= B[1] 즉 현재봉은 위나 아래에 있더라도 전봉의 조건이 맞지 않을 수 있습니다. 첫번째봉의 종가가 시가보다 크고 두번째봉의 종가도 시가보다 크면 crossup 충족 X 첫번째봉의 종가가 시가보다 작고 두번째봉의 종가도 시가보다 작으면 crossdown 충족 X 입니다. 높낮이만 가지고 판단하시면 다면 아래와 같이 작성하시면 됩니다. if stime == 090000 Then var1 = o; if dayindex > 0 Then{ if c > var1 Then buy("시가매수", atmarket); if c < var1 Then sell("시가매도", atmarket); } 즐거운 하루되세요 > 샐리짱 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 수고 많으십니다. 아침 첫 봉의 시초가를 기준으로 매매하는 전략식입니다. ---- 본인이 작성한 전략식 ---- if stime == 090000 Then var1 = o; if crossup(c, var1) Then buy("시가매수", atmarket); if crossdown(c, var1) Then sell("시가매도", atmarket); -------------------------------- 제 생각에는 장 시작 후 매수신호든 매도신호든 무조건 2번째 봉에서 신호가 나와야 되는 것으로 알고 있습니다만, 다음과 같은 결과가 나오는군요. (1) 어떤 경우는 신호가 나오고, (2) 어떤 경우는 신호가 안나오고, (3) 아예, 첫 봉부터 신호가 나오는 경우가 있습니다. 무엇이 잘못되었는지 조언 부탁드립니다. 감사합니다
프로필 이미지

예스스탁 예스스탁 답변

2011-06-03 15:41:53

안녕하세요 예스스탁입니다. 강제청산을 설정하시므로 아래와 같이 작성하셔야 합니다. if stime == 090000 Then var1 = o; if dayindex == 0 Then{ if c > var1 Then buy("시가매수1",AtMarket); if c < var1 Then sell("시가매도1",AtMarket); } if dayindex > 0 and stime < 150000 Then{ if crossup(c,var1) Then buy("시가매수2",AtMarket); if CrossDown(c,var1) Then sell("시가매도2",AtMarket); } 즐거운 하루되세요 > 샐리짱 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > 수고 많으십니다. 아침 첫 봉의 시초가를 기준으로 매매하는 전략식입니다. ---- 본인이 작성한 전략식 ---- if stime == 090000 Then var1 = o; if crossup(c, var1) Then buy("시가매수", atmarket); if crossdown(c, var1) Then sell("시가매도", atmarket); -------------------------------- 제 생각에는 장 시작 후 매수신호든 매도신호든 무조건 2번째 봉에서 신호가 나와야 되는 것으로 알고 있습니다만, 다음과 같은 결과가 나오는군요. (1) 어떤 경우는 신호가 나오고, (2) 어떤 경우는 신호가 안나오고, (3) 아예, 첫 봉부터 신호가 나오는 경우가 있습니다. 무엇이 잘못되었는지 조언 부탁드립니다. 감사합니다