커뮤니티
수식 문의드립니다
2018-12-17 09:07:04
129
글번호 124475
안녕하세요?
작성하여 주신 수식이 조건에 부합하여도
신호가발생하지않습니다
예를 들면
ㄱ.1분차트에서
ㄴ.Tic 차트에서도
변수는
2분과
5분으로하였습니다.
input : ntime1(2),Period1(20);
input : ntime2(5),Period2(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0);
Array : C1[100](0),C2[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
for cnt = 1 to 99
{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if C1[Period1] > 0 and C2[Period2] > 0 then
{
sum1 = 0;
for cnt = 0 to Period1-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period1;
sum2 = 0;
for cnt = 0 to Period2-1
{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/Period2;
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav2,mav2) Then
sell();
}
}
검증 을하여보시고
수정을부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2018-12-17 10:54:54
안녕하세요
예스스탁입니다.
식을 수정했습니다.
틱봉에서는 분봉의 값은 정확히 계산되지 않습니다.
근사값으로 계산하게 됩니다.
input : ntime1(2),Period1(20);
input : ntime2(5),Period2(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0);
Array : C1[100](0),C2[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
for cnt = 1 to 99
{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if C1[Period1] > 0 and C2[Period2] > 0 then
{
sum1 = 0;
for cnt = 0 to Period1-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period1;
sum2 = 0;
for cnt = 0 to Period2-1
{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/Period2;
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav1,mav2) Then
sell();
}
}
즐거운 하루되세요
> 금보 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다
>
안녕하세요?
작성하여 주신 수식이 조건에 부합하여도
신호가발생하지않습니다
예를 들면
ㄱ.1분차트에서
ㄴ.Tic 차트에서도
변수는
2분과
5분으로하였습니다.
input : ntime1(2),Period1(20);
input : ntime2(5),Period2(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0);
Array : C1[100](0),C2[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
for cnt = 1 to 99
{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if C1[Period1] > 0 and C2[Period2] > 0 then
{
sum1 = 0;
for cnt = 0 to Period1-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/Period1;
sum2 = 0;
for cnt = 0 to Period2-1
{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/Period2;
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav2,mav2) Then
sell();
}
}
검증 을하여보시고
수정을부탁드립니다.
감사합니다.