예스스탁
예스스탁 답변
2023-10-16 13:18:50
안녕하세요
예스스탁입니다.
1. 지표
var : 분주기(60);
input : P1(20),Dv1(2),P2(10),Dv2(3);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),BBmd1(0),SumSqrt1(0),stdv1(0),BBup1(0),BBdn1(0);
var : sum2(0),BBmd2(0),SumSqrt2(0),stdv2(0),BBup2(0),BBdn2(0);
Array : CC[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(100000);
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))) or
(TF < TF[1]) Then
{
For cnt = 99 DownTo 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P1-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1 + CC[cnt];
}
BBmd1 = sum1/P1;
SumSqrt1 = 0;
For cnt = 0 To P1 - 1
{
SumSqrt1 = SumSqrt1 + (CC[cnt] - BBmd1)^2;
}
Stdv1 = SquareRoot(SumSqrt1 / P1);
BBup1 = BBmd1 + (Dv1 * Stdv1);
BBdn1 = BBmd1 - (Dv1 * Stdv1);
Plot1(Bbup1,"상단1");
Plot2(Bbmd1,"중단1");
Plot3(Bbdn1,"하단1");
}
if CC[P2-1] > 0 then
{
sum2 = 0;
for cnt = 0 to P2-1
{
sum2 = sum2 + CC[cnt];
}
BBmd2 = sum2/P2;
SumSqrt2 = 0;
For cnt = 0 To P2 - 1
{
SumSqrt2 = SumSqrt2 + (CC[cnt] - BBmd2)^2;
}
Stdv2 = SquareRoot(SumSqrt2 / P2);
BBup2 = BBmd2 + (Dv2 * Stdv2);
BBdn2 = BBmd2 - (Dv2 * Stdv2);
Plot4(Bbup2,"상단2");
Plot5(Bbmd2,"중단2");
Plot6(Bbdn2,"하단2");
}
}
2. 시스템
var : 분주기(60);
input : P1(20),Dv1(2),P2(10),Dv2(3);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),BBmd1(0),SumSqrt1(0),stdv1(0),BBup1(0),BBdn1(0);
var : sum2(0),BBmd2(0),SumSqrt2(0),stdv2(0),BBup2(0),BBdn2(0);
Array : CC[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(100000);
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))) or
(TF < TF[1]) Then
{
For cnt = 99 DownTo 1
{
CC[cnt] = CC[cnt-1];
}
}
CC[0] = C;
if CC[P1-1] > 0 then
{
sum1 = 0;
for cnt = 0 to P1-1
{
sum1 = sum1 + CC[cnt];
}
BBmd1 = sum1/P1;
SumSqrt1 = 0;
For cnt = 0 To P1 - 1
{
SumSqrt1 = SumSqrt1 + (CC[cnt] - BBmd1)^2;
}
Stdv1 = SquareRoot(SumSqrt1 / P1);
BBup1 = BBmd1 + (Dv1 * Stdv1);
BBdn1 = BBmd1 - (Dv1 * Stdv1);
}
if CC[P2-1] > 0 then
{
sum2 = 0;
for cnt = 0 to P2-1
{
sum2 = sum2 + CC[cnt];
}
BBmd2 = sum2/P2;
SumSqrt2 = 0;
For cnt = 0 To P2 - 1
{
SumSqrt2 = SumSqrt2 + (CC[cnt] - BBmd2)^2;
}
Stdv2 = SquareRoot(SumSqrt2 / P2);
BBup2 = BBmd2 + (Dv2 * Stdv2);
BBdn2 = BBmd2 - (Dv2 * Stdv2);
}
if CrossUp(H,BBup1) and CrossUp(H,bbup2) Then
Sell();
if CrossDown(L,BBdn1) and CrossDown(L,bbdn2) Then
Buy();
}
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 문의드립니다~
> var : 분주기(60);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0);
Array : CC[100](0),OO[100](0),gHH[100](0),gLL[100](0),TT[100](0),ii[100](0),O2[100](0);
Array : C1[300](0),T1[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(100000);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TFF = TM%60;
TF = TM%분주기;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF < TF[1]) Then{
OO[0] = o;
gHH[0] = H;
gLL[0] = L;
//TT[0] = stime;
//ii[0] = 0;
for cnt = 1 to 300{
OO[cnt] = OO[cnt-1][1];
gHH[cnt] = gHH[cnt-1][1];
gLL[cnt] = gLL[cnt-1][1];
C1[cnt] = C1[cnt-1][1];
//TT[cnt] = TT[cnt-1][1];
//ii[cnt] = ii[cnt-1][1];
}
}
if H > gHH[0] Then
gHH[0] = H;
if L < gLL[0] Then
gLL[0] = L;
C1[0] = C;
}
1분봉에 60분봉기준의 볼린저밴드를 표시하고 싶습니다.
60분봉기준 20평균에 승수2랑, 10평균에 승수3이랑
2개밴드를 표시하고 싶은데요.
완성봉기준으로 표시되기에 60분봉으로 봤을때에 실시간으로 밴드를 돌파하는 타이밍을 잡아낼수가 없어서 이렇게 표시할려고 하는데요. 도움 부탁드립니다.
분주기식은 위 식을 사용하고 있어요.
1분봉의 고가가 밴드2개를 동시에 돌파하고 완성된 시점에 매도
1분봉의 저가가 밴드2개를 동시에 아래로 이탈하고 완성된 시점에 매수