예스스탁
예스스탁 답변
2021-12-23 11:25:16
안녕하세요
예스스탁입니다.
5분봉 차트에서 60분봉 일목을 계산해서 사용합니다.
5분주기 차트에 적용하시면 되고
5분봉에서 60분봉의 일목을 계산할 만큼 충분한 데이타가 있어야 하므로
차트 봉 조회갯수를 최대인 10000개봉으로 지정하고 적용하셔야 합니다.
input : 타분봉(60);
input : 전환선기간(9),기준선기간(26),선행스팬2기간(52);
var : TF(0),S1(0),D1(0),TM(0),cnt(0);
var : H1(0),L1(0),H11(0),L11(0),H2(0),L2(0),H22(0),L22(0),H3(0),L3(0);
var : 타분봉전환선(0),타분봉기준선(0),타분봉선행스팬1(0),타분봉선행스팬2(0);
Var : 기준선(0), 전환선(0), 선행스팬1(0), 선행스팬2(0);
Array : 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[1] or
(Bdate == Bdate[1] and 타분봉 > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and 타분봉 > 1 and TM >= TM[1]+타분봉) or
(Bdate == Bdate[1] and 타분봉 == 1 and TM > TM[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[선행스팬2기간+25] > 0 and LL[선행스팬2기간+25] > 0 then
{
H1 = HH[0];
L1 = LL[0];
H11 = HH[25];
L11 = LL[25];
H2 = HH[0];
L2 = LL[0];
H22 = HH[25];
L22 = LL[25];
H3 = HH[25];
L3 = LL[25];
for cnt = 0 to 선행스팬2기간-1{
if cnt < 전환선기간 Then{
if HH[cnt] > H1 Then
H1 = HH[cnt];
if LL[cnt] < L1 Then
L1 = LL[cnt];
if HH[cnt+25] > H11 Then
H11 = HH[cnt+25];
if LL[cnt+25] < L11 Then
L11 = LL[cnt+25];
}
if cnt < 기준선기간 Then{
if HH[cnt] > H2 Then
H2 = HH[cnt];
if LL[cnt] < L2 Then
L2 = LL[cnt];
if HH[cnt+25] > H22 Then
H22 = HH[cnt+25];
if LL[cnt+25] < L22 Then
L22 = LL[cnt+25];
}
if HH[cnt+25] > H3 Then
H3 = HH[cnt+25];
if LL[cnt+25] < L3 Then
L3 = LL[cnt+25];
}
타분봉전환선 = (H1 + L1)/2;
타분봉기준선 = (H2 + L2)/2;
타분봉선행스팬1 = ((H11+L11)/2 + (H22+L22)/2) / 2 ;
타분봉선행스팬2 = (H3+L3) / 2;
}
}
#타분봉 일목균형표 계산 끝
#기존차트 일목균형표
전환선 = (Highest(High, 전환선기간) + Lowest(Low, 전환선기간)) / 2;
기준선 = (Highest(High, 기준선기간) + Lowest(Low, 기준선기간)) / 2;
선행스팬1 = (전환선[25] + 기준선[25]) / 2 ;
선행스팬2 = (Highest(High, 선행스팬2기간)[25] + Lowest(Low, 선행스팬2기간)[25]) / 2;
if MarketPosition <= 0 and
타분봉선행스팬1 > 0 and 타분봉선행스팬2 > 0 and
타분봉선행스팬1 > 타분봉선행스팬2 and 선행스팬1 > 선행스팬2 then
Buy();
if MarketPosition >= 0 and
타분봉선행스팬1 > 0 and 타분봉선행스팬2 > 0 and
타분봉선행스팬1 < 타분봉선행스팬2 and 선행스팬1 < 선행스팬2 then
Sell();
즐거운 하루되세요
> 구아뽀 님이 쓴 글입니다.
> 제목 : 60분봉과 5분봉에서 같은 조건일때 진입/청산을.,
> 기본 일목균형표에서 매수구름 매도구름은
스팬1과 스팬2의 값이 위아래로 구분되며 만들어지는데요
이제막 이것저것 응용해보기는한데
예를들어 5분봉에서 스팬1>스팬2 일때 매수라고 한다면
60분봉에서도 스팬1>스팬2일때 라는 조건이 부합되면 매수되도록 해보고 싶습니다.
------------------------
다시말하면
60분봉상 스팬1>스팬2 이고 and 5분봉에서 스팬1>스팬2일때 매수
60분봉상 스팬1<스팬2 이고 and 5분봉에서 스팬1<스팬2일때 매도
이런 방식의 조건으로요 분봉 2개가 된다면
제가 응용해서 3개이상의 조건으로도 해보고 싶네요
항상 수고해주셔서 미리 감사합니다^^