커뮤니티
문의드립니다~
2017-03-11 06:15:05
252
글번호 107687
input : 분주기(30),P(5),분주기1(15);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),C1[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
(Sdate == sdate[1] 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;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(Sdate == sdate[1] and TF1 < TF1[1]) Then{
for cnt = 1 to 99{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
plot1(CC[1]);
}
1. 위식을 항생에서 사용중인데요~
S1 = TimeToMinutes(stime);
여기부분에서 stime를 100000로 바꿔서 적용하니깐
전일밤12시부분이 표시가 안됩니다.
2. 그리고 stime그대로 두니깐 cc[1]로 적용했을때에
10시15분시작가격을 인지를 못하네요
예를들어서 10시15분가격 아래에서 5일선과20일선데드크로스시에 매도한다는 수식을 넣었을때에
10시15분가격을 cc[1]로 적용해서 조건을 넣으면 적용이 안됩니다.
10시45분부터 cc[1]로 적용이 됩니다.
3. C1[1]!=cc[1] 이식을 적용할때에
30분시간의가격과 15분시간의가격이 똑같이 일치할때가 있더라구요.
서로가 같지않다를 표현하고 싶은데
위 식을 어떻게 표현해야 될까요
C1[1]의 시간을 저장하고 cc[1]의 시간을 저장해서 두개가 같지않다를
나타낼 수 있었으면 합니다.
input : Left(3),Right(3),P1(5),P2(20);
var : T(0),Shcnt(0),SLcnt(0);
var : mav0a(0),mav1a(0),mav2a(0),H1(0),H2(0),H3(0),H4(0), L1(0),L2(0),L3(0),L4(0);
var : tic20(0), tic120(0);
mav0a = ma(c,3);
mav1a = ma(c,5);
mav2a = ma(c,20);
tic20 = ma(c,20);
tic120 = ma(c,120);
if stime >= 160000 or stime < 050000 Then{
if SwingHigh(1,mav1a,Left,Right,Left+Right+1) != -1 Then{
H1 = mav1a[right];
H2 = H1[1];
H3 = mav2a[right];
H4 = H3[1];
if MarketPosition == 1 and (H1 <= H2 or (H1-PriceScale*3) <= H2) and H2 > 0 Then
ExitLong("bx");
if H1<H3 and H2>H4 and tic20<tic120 and c<tic20 Then{
sell("s");
}
}
if SwingLow(1,mav1a,Left,Right,Left+Right+1) != -1 Then{
L1 = mav1a[right];
L2 = L1[1];
L3 = mav2a[right];
L4 = L3[1];
if MarketPosition == -1 and L1 >= L2 and L2 > 0 Then
ExitShort("sx");
if L1>L3 and L2<L4 and tic20>tic120 and c>tic20 Then{
Buy("b");
}
}
}
4.위에 쌍봉쌍바닥식을 만들어봤는데요 어려워서 문의드립니다;
쌍바닥은 최근바닥이 최근바닥형성시점의 20일선과 60일선위에있어야하고
최근바닥이전바닥은 최근바닥이전형성시점의 20일선과60일선아래에 있어야 합니다.
매도는 그 반대이구요.~
최근바닥형성시점의 20일선과 60일선가격을 어떻게 표현해야될지
그리고 최근바닥이전에 형성되었던 바닥시점의 20일선과 60일선가격을 어떻게 표현해야될지 어렵네요~
- 1. 12시_적용안되는거.png (0.01 MB)
답변 1
예스스탁 예스스탁 답변
2017-03-13 15:06:38
안녕하세요
예스스탁입니다.
1,2,3 처리한 식입니다.
CC는 지정한 주기의 종가입니다.
CC[0]이 현재주기,CC[1]은 직전주기입니다.
stime으로 지정할 경우 CC[1]에 10시15분 값이 저장되는 것은 당연히
10시 45분 부터 입니다.
input : 분주기(30),P(5),분주기1(15);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0);
Array : C1[100](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;
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;
HH[0] = H;
LL[0] = L;
TT[0] = stime;
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];
TT[cnt] = TT[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF1 < TF1[1]) Then{
T1[cnt] = stime;
for cnt = 1 to 99{
C1[cnt] = C1[cnt-1][1];
T1[cnt] = T1[cnt-1][1];
}
}
C1[0] = C;
plot2(C1[1]);
}
4
주석 참고하시기 바랍니다.
input : Left(3),Right(3);
var : T(0),Shcnt(0),SLcnt(0);
var : mav3(0),mav5(0),mav20(0),mav60(0), mav120(0);
var : H11(0),H12(0),H21(0),H22(0),H31(0),H32(0);
var : L11(0),L12(0),L21(0),L22(0),L31(0),L32(0);
mav3 = ma(c,3);
mav5 = ma(c,5);
mav20 = ma(c,20);
mav60 = ma(c,60);
mav120 = ma(c,120);
if stime >= 160000 or stime < 050000 Then{
#고점발생
if SwingHigh(1,mav5,Left,Right,Left+Right+1) != -1 Then{
#최근 고점
H11 = mav5[right];
#직전 고점
H12 = H11[1];
#최근 고점시점의 20이평
H21 = mav20[right];
#직전 고점시점의 20이평
H22 = H21[1];
#최근 고점시점의 60이평
H31 = mav60[right];
#직전 고점시점의 20이평
H32 = H31[1];
if MarketPosition == 1 and (H11 <= H12 or (H11-PriceScale*3) <= H12) and H12 > 0 Then
ExitLong("bx");
if H11 < H21 and H11 < H31 and H12 > H22 and H12 > H32 Then{
sell("s");
}
}
#저점발생
if SwingLow(1,mav5,Left,Right,Left+Right+1) != -1 Then{
#최근 저점
L11 = mav5[right];
#직전 저점
L12 = L11[1];
#최근 저점시점의 20이평
L21 = mav20[right];
#직전 저점시점의 20이평
L22 = L21[1];
#최근 저점시점의 60이평
L31 = mav60[right];
#직전 저점시점의 20이평
L32 = L31[1];
if MarketPosition == -1 and L11 >= L12 and L12 > 0 Then
ExitShort("sx");
if L11 > L21 and L11 > L31 and L12 < L22 and L12 < L32 Then{
Buy("b");
}
}
}
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 문의드립니다~
> input : 분주기(30),P(5),분주기1(15);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),C1[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
(Sdate == sdate[1] 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;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(Sdate == sdate[1] and TF1 < TF1[1]) Then{
for cnt = 1 to 99{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
plot1(CC[1]);
}
1. 위식을 항생에서 사용중인데요~
S1 = TimeToMinutes(stime);
여기부분에서 stime를 100000로 바꿔서 적용하니깐
전일밤12시부분이 표시가 안됩니다.
2. 그리고 stime그대로 두니깐 cc[1]로 적용했을때에
10시15분시작가격을 인지를 못하네요
예를들어서 10시15분가격 아래에서 5일선과20일선데드크로스시에 매도한다는 수식을 넣었을때에
10시15분가격을 cc[1]로 적용해서 조건을 넣으면 적용이 안됩니다.
10시45분부터 cc[1]로 적용이 됩니다.
3. C1[1]!=cc[1] 이식을 적용할때에
30분시간의가격과 15분시간의가격이 똑같이 일치할때가 있더라구요.
서로가 같지않다를 표현하고 싶은데
위 식을 어떻게 표현해야 될까요
C1[1]의 시간을 저장하고 cc[1]의 시간을 저장해서 두개가 같지않다를
나타낼 수 있었으면 합니다.
input : Left(3),Right(3),P1(5),P2(20);
var : T(0),Shcnt(0),SLcnt(0);
var : mav0a(0),mav1a(0),mav2a(0),H1(0),H2(0),H3(0),H4(0), L1(0),L2(0),L3(0),L4(0);
var : tic20(0), tic120(0);
mav0a = ma(c,3);
mav1a = ma(c,5);
mav2a = ma(c,20);
tic20 = ma(c,20);
tic120 = ma(c,120);
if stime >= 160000 or stime < 050000 Then{
if SwingHigh(1,mav1a,Left,Right,Left+Right+1) != -1 Then{
H1 = mav1a[right];
H2 = H1[1];
H3 = mav2a[right];
H4 = H3[1];
if MarketPosition == 1 and (H1 <= H2 or (H1-PriceScale*3) <= H2) and H2 > 0 Then
ExitLong("bx");
if H1<H3 and H2>H4 and tic20<tic120 and c<tic20 Then{
sell("s");
}
}
if SwingLow(1,mav1a,Left,Right,Left+Right+1) != -1 Then{
L1 = mav1a[right];
L2 = L1[1];
L3 = mav2a[right];
L4 = L3[1];
if MarketPosition == -1 and L1 >= L2 and L2 > 0 Then
ExitShort("sx");
if L1>L3 and L2<L4 and tic20>tic120 and c>tic20 Then{
Buy("b");
}
}
}
4.위에 쌍봉쌍바닥식을 만들어봤는데요 어려워서 문의드립니다;
쌍바닥은 최근바닥이 최근바닥형성시점의 20일선과 60일선위에있어야하고
최근바닥이전바닥은 최근바닥이전형성시점의 20일선과60일선아래에 있어야 합니다.
매도는 그 반대이구요.~
최근바닥형성시점의 20일선과 60일선가격을 어떻게 표현해야될지
그리고 최근바닥이전에 형성되었던 바닥시점의 20일선과 60일선가격을 어떻게 표현해야될지 어렵네요~