커뮤니티
수식추가 부탁합니다
2019-06-09 21:39:57
330
글번호 129278
제가 30분봉으로 매매를 하는데 일전에 일봉의 이동평균선과 90분봉의 이동평균선을 참조할 수 있도록 수식을 작성해 주셨습니다.
추가로 90분봉의 스톡케스틱 지표를 참조할 있도록 설정부탁드립니다.
아래식은 매매에 사용하는 30분봉의 단순 스톡케스틱입니다.
90분봉의 단순스톡케스틱 설정을 부탁드립니다.
# 단순스톡케스틱 설정
Lvalue = Lowest(L, sto1);
Hvalue = Highest(H, sto1);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
SK = ma(FK,sto2);
SD = ma(SK,sto3);
================================================
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70),매수이격(18),매도이격(18);
input : sto1(25),sto2(6),sto3(6);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Array : C1[100](0);
Var : Lvalue(0), Hvalue(0),FK(0),SK(0),SD(0);
# 단순스톡케스틱 설정
Lvalue = Lowest(L, sto1);
Hvalue = Highest(H, sto1);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
SK = ma(FK,sto2);
SD = ma(SK,sto3);
# 분봉설정
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then
{
tsum1 = 0;
tsum2 = 0;
for cnt = 0 to P2-1
{
if cnt < P1 then
tsum1 = tsum1+C1[cnt];
if cnt < P2 then
tsum2 = tsum2+C1[cnt];
}
# 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2
tmav1 = tsum1/P1;
tmav2 = tsum2/P2;
}
답변 1
예스스탁 예스스탁 답변
2019-06-10 13:39:33
안녕하세요
예스스탁입니다.
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70),매수이격(18),매도이격(18);
input : sto1(25),sto2(6),sto3(6);
var : cnt(0),sum2(0),sum3(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Var : Lvalue(0), Hvalue(0);
var : EP1(0),EP2(0),SK(0),SD(0);
Array : C1[100](0),H1[100](0),L1[100](0),FK[100](-1),StoK[100](-1);
Ep1 = 2/(sto2+1);
Ep2 = 2/(sto3+1);
# 분봉설정
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then
{
H1[0] = H;
L1[0] = L;
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
FK[cnt] = FK[cnt-1][1];
stok[cnt] = stok[cnt-1][1];
}
}
C1[0] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
if C1[P2] > 0 then
{
tsum1 = 0;
tsum2 = 0;
for cnt = 0 to P2-1
{
if cnt < P1 then
tsum1 = tsum1+C1[cnt];
if cnt < P2 then
tsum2 = tsum2+C1[cnt];
}
# 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2
tmav1 = tsum1/P1;
tmav2 = tsum2/P2;
}
if H1[sto1-1] > 0 and L1[sto1-1] > 0 then
{
Hvalue = H1[0];
Lvalue = L1[0];
for cnt = 0 to sto1-1
{
if H1[cnt] > Hvalue then
Hvalue = H1[cnt];
if L1[cnt] < Lvalue then
Lvalue = L1[cnt];
}
FK[0]= (C-Lvalue)/(Hvalue-Lvalue)*100;
SK = FK[0];
}
if FK[sto2] >= 0 then
{
sum2 = 0;
for cnt = 0 to sto2-1
{
sum2 = sum2 + FK[cnt];
}
stok[0] = sum2/sto2;
SK = stok[0];
}
if FK[sto2] >= 0 then
{
sum3 = 0;
for cnt = 0 to sto3-1
{
sum3 = sum3 + stok[cnt];
}
SD = sum3/sto3;
}
}
즐거운 하루되세요
> 뽄때 님이 쓴 글입니다.
> 제목 : 수식추가 부탁합니다
> 제가 30분봉으로 매매를 하는데 일전에 일봉의 이동평균선과 90분봉의 이동평균선을 참조할 수 있도록 수식을 작성해 주셨습니다.
추가로 90분봉의 스톡케스틱 지표를 참조할 있도록 설정부탁드립니다.
아래식은 매매에 사용하는 30분봉의 단순 스톡케스틱입니다.
90분봉의 단순스톡케스틱 설정을 부탁드립니다.
# 단순스톡케스틱 설정
Lvalue = Lowest(L, sto1);
Hvalue = Highest(H, sto1);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
SK = ma(FK,sto2);
SD = ma(SK,sto3);
================================================
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70),매수이격(18),매도이격(18);
input : sto1(25),sto2(6),sto3(6);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Array : C1[100](0);
Var : Lvalue(0), Hvalue(0),FK(0),SK(0),SD(0);
# 단순스톡케스틱 설정
Lvalue = Lowest(L, sto1);
Hvalue = Highest(H, sto1);
FK = (Close - Lvalue) / (Hvalue - Lvalue) * 100;
SK = ma(FK,sto2);
SD = ma(SK,sto3);
# 분봉설정
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then
{
tsum1 = 0;
tsum2 = 0;
for cnt = 0 to P2-1
{
if cnt < P1 then
tsum1 = tsum1+C1[cnt];
if cnt < P2 then
tsum2 = tsum2+C1[cnt];
}
# 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2
tmav1 = tsum1/P1;
tmav2 = tsum2/P2;
}
다음글
이전글