커뮤니티

모멘텀 스코어 계산

프로필 이미지
연감자
2018-06-13 11:34:27
174
글번호 119706
답변완료
안녕하세요. 모멘텀스코어를 계산하고 계산한 스코어의 이평선을 계산해서 3이평선이 12이평선 보다 높은 경우에 매수하고, 3이평선이 12이평선보다 낮으면 매도를 하고 싶은데요. Var : m1(0), m2(0), m3(0), m4(0); Var : m5(0), m6(0), m7(0), m8(0); Var : m9(0), m10(0), m11(0), m12(0); var : MoMS(0); If C-C[1] > 0 Then m1 = 1; If C-C[2] > 0 Then m2 = 1; If C-C[3] > 0 Then m3 = 1; If C-C[4] > 0 Then m4 = 1; If C-C[5] > 0 Then m5 = 1; If C-C[6] > 0 Then m6 = 1; If C-C[7] > 0 Then m7 = 1; If C-C[8] > 0 Then m8 = 1; If C-C[9] > 0 Then m9 = 1; If C-C[10] > 0 Then m11 = 1; If C-C[11] > 0 Then m11 = 1; If C-C[12] > 0 Then m12 = 1; MoMS = (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12); value1 = ma(MoMS, 3); value2 = ma(MoMS, 12); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 이렇게 했는데 제대로 작동을 안하는데 어떻게 수정해야 될까요?
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2018-06-14 11:33:49

안녕하세요 예스스탁입니다. 1 m1~m12가 조건에 만족하지 않으면 0값 가지게 하셔야 합니다. 현재는 한번 조건이 만족하면 1을 저장하고 계속 유지가 됩니다. 2 m11이 두번사용되고 m10이 없어 수정했습니다. 3 Var : m1(0), m2(0), m3(0), m4(0); Var : m5(0), m6(0), m7(0), m8(0); Var : m9(0), m10(0), m11(0), m12(0); var : MoMS(0); If C-C[1] > 0 Then m1 = 1; Else m1 = 0; If C-C[2] > 0 Then m2 = 1; Else m2 = 0; If C-C[3] > 0 Then m3 = 1; Else m3 = 0; If C-C[4] > 0 Then m4 = 1; Else m4 = 0; If C-C[5] > 0 Then m5 = 1; Else m5 = 0; If C-C[6] > 0 Then m6 = 1; Else m6 = 0; If C-C[7] > 0 Then m7 = 1; Else m7 = 0; If C-C[8] > 0 Then m8 = 1; Else m8 = 0; If C-C[9] > 0 Then m9 = 1; Else m9 = 0; If C-C[10] > 0 Then m10 = 1; Else m10 = 0; If C-C[11] > 0 Then m11 = 1; Else m11 = 0; If C-C[12] > 0 Then m12 = 1; Else m12 = 0; MoMS = (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12); value1 = ma(MoMS, 3); value2 = ma(MoMS, 12); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 즐거운 하루되세요 > 연감자 님이 쓴 글입니다. > 제목 : 모멘텀 스코어 계산 > 안녕하세요. 모멘텀스코어를 계산하고 계산한 스코어의 이평선을 계산해서 3이평선이 12이평선 보다 높은 경우에 매수하고, 3이평선이 12이평선보다 낮으면 매도를 하고 싶은데요. Var : m1(0), m2(0), m3(0), m4(0); Var : m5(0), m6(0), m7(0), m8(0); Var : m9(0), m10(0), m11(0), m12(0); var : MoMS(0); If C-C[1] > 0 Then m1 = 1; If C-C[2] > 0 Then m2 = 1; If C-C[3] > 0 Then m3 = 1; If C-C[4] > 0 Then m4 = 1; If C-C[5] > 0 Then m5 = 1; If C-C[6] > 0 Then m6 = 1; If C-C[7] > 0 Then m7 = 1; If C-C[8] > 0 Then m8 = 1; If C-C[9] > 0 Then m9 = 1; If C-C[10] > 0 Then m11 = 1; If C-C[11] > 0 Then m11 = 1; If C-C[12] > 0 Then m12 = 1; MoMS = (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12); value1 = ma(MoMS, 3); value2 = ma(MoMS, 12); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 이렇게 했는데 제대로 작동을 안하는데 어떻게 수정해야 될까요?
프로필 이미지

모루

2018-06-18 14:55:01

이평선으로 문의했는데, 틀린코드를 그대로 재사용하다니 씁씁합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 모멘텀 스코어 계산 > 안녕하세요 예스스탁입니다. 1 m1~m12가 조건에 만족하지 않으면 0값 가지게 하셔야 합니다. 현재는 한번 조건이 만족하면 1을 저장하고 계속 유지가 됩니다. 2 m11이 두번사용되고 m10이 없어 수정했습니다. 3 Var : m1(0), m2(0), m3(0), m4(0); Var : m5(0), m6(0), m7(0), m8(0); Var : m9(0), m10(0), m11(0), m12(0); var : MoMS(0); If C-C[1] > 0 Then m1 = 1; Else m1 = 0; If C-C[2] > 0 Then m2 = 1; Else m2 = 0; If C-C[3] > 0 Then m3 = 1; Else m3 = 0; If C-C[4] > 0 Then m4 = 1; Else m4 = 0; If C-C[5] > 0 Then m5 = 1; Else m5 = 0; If C-C[6] > 0 Then m6 = 1; Else m6 = 0; If C-C[7] > 0 Then m7 = 1; Else m7 = 0; If C-C[8] > 0 Then m8 = 1; Else m8 = 0; If C-C[9] > 0 Then m9 = 1; Else m9 = 0; If C-C[10] > 0 Then m10 = 1; Else m10 = 0; If C-C[11] > 0 Then m11 = 1; Else m11 = 0; If C-C[12] > 0 Then m12 = 1; Else m12 = 0; MoMS = (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12); value1 = ma(MoMS, 3); value2 = ma(MoMS, 12); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 즐거운 하루되세요 > 연감자 님이 쓴 글입니다. > 제목 : 모멘텀 스코어 계산 > 안녕하세요. 모멘텀스코어를 계산하고 계산한 스코어의 이평선을 계산해서 3이평선이 12이평선 보다 높은 경우에 매수하고, 3이평선이 12이평선보다 낮으면 매도를 하고 싶은데요. Var : m1(0), m2(0), m3(0), m4(0); Var : m5(0), m6(0), m7(0), m8(0); Var : m9(0), m10(0), m11(0), m12(0); var : MoMS(0); If C-C[1] > 0 Then m1 = 1; If C-C[2] > 0 Then m2 = 1; If C-C[3] > 0 Then m3 = 1; If C-C[4] > 0 Then m4 = 1; If C-C[5] > 0 Then m5 = 1; If C-C[6] > 0 Then m6 = 1; If C-C[7] > 0 Then m7 = 1; If C-C[8] > 0 Then m8 = 1; If C-C[9] > 0 Then m9 = 1; If C-C[10] > 0 Then m11 = 1; If C-C[11] > 0 Then m11 = 1; If C-C[12] > 0 Then m12 = 1; MoMS = (m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12); value1 = ma(MoMS, 3); value2 = ma(MoMS, 12); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 이렇게 했는데 제대로 작동을 안하는데 어떻게 수정해야 될까요?