커뮤니티
수식 재문의 드립니다.
2013-08-07 15:24:15
166
글번호 66194
지난번 아래와 같이 일봉차트에서 주봉 MACD Osc 표시 수식을 작성해 주셨는데,
재가 말씀을 잘못 드린거 같아서 다시 문의 드립니다;;
일봉차트에서 주봉 MACD Osc.를 나타낼때,
일주일간의 주봉 MACD Osc.를 봉 하나로 표현했으면 합니다.
예를 들면 매주 마지막 거래일에 주봉 MACD Osc 한개의 막대그래프를 표현하는 것입니다.
부탁 드립니다.
감사합니다.
--------------------------------------------------------------------------
Input : shortPeriod(12), longPeriod(26), Period(9); # 일봉 기준
var : osc(0);
var : Osc_Max(0),C_Max(0),Osc_Max1(0),C_Max1(0),Osc_Max2(0),C_Max2(0),maxidx(0);
var : Osc_Min(0),C_Min(0),Osc_Min1(0),C_Min1(0),Osc_min2(0),C_min2(0),minidx(0);
Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), PreMacdSig(0), macdSig(0),macdOsc(0),PreMacdOsc1(0),PreMacdOsc2(0);
if dayofweek(date) < DayOfWeek(date[1]) then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdSig = macdSig[1];
PreMacdOsc1 = macdOsc[1];
PreMacdOsc2 = PreMacdOsc1[1];
}
Ep1 = 2/(shortPeriod+1);
EP2 = 2/(longPeriod+1);
EP3 = 2/(Period+1);
JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); //단기지수이동평균
JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * Ep3 + PreMacdSig * (1-Ep3); //macd signal
macdOsc = macdval-macdsig;
plot1(macdval,"주봉 MACD");
plot2(macdsig,"주봉 MACD sig");
plot3(macdOsc,"주봉 MACD osc");#속성화면에서 막대그래프
PlotBaseLine1(0);
오실레이터는 막대그래프로 설정하시고 적용하시면 됩니다.
즐거운 하루되세요
> 밝은아침 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 답변 정말 감사드립니다.
많이 배우고 있습니다.
아래 식 관련,
일봉 차트에서 주봉 MACD 오실레이터를 나타내는 지표 수식도 문의 드립니다.
수고하십시오.
답변 1
예스스탁 예스스탁 답변
2013-08-07 16:13:36
안녕하세요
예스스탁입니다.
수식은 차트왼쪽(과거)에서 오른쪽(현재)으로만 계산이 되며
이미 지나간 봉에 값을 표시할수는 없습니다.
그러므로 현재봉에서 현재봉이 주의 마지막일인지는 판단해야 하는데
휴일데이터 등이 없어 작성한다면 금요일만 지표를 표시해라라고 할수 밖에 없습니다.
만약 주의 마지막일이 금요일이 아니면 해당주는 그려지지 않습니다.
차트의 마지막봉에 한해 현재값을 찍도록 했습니다.
Input : shortPeriod(12), longPeriod(26), Period(9); # 일봉 기준
var : osc(0);
var : Osc_Max(0),C_Max(0),Osc_Max1(0),C_Max1(0),Osc_Max2(0),C_Max2(0),maxidx(0);
var : Osc_Min(0),C_Min(0),Osc_Min1(0),C_Min1(0),Osc_min2(0),C_min2(0),minidx(0);
Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), PreMacdSig(0), macdSig(0),macdOsc(0),PreMacdOsc1(0),PreMacdOsc2(0);
if dayofweek(date) < DayOfWeek(date[1]) then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdSig = macdSig[1];
PreMacdOsc1 = macdOsc[1];
PreMacdOsc2 = PreMacdOsc1[1];
}
Ep1 = 2/(shortPeriod+1);
EP2 = 2/(longPeriod+1);
EP3 = 2/(Period+1);
JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); //단기지수이동평균
JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * Ep3 + PreMacdSig * (1-Ep3); //macd signal
macdOsc = macdval-macdsig;
plot1(macdval,"주봉 MACD");
plot2(macdsig,"주봉 MACD sig");
#금요일마다 지표 출력
if DayOfWeek(sdate) == 5 Then
plot3(macdOsc,"주봉 MACD osc");#속성화면에서 막대그래프
#차트상 마지막봉이 금요일이 아니면 그리는 식
if LastBarOnChart == 1 and DayOfWeek(sdate) < 5 Then
plot3(macdOsc,"주봉 MACD osc");#속성화면에서 막대그래프
PlotBaseLine1(0);
즐거운 하루되세요
> 밝은아침 님이 쓴 글입니다.
> 제목 : 수식 재문의 드립니다.
> 지난번 아래와 같이 일봉차트에서 주봉 MACD Osc 표시 수식을 작성해 주셨는데,
재가 말씀을 잘못 드린거 같아서 다시 문의 드립니다;;
일봉차트에서 주봉 MACD Osc.를 나타낼때,
일주일간의 주봉 MACD Osc.를 봉 하나로 표현했으면 합니다.
예를 들면 매주 마지막 거래일에 주봉 MACD Osc 한개의 막대그래프를 표현하는 것입니다.
부탁 드립니다.
감사합니다.
--------------------------------------------------------------------------
Input : shortPeriod(12), longPeriod(26), Period(9); # 일봉 기준
var : osc(0);
var : Osc_Max(0),C_Max(0),Osc_Max1(0),C_Max1(0),Osc_Max2(0),C_Max2(0),maxidx(0);
var : Osc_Min(0),C_Min(0),Osc_Min1(0),C_Min1(0),Osc_min2(0),C_min2(0),minidx(0);
Var : Ep1(0), EP2(0), EP3(0), JISU1(0), JISU2(0), PreJISU1(0), PreJISU2(0);
Var : macdVal(0), PreMacdSig(0), macdSig(0),macdOsc(0),PreMacdOsc1(0),PreMacdOsc2(0);
if dayofweek(date) < DayOfWeek(date[1]) then {
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMacdSig = macdSig[1];
PreMacdOsc1 = macdOsc[1];
PreMacdOsc2 = PreMacdOsc1[1];
}
Ep1 = 2/(shortPeriod+1);
EP2 = 2/(longPeriod+1);
EP3 = 2/(Period+1);
JISU1 = C * Ep1 + PreJISU1 * (1-Ep1); //단기지수이동평균
JISU2 = C * Ep2 + PreJISU2 * (1-Ep2); //장기지수이동평균
macdVal = JISU1 - JISU2; //macd
macdSig = macdVal * Ep3 + PreMacdSig * (1-Ep3); //macd signal
macdOsc = macdval-macdsig;
plot1(macdval,"주봉 MACD");
plot2(macdsig,"주봉 MACD sig");
plot3(macdOsc,"주봉 MACD osc");#속성화면에서 막대그래프
PlotBaseLine1(0);
오실레이터는 막대그래프로 설정하시고 적용하시면 됩니다.
즐거운 하루되세요
> 밝은아침 님이 쓴 글입니다.
> 제목 : 수식 문의 드립니다.
> 답변 정말 감사드립니다.
많이 배우고 있습니다.
아래 식 관련,
일봉 차트에서 주봉 MACD 오실레이터를 나타내는 지표 수식도 문의 드립니다.
수고하십시오.