커뮤니티
모멘텀 스코어 계산
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();
}
이렇게 했는데 제대로 작동을 안하는데 어떻게 수정해야 될까요?