예스스탁
예스스탁 답변
2023-02-13 16:45:59
안녕하세요
예스스탁입니다.
수식에서 타주기지표는 기본차트보다 배수로 높은 주기만 가능합니다.
수식은 봉의 시고저종만 이용이 가능하므로 봉 중간의 값을 알지 못합니다.
그러므로 200틱 차트에서 400틱이나 600틱은 계산이 가능하지만
500틱은 계산이 불가능합니다.
아래식 참고하시기 바랍니다.
기본차트 기준 N배 높은 주기입니다.
200틱에서 600틱은 당일 봉을 3개간격으로 구분하므로 N을 3으로 지정하시면 됩니다.
input : N(3),short(12),long(26),sig(9);
var : S1(0),D1(0),dx(0),TM(0),EP1(0),EP2(0),EP3(0),MACDO(0);
var : TF(0),xma1(0),xma2(0),idx(0),Prexma1(0),Prexma2(0),MACDV(0),MACDS(0),PreMACDS(0);
var : tx1(0),tx2(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
dx = 0;
}
Else
dx = dx+1;
if D1 > 0 then
{
TF = dx%N;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
idx = idx + 1;
Prexma1 = xma1[1];
Prexma2 = xma2[1];
PreMACDS = MACDS[1];
}
if idx <= 1 then {
xma1 = C;
xma2 = C;
MACDV = xma1-xma2;
MACDS = MACDV;
MACDO = MACDV-MACDS;
}
else{
xma1 = C * EP1 + Prexma1 * (1-EP1);
xma2 = C * EP2 + Prexma2 * (1-EP2);
MACDV = xma1-xma2;
MACDS = MACDV * EP3 + PreMACDS * (1-EP3);
MACDO = MACDV-MACDS;
}
plot1(MACDV,"MACD");
plot2(MACDS,"signal");
plot3(MACDO,"Ocs");
PlotBaseLine1(0);
If CrossUP(macdv, 0) Then
{
#봉위 표시
tx1 = Text_New(sDate,sTime,L,"▲");
Text_SetStyle(tx1,2,0);
Text_SetColor(tx1,Red);
#지표에 표시
tx2 = Text_New_Self(sDate,sTime,macdv,"▲");
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,Red);
}
If CrossDown(macdv, 0) Then
{
#봉위 표시
tx1 = Text_New(sDate,sTime,H,"▼");
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,Blue);
#지표에 표시
tx2 = Text_New_Self(sDate,sTime,macdv,"▼");
Text_SetStyle(tx2,2,1);
Text_SetColor(tx2,blue);
}
}
즐거운 하루되세요
> iambusy 님이 쓴 글입니다.
> 제목 : 지표문의
> 안녕하세요. 항상 도움 주셔서 감사드립니다.
전에 MACD 기준선 시스템 지표를 MACD 차트에 화살표로 표시 하는 지표를 잘 받았습니다.(글번호: 80548)
이 지표를 상위 차트에서 하위 차트의 MACD 기준선 매매 신호가 나오게 할 수 있을까요?
예를 들어 500틱 차트에서 200틱의 MACD 기준선 신호를 화살표로 나오게 가능할까요?
감사합니다.