커뮤니티
수식 부탁드립니다.
2014-09-25 14:07:59
147
글번호 78830
1. 스토캐스틱(변수는 관계없음) 300틱 차트의 신호가 하위틱차트 60틱 차트에서 신호를 나타내게 하고 싶습니다. 수식 부탁드리며 수식에 대한 주석도 함께 부탁드립니다.
2. 300틱 차트에서 이동평균선 200ma를 60틱 차트에서 나타내게 하고 싶습니다. 이 또한 수식에 대한 주석 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-09-26 16:03:39
안녕하세요
예스스탁입니다.
300틱은 60틱차트에서 봉을 5개씩 모으는 것이므로
외부변수 N에 5값을 주시면 됩니다.
1-1.지표
input : N(5),P1(10), P2(5), P3(5);
var : TF(0),count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
//지수이평 평활계수1
Ep = 2/(P2+1);
//지수이평 평활계수2
Ep1 = 2/(P3+1);
//봉번호를 N으로 나눈 나머지
TF = dayindex%N;
#첫봉이거나 TF값이 직전보다 작아지면(5개봉 묶음이 끝나고 새로운 구간시작)
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
//현재구간 최고가와 최저가 계산을 위한 배열변수 [0]번방에 현재봉고가와 저가를 초기값으로 저장
HH[0] = H;
LL[0] = L;
//이전구간값을 방을 하나씩 밀어 저장
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
//구간갯수
DINDEX = DINDEX + 1;
//직전5개봉 구간의 stok값 저장
PreStoK = StoK[1];
//직전5개봉 구간의 stod값 저장
PreStoD = StoD[1];
}
#HH의 [0]번방에 저장된 값보다 큰 고가가 나오면 [0]번방에 현재봉 고가값을 저장
if H > HH[0] Then
HH[0] = H;
#LL의 [0]번방에 저장된 값보다 작은 저가가 나오면 [0]번방에 현재봉 저가값을 저장
if L < LL[0] Then
LL[0] = L;
#배열변수의 0번방~9번방까지의 저장된 값중
#최고가와 최저가를 계산
highVal = HH[0];
lowVal = LL[0];
for count = 0 to P1-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
#스토케스틱 fastk계산
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
if DINDEX <= 1 then{
StoK = StoFastK ;
StoD = StoK ;
}
else{
StoK = StoFastK * EP + PreStoK * (1-EP);
StoD = StoK * EP1 + PreStoD * (1-EP1);
}
plot1(StoK);
plot2(StoD);
PlotBaseLine1(20);
PlotBaseLine2(80);
1-2 시스템
input : N(5),P1(10), P2(5), P3(5);
var : TF(0),count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[50](0),LL[50](0);
//지수이평 평활계수1
Ep = 2/(P2+1);
//지수이평 평활계수2
Ep1 = 2/(P3+1);
//봉번호를 N으로 나눈 나머지
TF = dayindex%N;
#첫봉이거나 TF값이 직전보다 작아지면(5개봉 묶음이 끝나고 새로운 구간시작)
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
//현재구간 최고가와 최저가 계산을 위한 배열변수 [0]번방에 현재봉고가와 저가를 초기값으로 저장
HH[0] = H;
LL[0] = L;
//이전구간값을 방을 하나씩 밀어 저장
for cnt = 1 to 49{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
//구간갯수
DINDEX = DINDEX + 1;
//직전5개봉 구간의 stok값 저장
PreStoK = StoK[1];
//직전5개봉 구간의 stod값 저장
PreStoD = StoD[1];
}
#HH의 [0]번방에 저장된 값보다 큰 고가가 나오면 [0]번방에 현재봉 고가값을 저장
if H > HH[0] Then
HH[0] = H;
#LL의 [0]번방에 저장된 값보다 작은 저가가 나오면 [0]번방에 현재봉 저가값을 저장
if L < LL[0] Then
LL[0] = L;
#배열변수의 0번방~9번방까지의 저장된 값중
#최고가와 최저가를 계산
highVal = HH[0];
lowVal = LL[0];
for count = 0 to P1-1 {
if HH[count] > highVal then
highVal = HH[count];
if LL[count] < lowVal then
lowVal = LL[count];
}
#스토케스틱 fastk계산
StoFastK = (C-lowVal)/(highVal-lowVal)*100;
if DINDEX <= 1 then{
StoK = StoFastK ;
StoD = StoK ;
}
else{
StoK = StoFastK * EP + PreStoK * (1-EP);
StoD = StoK * EP1 + PreStoD * (1-EP1);
}
if crossup(stok,stod) Then
buy();
if CrossDown(stok,stod) Then
sell();
2-1. 지표
input : N(5),P1(200);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[210](0),LL[50](0);
//봉번호를 N으로 나눈 나머지
TF = dayindex%N;
#첫봉이거나 TF값이 직전보다 작아지면(5개봉 묶음이 끝나고 새로운 구간시작)
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
//이전구간값을 방을 하나씩 밀어 저장
for cnt = 1 to 209{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
if CC[P1] > 0 then{
#CC[0]에서 CC[119]번방에 저장된 값을 합산함
for cnt = 0 to P1-1{
sum = sum + CC[cnt];
}
//합산한 값을 200으로 나누어 평균값 만듬
mav = sum/P1;
plot1(mav);
}
2-2
input : N(5),P1(200);
var : TF(0),cnt(0),sum(0),mav(0);
Array : CC[210](0),LL[50](0);
//봉번호를 N으로 나눈 나머지
TF = dayindex%N;
#첫봉이거나 TF값이 직전보다 작아지면(5개봉 묶음이 끝나고 새로운 구간시작)
if dayindex == 0 or (TF < TF[1] and stime > stime[1]) Then{
//이전구간값을 방을 하나씩 밀어 저장
for cnt = 1 to 209{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
if CC[P1] > 0 then{
#CC[0]에서 CC[119]번방에 저장된 값을 합산함
for cnt = 0 to P1-1{
sum = sum + CC[cnt];
}
//합산한 값을 200으로 나누어 평균값 만듬
mav = sum/P1;
if crossup(c,mav) Then
buy();
if CrossDown(c,mav) Then
sell();
}
즐거운 하루되세요
> kalpa 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 1. 스토캐스틱(변수는 관계없음) 300틱 차트의 신호가 하위틱차트 60틱 차트에서 신호를 나타내게 하고 싶습니다. 수식 부탁드리며 수식에 대한 주석도 함께 부탁드립니다.
2. 300틱 차트에서 이동평균선 200ma를 60틱 차트에서 나타내게 하고 싶습니다. 이 또한 수식에 대한 주석 부탁드립니다.
감사합니다.
이전글