예스스탁
예스스탁 답변
2019-12-11 13:14:39
안녕하세요
예스스탁입니다.
1. 일봉
Input: Period1(10),Period2(20),Period3(5);
var : cnt(0),Hval(0),Lval(0),V1(0),V2(0),SMIv(0);
var : EP2(0),EP3(0),DD(0),Pre1(0),Pre2(0),Pre3(0),Pre4(0);
var : emav1(0),emav2(0),emav3(0),emav4(0);
Hval = DayHigh(0);
Lval = DayLow(0);
for cnt = 0 to Period1-1
{
if DayHigh(cnt) > Hval Then
Hval = DayHigh(cnt);
if DayLow(cnt) < Lval Then
Lval = DayLow(cnt);
}
V1 = c-(Hval + Lval)/2;
V2 = (Hval + Lval);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
if bdate != bdate[1] then {
DD = DD + 1;
Pre1 = emav1[1];
Pre2 = emav2[1];
Pre3 = emav3[1];
Pre4 = emav4[1];
}
if DD <= 1 then{
emav1 = V1;
emav2 = emav1;
emav3 = V2;
emav4 = emav3;
}
else{
emav1 = V1 * EP2 + Pre1 * (1-EP2);
emav2 = emav1 * EP3 + Pre2 * (1-EP3);
emav3 = V2 * EP2 + Pre3 * (1-EP2);
emav4 = emav3 * EP3 + Pre4 * (1-EP3);
}
SMIv = emav2 * 100 / (0.5 * emav4);
plot1(SMIv,"주봉SMI");
2. 주봉
Input: Period1(10),Period2(20),Period3(5);
var : cnt(0),Hval(0),Lval(0),V1(0),V2(0),SMIv(0);
var : EP2(0),EP3(0),DD(0),Pre1(0),Pre2(0),Pre3(0),Pre4(0);
var : emav1(0),emav2(0),emav3(0),emav4(0);
Array : WH[100](0),WL[100](0);
if DayOfWeek(bdate) < DayOfWeek(bdate[1]) Then
{
WH[0] = H;
WL[0] = L;
for cnt = 1 to 99
{
WH[cnt] = WH[cnt-1][1];
WL[cnt] = WL[cnt-1][1];
}
if WH[Period1+1] > 0 and WL[Period1+1] > 0 then
{
DD = DD + 1;
Pre1 = emav1[1];
Pre2 = emav2[1];
Pre3 = emav3[1];
Pre4 = emav4[1];
}
}
if H > WH[0] Then
WH[0] = H;
if L < WL[0] Then
WL[0] = L;
if WH[Period1+1] > 0 and WL[Period1+1] > 0 then
{
Hval = WH[0];
Lval = WL[0];
for cnt = 0 to Period1-1
{
if WH[cnt] > Hval Then
Hval = WH[cnt];
if WL[cnt] < Lval Then
Lval = WL[cnt];
}
V1 = c-(Hval + Lval)/2;
V2 = (Hval + Lval);
Ep2 = 2/(Period2+1);
Ep3 = 2/(Period3+1);
if DD <= 1 then{
emav1 = V1;
emav2 = emav1;
emav3 = V2;
emav4 = emav3;
}
else{
emav1 = V1 * EP2 + Pre1 * (1-EP2);
emav2 = emav1 * EP3 + Pre2 * (1-EP3);
emav3 = V2 * EP2 + Pre3 * (1-EP2);
emav4 = emav3 * EP3 + Pre4 * (1-EP3);
}
SMIv = emav2 * 100 / (0.5 * emav4);
plot1(SMIv,"일봉SMI");
}
즐거운 하루되세요
> 짱짱해야지 님이 쓴 글입니다.
> 제목 : SMI
> 분봉에서 일봉과 주봉의 SMI를 나타내려고 합니다.
DATA2를 사용하지 않고 구하고 싶습니다. 항상 감사합니다
Lval = g기간 최저가
Hval = g기간 최고가
SM = 종가-(Lval+Hval)/2;
value1 = SM의 R기간 지수이동평균
value2 = (Lval-Hval)의 R기간 지수이동평균
value3 = value1의 S기간 지수이동평균/2
value4 = value2의 S기간 지수이동평균/2;
SMI = (value3/value4)*100;
SMI(Period1,Period2,Period3)
※ Period1 : 기간1
※ Period2 : 기간2
※ Period3 : 기간3