예스스탁
예스스탁 답변
2025-12-04 10:06:03
안녕하세요
예스스탁입니다.
틱봉에서 분봉의 지표는 정확히 계산이 불가합니다.
랭귀지는 봉의 시고저종가만 사용이 가능한데
분봉의 시간경계가 봉 중간에 있으면 해당값을 알수 없습니다.
틱봉에서 분봉의 지표을 계산한 식은 근사값 정도로 보셔야 합니다.
input : ntime1(30);
input : 전환선기간(9),기준선기간(26),선행스팬2기간(52);
var : TF(0),S1(0),D1(0),TM(0),cnt(0);
var : H1(0),L1(0),H11(0),L11(0),H2(0),L2(0),H22(0),L22(0),H3(0),L3(0);
var : 전환선(0),기준선(0),선행스팬1(0),선행스팬2(0);
Array : HH[100](0),LL[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;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime1 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime1 > 1 and TM >= TM[1]+ntime1) or
(Bdate == Bdate[1] and ntime1 == 1 and TM > TM[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[선행스팬2기간+25] > 0 and LL[선행스팬2기간+25] > 0 then
{
H1 = HH[0];
L1 = LL[0];
H11 = HH[25];
L11 = LL[25];
H2 = HH[0];
L2 = LL[0];
H22 = HH[25];
L22 = LL[25];
H3 = HH[25];
L3 = LL[25];
for cnt = 0 to 선행스팬2기간-1{
if cnt < 전환선기간 Then{
if HH[cnt] > H1 Then
H1 = HH[cnt];
if LL[cnt] < L1 Then
L1 = LL[cnt];
if HH[cnt+25] > H11 Then
H11 = HH[cnt+25];
if LL[cnt+25] < L11 Then
L11 = LL[cnt+25];
}
if cnt < 기준선기간 Then{
if HH[cnt] > H2 Then
H2 = HH[cnt];
if LL[cnt] < L2 Then
L2 = LL[cnt];
if HH[cnt+25] > H22 Then
H22 = HH[cnt+25];
if LL[cnt+25] < L22 Then
L22 = LL[cnt+25];
}
if HH[cnt+25] > H3 Then
H3 = HH[cnt+25];
if LL[cnt+25] < L3 Then
L3 = LL[cnt+25];
}
전환선 = (H1 + L1)/2;
기준선 = (H2 + L2)/2;
선행스팬1 = ((H11+L11)/2 + (H22+L22)/2) / 2 ;
선행스팬2 = (H3+L3) / 2;
plot1(전환선);
plot2(기준선);
plot3(선행스팬1);
plot4(선행스팬2);
}
}
즐거운 하루되세요