예스스탁
예스스탁 답변
2021-07-13 12:44:29
안녕하세요
예스스탁입니다.
5분봉 차트에서 60분봉의 Period1,Period2기간 최고가와 최저가를 계산할만큼
충분한 데이타가 있어야 계산하고 지표출력이 될수 있습니다.
전략실행차트는 최대 1만봉까지 조회되므로 최대한 많은봉 조회하고 적용하시기 바랍니다.
1
input : ntime(60);
Input : Period1(200),Period2(100), alon(1), blon(1);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var: upk(0),dpk(0),H1(0),H2(0);
Array : HH[300](0),LL[300](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%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 299
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if HH[0] > 0 and H > HH[0] Then
HH[0] = H;
if LL[0] > 0 and L < LL[0] Then
LL[0] = L;
if HH[Period1-1] > 0 and HH[Period2] > 0 then
{
H1 = HH[0];
H2 = HH[0];
For cnt = 0 to max(Period1,period2)
{
if cnt < Period1 and HH[cnt] > H1 Then
H1 = HH[cnt];
if cnt < Period2 and HH[cnt] > H2 Then
H2 = HH[cnt];
}
upk = ((H1+alon)+(H2+alon))/2;
dpk = ((H1-blon)+(H2-blon))/2;
Plot1(upk, "위");
Plot2(dpk, "아래");
}
}
2
input : ntime(60);
Input : Period1(200),Period2(100), alon(1), blon(1);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var: upk(0),dpk(0),L1(0),L2(0);
Array : HH[300](0),LL[300](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%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
LL[0] = L;
for cnt = 1 to 299
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if LL[0] > 0 and L < LL[0] Then
LL[0] = L;
if LL[Period1-1] > 0 and LL[Period2] > 0 then
{
L1 = LL[0];
L2 = LL[0];
For cnt = 0 to max(Period1,period2)
{
if cnt < Period1 and LL[cnt] < L1 Then
L1 = LL[cnt];
if cnt < Period2 and LL[cnt] < L2 Then
L2 = LL[cnt];
}
upk = ((L1-blon)+(L2-blon))/2;
dpk = ((L1+alon)+(L2+alon))/2;
Plot1(upk, "위");
Plot2(dpk, "아래");
}
}
즐거운 하루되세요
> Argo 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 두 개의 식을 60분봉에서 사용중인데요.
5분봉에 60분봉의 결과를 넣고 싶습니다.
--------
Input : Period1(200),Period2(100), alon(1), blon(1);
var: upk(0),dpk(0);
upk = (highest(H+alon,period1) + highest(H+alon,period2))/2;
dpk = (highest(H-blon,period1)+ highest(H-blon,period2))/2;
Plot1(upk, "위");
Plot2(dpk, "아래");
---------
Input : Period1(100),Period2(100), alon(1), blon(1);
var: upk(0),dpk(0);
upk = (lowest(L-blon,period1) + lowest(L-blon,period2))/2;
dpk = (lowest(L+alon,period1) + lowest(L+alon,period2))/2;
Plot1(upk, "위");
Plot2(dpk, "아래");