늘 감사하드립니다.
월봉의 지수이동평균의 정확한 값은 어떻게 계산할 수 있나요?
"월봉 7, 14, 21 이평이 역배열" 또는 월봉 7, 14 이평의 이격도 5% 이내"인 상태에서
월봉의 7이평을 종가가 상향돌파한 날의 시가 또는 시고저종가의 평균에 3% 이내 수렴하는 종목을 검색하려 합니다.
아래와 같이 월봉을 20일로 계산해서 넣으면 전혀 다른 종목이 나와서 여쭤봅니다.
var1 = ma(C,140);
Var2 = ma(C,280);
Var3 = ma(C,420);
Condition1 = var1 < Var2 and Var2 < var3 and Abs(var1 - var2) < 0.05 and CrossUp(C,Var3);
if Condition1 == true Then
Var4 = O;
Var5 = (O+H+L+C)/4;
if ((C <= Var4*1.03 and C >= Var4*0.97) or (C <= Var5*1.03 and C >= Var5*0.97)) then
find(1);
답변 1
예스스탁
예스스탁 답변
2023-07-17 14:58:44
안녕하세요
예스스탁입니다.
이평의 봉수를 늘려서 타주기 이평은 계산할 수 없습니다.
일봉에서 140이평이 월봉이평은 아닙니다.
월봉 이평 3개를 계산하는 내용으로 추가해
수정해 드립니다.
input : P1(7),P2(14),P3(21);
var : cnt(0);
var : sum1(0),sum2(0),sum3(0);
var : weekmav1(0),weekmav2(0),weekmav3(0);
Array : weekc[99](0);
if sdate > sdate[1]+30 Then
{
for cnt = 1 to 99
{
weekc[cnt] = weekc[cnt-1][1];
}
}
weekc[0] = C;
if weekc[P1-1] > 0 Then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1+weekc[cnt];
}
weekmav1 = sum1/P1;
}
if weekc[P2-1] > 0 Then
{
sum2 = 0;
for cnt = 0 to P2-1
{
sum2 = sum2+weekc[cnt];
}
weekmav2 = sum2/P2;
}
if weekc[P3-1] > 0 Then
{
sum3 = 0;
for cnt = 0 to P3-1
{
sum3 = sum3+weekc[cnt];
}
weekmav3 = sum3/P3;
}
Condition1 = weekmav1 > 0 and weekmav2 > 0 and weekmav3 > 0 and
weekmav1 < weekmav2 and weekmav2 < weekmav3 and Abs(weekmav1 - weekmav2) < 0.05 and CrossUp(C,weekmav3);
if Condition1 == true Then
{
Var4 = O;
Var5 = (O+H+L+C)/4;
}
if ((var4 > 0 and C <= Var4*1.03 and C >= Var4*0.97) or (Var5 > 0 and C <= Var5*1.03 and C >= Var5*0.97)) then
find(1);
즐거운 하루되세요
> 민서홧팅 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 늘 감사하드립니다.
월봉의 지수이동평균의 정확한 값은 어떻게 계산할 수 있나요?
"월봉 7, 14, 21 이평이 역배열" 또는 월봉 7, 14 이평의 이격도 5% 이내"인 상태에서
월봉의 7이평을 종가가 상향돌파한 날의 시가 또는 시고저종가의 평균에 3% 이내 수렴하는 종목을 검색하려 합니다.
아래와 같이 월봉을 20일로 계산해서 넣으면 전혀 다른 종목이 나와서 여쭤봅니다.
var1 = ma(C,140);
Var2 = ma(C,280);
Var3 = ma(C,420);
Condition1 = var1 < Var2 and Var2 < var3 and Abs(var1 - var2) < 0.05 and CrossUp(C,Var3);
if Condition1 == true Then
Var4 = O;
Var5 = (O+H+L+C)/4;
if ((C <= Var4*1.03 and C >= Var4*0.97) or (C <= Var5*1.03 and C >= Var5*0.97)) then
find(1);