예스스탁
예스스탁 답변
2022-01-24 11:33:32
안녕하세요
예스스탁입니다.
1
input : ntime(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),hv(0),lv(0);
var : HH(0),HO(0),HC(0),idx(0),HO1(0),HC1(0);
var : tHH(0),tHO(0),tHC(0),Q(0),R(0),S(0),m1(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
HO1 = HO[1];
HC1 = HC[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
{
hv = h;
lv = l;
idx = idx+1;
tHH = HH[1];
tHO = HO[1];
tHC = HC[1];
}
if h > hv Then
hv = h;
if l < lv Then
lv = l;
value1 = hv-lv;
if idx == 1 Then
{
HH = value1;
HO = hv;
HC = lv;
tHH = HH;
tHO = HO;
tHC = HC;
m1 = (hv+lv)/2;
}
Else
{
if value1 > tHH Then
{
HH = value1;
HO = hv;
HC = lv;
}
Else
{
HH = tHH;
HO = tHO;
HC = tHC;
}
}
}
if HO1 > 0 and HC1 > 0 Then
{
Q = (HO1+HC1)/2;
R = (DayHigh(1)-Q)/2;
S = (Q-DayLow(1))/2;
Plot1(DayOpen+R*1);
Plot2(DayOpen+R*2);
Plot3(DayOpen+R*3);
Plot4(DayOpen+R*4);
Plot5(DayOpen-S*1);
Plot6(DayOpen-S*2);
Plot7(DayOpen-S*3);
Plot8(DayOpen-S*4);
}
2
input : ntime(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),hv(0),lv(0);
var : HH(0),HO(0),HC(0),idx(0),HO1(0),HC1(0);
var : tHH(0),tHO(0),tHC(0),Q(0),R(0),S(0),m1(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
idx = 0;
HO1 = HO[1];
HC1 = HC[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
{
hv = h;
lv = l;
idx = idx+1;
tHH = HH[1];
tHO = HO[1];
tHC = HC[1];
}
if h > hv Then
hv = h;
if l < lv Then
lv = l;
value1 = hv-lv;
if idx == 1 Then
{
HH = value1;
HO = hv;
HC = lv;
tHH = HH;
tHO = HO;
tHC = HC;
m1 = (hv+lv)/2;
}
Else
{
if value1 > tHH Then
{
HH = value1;
HO = hv;
HC = lv;
}
Else
{
HH = tHH;
HO = tHO;
HC = tHC;
}
}
}
if HO1 > 0 and HC1 > 0 and idx >= 2 Then
{
Q = (HO1+HC1)/2;
R = (DayHigh(1)-Q)/2;
S = (Q-DayLow(1))/2;
Plot1(m1+R*1);
Plot2(m1+R*2);
Plot3(m1+R*3);
Plot4(m1+R*4);
Plot5(m1-S*1);
Plot6(m1-S*2);
Plot7(m1-S*3);
Plot8(m1-S*4);
}
Else
{
NoPlot(1);
NoPlot(2);
NoPlot(3);
NoPlot(4);
NoPlot(5);
NoPlot(6);
NoPlot(7);
NoPlot(8);
}
즐거운 하루되세요
> 원칙투자자 님이 쓴 글입니다.
> 제목 : 지표 수식(지표 2-1 및 2-2)의 수정을 부탁드립니다.
> 담당자님, 안녕하세요.
항상 수고 많으십니다. 작성해주신 지표 수식을 잘 활용하고 있습니다.
감사드립니다.
수식작성QA 75608 답변에서 작성해 주신 수식에 대하여
수정 보완을 부탁드립니다. (2-1 및 2-2 수정 의뢰)
cf. 아래 질문의 수정의뢰(1-1 및 1-2)와 관련되는 질문입니다.
지난 번에 요청드린 내용에서 제가 잘못 요청드려 오류가 있는 부분도 있고
("전일(D-1) 09:00 ~ 09:30 기간의 (고점 + 저점) / 2 = A" 등의 부분과
그것에서 이어지는 부분, "수식 Q" 부분 등을 제 오류로 제가 잘못 설명드렸습니다.
첨부 엑셀 파일에서 정정해서 다시 자세히 설명드렸습니다.)
세심하게 검토후 요청드리지 못해 담당자님을 번거롭게 해드린 점 죄송합니다.
그리고, 제 설명(요청)의 오류 부분을 감안해서 보더라도
담당자님께서 작성(답변)해 주신 수식을 실행하면
제가 의도했던 지표의 구현 결과(수평라인)와 차이점이 많습니다.
그래서 기존 지표의 수정을 부탁드립니다.
이에 첨부된 엑셀파일에서 지표 수식의 요청 설명을 다시 드렸고
여기에 실제 수치에 의한 사례를 보완하였습니다.
그리고 첨부된 엑셀파일에
제가 의도하는 지표의 구현 결과(예상)의 차트 그림과
담당자님께서 작성(답변)해 주신 지표수식을 실행한 결과의 차트 화면캡쳐 그림을
비교하여 제시하였습니다.
첨부된 엑셀 파일의 내용을 확인하시고
지표2-1, 지표2-2를 수정해 주실 것을 부탁드립니다.
* 첨부 : 지표 2-1 및 2-2 구현방법 설명(그림 포함)_2022.01.21
담당자님 노고와 답변에 미리 감사드립니다.
주말 잘 보내시기 바랍니다.
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
(참고)
담당자님의 편의를 위해
담당자님께서 수식작성QA 75608 답변에서 작성해 주신 수식을 아래에 기재합니다.
안녕하세요
예스스탁입니다.
Plot1갯수가 유동적으로 할수 없습니다.
시가+-6개만 작성해 드립니다.필요한 만큼 추가하셔야 합니다
<지표 2-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-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);
}