커뮤니티
틱차트에서 30분단위 시초가를 알고 싶습니다~
2017-02-14 13:26:33
154
글번호 106822
1. 전화로 문의했었는데요~ 틱으로30분봉값을 구하는 식을 봤는데 너무 어렵고 지표적용을 해보니 이평값이 계산되어있는거 같더라구요~
첨부파일사진에 보이는거처럼 30분시초가를 표시하면 30분단위로 가로선이 그어지면서 새롭게그어진가로선의 가격이 표시가 되잖아요 이 가격을 알고 싶습니다.
사진에는 항생차트인데 제가 알고싶은 부분은 차트상의 30분시초가지표에 표시되어 있는 현재 진행되고있는 이전봉의 종가가격인
10시30분가격 그리고 이전으로 표시된 12시30분가격 그리고 12시가격 그리고 11시30분가격 그리고 11시가격까지요~ 현재진행되고있는 가격포함해서 차트상의 지표에 표시된 30분단위로 6개이전가격까지 각각 틱차트상으로 알고 싶은데요 이걸 알 수 있을까요~
유로같은 경우는 30분단위로 진행되어서 좋은데 항생같은 경우는 위에 표시한거처럼 당일시초가 이후로10시30분가격이 나오고나서 이전가격이 12시30분인데 이부분도 계산이 될지 모르겠습니다.
다시정리하면 30분단위로 현재진행되고있는 30분시초가가격이랑 그이전30분시초가가격 그이전30분시초가가격
이런식으로 총6개 30분시초가지표상 표시되어있는 30분시초가가격을 각각알 수 있는 식을 부탁드릴게요~
2. 그리고 틱에서 30분시초가를 구해서 아래식 그대로 대입할려니깐
힘들거 같아서요 아래식에 나와있는 그대로 틱차트상으로 30분시초가를 구해서 적용좀 부탁드릴게요~
아래식은 data1이 틱차트이고 data2가 30분봉입니다.
항상감사드립니다~ 이번엔 제대로 됐음 좋겠습니다ㅜ
input : P5(5), P20(20), P60(60), get(25), cut(25);
var : mav0(0,data2), mav1(0,data2), mav2(0,data2), mav3(0,data2), mav4(0,data2), mav5(0,data2), tic20(0,data1), tic60(0,data1), tic5(0,data1);
mav0 = data2(c);
mav1 = data2(c[1]);
mav2 = data2(c[2]);
mav3 = data2(c[3]);
mav4 = data2(c[4]);
mav5 = data2(c[5]);
tic20 = data1(ma(c,P20));
tic60 = data1(ma(c,P60));
tic5 = data1(ma(c,P5));
if stime >= 103000 and stime < 165500 Then{
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 then{
if crossup(tic5,tic20) Then{
if MarketPosition == 0 Then
buy("E매수");
if MarketPosition == -1 Then
buy("E리버스매수");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then{
if CrossDown(tic5,tic20) then{
if MarketPosition == 0 Then
sell("E매도");
if MarketPosition == 1 Then
sell("E리버스매도");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then
exitlong("불매수청산");
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 Then
ExitShort("불매도청산");
}
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{
exitlong();
ExitShort();
}
SetStopProfittarget(PriceScale*get,PointStop);
SetStopLoss(PriceScale*cut,PointStop);
- 1. 항생물어볼거.png (0.06 MB)
답변 1
예스스탁 예스스탁 답변
2017-02-15 11:24:14
안녕하세요
예스스탁입니다.
1
이전에 답변드린식에
시가와 최고가 최저가도 모두 계산되게 추가했습니다.
다른 주기의 값을 계산하는 기본식이므로
식작성에 참고하시기 바랍니다.
1-1 선물
input : 분주기(30),P(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0);
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%분주기;
if Bdate != Bdate or (Bdate == Bdate and TF < TF[1]) Then{
OO[0] = o;
for cnt = 1 to 99{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
plot1(OO[0]);
plot2(OO[1]);
plot3(OO[2]);
plot4(OO[3]);
plot5(OO[4]);
plot6(OO[5]);
}
1-2 항생
input : 분주기(30),P(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) 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%분주기;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{
OO[0] = o;
for cnt = 1 to 99{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
plot1(OO[0]);
plot2(OO[1]);
plot3(OO[2]);
plot4(OO[3]);
plot5(OO[4]);
plot6(OO[5]);
}
2
input : 분주기(30),P(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) 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%분주기;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{
OO[0] = o;
for cnt = 1 to 99{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
}
input : P5(5), P20(20), P60(60), get(25), cut(25);
var : mav0(0), mav1(0), mav2(0), mav3(0), mav4(0), mav5(0), tic20(0), tic60(0), tic5(0);
mav0 = CC[0];
mav1 = CC[1];
mav2 = CC[2];
mav3 = CC[3];
mav4 = CC[4];
mav5 = CC[5];
tic20 = ma(c,P20);
tic60 = ma(c,P60);
tic5 = ma(c,P5);
if stime >= 103000 and stime < 165500 Then{
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then{
if crossup(tic5,tic20) Then{
if MarketPosition == 0 Then
buy("E매수");
if MarketPosition == -1 Then
buy("E리버스매수");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then{
if CrossDown(tic5,tic20) then{
if MarketPosition == 0 Then
sell("E매도");
if MarketPosition == 1 Then
sell("E리버스매도");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 and mav5 > 0 then
exitlong("불매수청산");
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 and mav5 > 0 Then
ExitShort("불매도청산");
}
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{
exitlong();
ExitShort();
}
SetStopProfittarget(PriceScale*get,PointStop);
SetStopLoss(PriceScale*cut,PointStop);
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 틱차트에서 30분단위 시초가를 알고 싶습니다~
> 1. 전화로 문의했었는데요~ 틱으로30분봉값을 구하는 식을 봤는데 너무 어렵고 지표적용을 해보니 이평값이 계산되어있는거 같더라구요~
첨부파일사진에 보이는거처럼 30분시초가를 표시하면 30분단위로 가로선이 그어지면서 새롭게그어진가로선의 가격이 표시가 되잖아요 이 가격을 알고 싶습니다.
사진에는 항생차트인데 제가 알고싶은 부분은 차트상의 30분시초가지표에 표시되어 있는 현재 진행되고있는 이전봉의 종가가격인
10시30분가격 그리고 이전으로 표시된 12시30분가격 그리고 12시가격 그리고 11시30분가격 그리고 11시가격까지요~ 현재진행되고있는 가격포함해서 차트상의 지표에 표시된 30분단위로 6개이전가격까지 각각 틱차트상으로 알고 싶은데요 이걸 알 수 있을까요~
유로같은 경우는 30분단위로 진행되어서 좋은데 항생같은 경우는 위에 표시한거처럼 당일시초가 이후로10시30분가격이 나오고나서 이전가격이 12시30분인데 이부분도 계산이 될지 모르겠습니다.
다시정리하면 30분단위로 현재진행되고있는 30분시초가가격이랑 그이전30분시초가가격 그이전30분시초가가격
이런식으로 총6개 30분시초가지표상 표시되어있는 30분시초가가격을 각각알 수 있는 식을 부탁드릴게요~
2. 그리고 틱에서 30분시초가를 구해서 아래식 그대로 대입할려니깐
힘들거 같아서요 아래식에 나와있는 그대로 틱차트상으로 30분시초가를 구해서 적용좀 부탁드릴게요~
아래식은 data1이 틱차트이고 data2가 30분봉입니다.
항상감사드립니다~ 이번엔 제대로 됐음 좋겠습니다ㅜ
input : P5(5), P20(20), P60(60), get(25), cut(25);
var : mav0(0,data2), mav1(0,data2), mav2(0,data2), mav3(0,data2), mav4(0,data2), mav5(0,data2), tic20(0,data1), tic60(0,data1), tic5(0,data1);
mav0 = data2(c);
mav1 = data2(c[1]);
mav2 = data2(c[2]);
mav3 = data2(c[3]);
mav4 = data2(c[4]);
mav5 = data2(c[5]);
tic20 = data1(ma(c,P20));
tic60 = data1(ma(c,P60));
tic5 = data1(ma(c,P5));
if stime >= 103000 and stime < 165500 Then{
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 then{
if crossup(tic5,tic20) Then{
if MarketPosition == 0 Then
buy("E매수");
if MarketPosition == -1 Then
buy("E리버스매수");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then{
if CrossDown(tic5,tic20) then{
if MarketPosition == 0 Then
sell("E매도");
if MarketPosition == 1 Then
sell("E리버스매도");
}
}
if mav0 < mav5 and mav1 < (mav0+mav2+mav3+mav4)/4 then
exitlong("불매수청산");
if mav0 > mav5 and mav1 > (mav0+mav2+mav3+mav4)/4 Then
ExitShort("불매도청산");
}
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then{
exitlong();
ExitShort();
}
SetStopProfittarget(PriceScale*get,PointStop);
SetStopLoss(PriceScale*cut,PointStop);
다음글
이전글