예스스탁
예스스탁 답변
2022-01-20 13:45:43
안녕하세요
예스스탁입니다.
Plot1갯수가 유동적으로 할수 없습니다.
시가+-6개만 작성해 드립니다.필요한 만큼 추가하셔야 합니다
1
input : ntime(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),value(0),idx(0);
var : th(0),tl(0),hh(0),ll(0),hh1(0),ll1(0),r(0),s(0),mh(0),ml(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
hh1 = hh[1];
ll1 = ll[1];
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
mh = h;
ml = l;
idx = idx+1;
th = hh[1];
tl = ll[1];
}
if h > mh Then
mh = h;
if L < ml Then
ml = l;
value = (mh+mh)/2;
if idx == 1 Then
{
hh = value;
ll = value;
th = value;
tl = value;
}
Else
{
if value > th Then
hh = value;
Else
hh = th;
if value < tl Then
ll = value;
Else
ll = tl;
}
}
if hh1 > 0 and ll1 > 0 Then
{
R = (hh1-hh)/2;
S = (hh-ll1)/2;
Plot1(dayopen+r*1);
Plot2(dayopen+r*2);
Plot3(dayopen+r*3);
Plot4(dayopen+r*4);
Plot5(dayopen+r*5);
Plot6(dayopen+r*6);
Plot7(dayopen-s*1);
Plot8(dayopen-s*2);
Plot9(dayopen-s*3);
Plot10(dayopen-s*4);
Plot11(dayopen-s*5);
Plot12(dayopen-s*6);
}
2
input : ntime(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),value(0),idx(0);
var : th(0),tl(0),hh(0),ll(0),hh1(0),ll1(0),r(0),s(0),mh(0),ml(0),m1(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
hh1 = hh[1];
ll1 = ll[1];
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
mh = h;
ml = l;
idx = idx+1;
th = hh[1];
tl = ll[1];
}
if h > mh Then
mh = h;
if L < ml Then
ml = l;
value = (mh+mh)/2;
if idx == 1 Then
{
hh = value;
ll = value;
th = value;
tl = value;
m1 = value;
}
Else
{
if value > th Then
hh = value;
Else
hh = th;
if value < tl Then
ll = value;
Else
ll = tl;
}
}
if hh1 > 0 and ll1 > 0 Then
{
R = (hh1-hh)/2;
S = (hh-ll1)/2;
Plot1(m1+r*1);
Plot2(m1+r*2);
Plot3(m1+r*3);
Plot4(m1+r*4);
Plot5(m1+r*5);
Plot6(m1+r*6);
Plot7(m1-s*1);
Plot8(m1-s*2);
Plot9(m1-s*3);
Plot10(m1-s*4);
Plot11(m1-s*5);
Plot12(m1-s*6);
}
즐거운 하루되세요
> 원칙투자자 님이 쓴 글입니다.
> 제목 : 지표 수식(지표2-1, 지표2-2) 작성 부탁드립니다. (지표1-1, 1-2와 관련)
> 담당자님, 안녕하세요.
작성해주신 지표 수식을
잘 활용하고 있습니다. 감사드립니다..
지표 수식의 작성 부탁드립니다.
아래 Q&A75607번에서 지표수식 요청(지표1-1, 1-2)드린 것과 로직상 유사한 지표입니다.
작성에 참고하시기 바랍니다.
(KOSPI200 주가지수 선물) 분봉 차트에서, 예를 들면 3분봉 차트에서
적용하는 지표라고 가정하고 다음과 같은 로직의 지표 수식 작성을 부탁드립니다.
------------------------------------------------------------------------------------
<지표 2-1>
3분봉 차트에서
전일(D-1) 09:00 ~ 09:30 기간의 (고점 + 저점) / 2 = A
(cf. 즉, A는 30분 차트에서는 전일(D-1) 첫째 30분봉의 '(고점+저점)/2'와 같음.)
전일(D-1) 09:30 ~ 10:00 기간의 (고점 + 저점) / 2 = B
(cf. 즉, B는 30분 차트에서는 전일(D-1) 둘째 30분봉의 '(고점+저점)/2'와 같음.)
............ 위와 같은 로직으로
(10:00~10:30) -> C, (10:30~11:00) -> D, (11:00~11:30) -> E, (11:30~12:00) -> F,
(12:00~12:30) -> G, (12:30~13:00) -> H, (13:00~13:30) -> I, (13:30~14:00) -> J,
(14:00~14:30) -> K, (14:30~15:00) -> L,
전일(D-1) 15:00 ~ 15:30 기간의 (고점 + 저점) / 2 = M
전일(D-1) 15:00 ~ 장마감까지 기간의 (고점 + 저점) / 2 = N
(cf. 즉, N은 30분 차트에서는 전일(D-1) 마지막 30분봉의 '(고점+저점)/2'와 같음.)
으로 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산하여
'당일(D)의 시가 + (R*1)'를 표시하는 수평라인
'당일(D)의 시가 + (R*2)'를 표시하는 수평라인
'당일(D)의 시가 + (R*3)'를 표시하는 수평라인
'당일(D)의 시가 + (R*4)'를 표시하는 수평라인
'당일(D)의 시가 + (R*5)'를 표시하는 수평라인
'당일(D)의 시가 + (R*6)'를 표시하는 수평라인
'당일(D)의 시가 - (S*1)'를 표시하는 수평라인
'당일(D)의 시가 - (S*2)'를 표시하는 수평라인
'당일(D)의 시가 - (S*3)'를 표시하는 수평라인
'당일(D)의 시가 - (S*4)'를 표시하는 수평라인
'당일(D)의 시가 - (S*5)'를 표시하는 수평라인
'당일(D)의 시가 - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 장시작 부터 당일 장마감까지 기간에 표시함.
그런데
만일 당일 현재가가 '당일(D)의 시가 + (R*6)'의 수치(표시된 최종라인)을 상회(상향돌파)하면
'당일(D)의 시가 + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최고점 보다 상단에 위치하게 되는
수평라인[당일(D)의 시가 + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 '당일(D)의 시가 - (S*6)'의 수치(표시된 최종라인)을 하회(하향돌파)하면
'당일(D)의 시가 - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 되는
수평라인[당일(D)의 시가 - (S*n))]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 배수 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였으며
P는 지표 2-2에서만 사용되어 제외하였습니다. 참고하시기 바랍니다.
--------------------------------------------------------------------------------------
<지표 2-2>
3분봉 차트에서
A, B, C.........L, M, N에 대한 정의는 위의 지표2-1과 동일하게
A, B, C.........L, M, N을 정의하고
MAX(A, B, C, D........K, L, M, N) = Q
[전일(D-1)의 최고가 - Q] /2 = R
[Q - 전일(D-1)의 최저가] /2 = S
를 각각 계산함. <cf. 위의 지표 2-1과 A~N 정의, Q, R, S 수식 모두 동일함>
여기에
당일(D)의 (09:00에 시작하는 분봉 시가 + 09:30에 완성되는 분봉 종가) / 2 = P
(cf. 즉, P는 3분 차트에서 당일(D) '[(09:00~09:03) 캔들의 시가 + (09:27~09:30) 캔들의 종가] / 2'이며
P는 30분 차트에서는 당일 첫째 30분봉의 '(시가+종가)/2'와 같음.)
으로 (추가) 정의하고
'P + (R*1)'를 표시하는 수평라인
'P + (R*2)'를 표시하는 수평라인
'P + (R*3)'를 표시하는 수평라인
'P + (R*4)'를 표시하는 수평라인
'P + (R*5)'를 표시하는 수평라인
'P + (R*6)'를 표시하는 수평라인
'P - (S*1)'를 표시하는 수평라인
'P - (S*2)'를 표시하는 수평라인
'P - (S*3)'를 표시하는 수평라인
'P - (S*4)'를 표시하는 수평라인
'P - (S*5)'를 표시하는 수평라인
'P - (S*6)'를 표시하는 수평라인
을 모두 한꺼번에 당일(D) 9:30 부터 당일 장마감까지 기간에 표시함.
(cf. P는 당일(D) 첫째 30분봉의 시가와 종가의 봉중심임.)
그런데
만일 당일 현재가가 'P + (R*6)'의 수치(표시된 최종라인)을 상회(상향돌파)하면
'P + (R*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 상향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최고점 보다 상단에 위치하게 되는
수평라인[P + (R*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
또한,
만일 당일 현재가가 'P - (S*6)'의 수치(표시된 최종라인)을 하회(하향돌파)하면
'P - (S*7)'를 표시하는 수평라인을 추가로 표시하고
그 라인도 하향돌파하면 순차적으로 배수 n이 증가하여
당일(D) 지수 최저점 보다 하단에 위치하게 되는
수평라인[P - (S*n)]이 (1개) 반드시 존재하도록 그 수평라인이 추가됨.
<cf. 수평라인들이 추가되는 조건은 화면 상하단 크기의 제약을 고려하여 배수 n을 6으로 제한함에 따라
당일의 등락폭이 매우 큰 날에는 당일의 지수구간을 모두 표시하지 못할 경우에 대한 보완임.
그런데 이를 지표 수식으로 구현하는 것이 어려우면 제외해도 되지만 가능하다면 구현되기를 희망함>
cf. 위 변수 A~S 중에서 O는 0(영)과 혼동될 수 있어 제외하였습니다. 참고하시기 바랍니다.
---------------------------------------------------------------------------------------
위와 같이 지표2-1, 2-2의 수식 작성을 부탁드립니다.
담당자님 노고와 답변에 미리
감사드립니다.