커뮤니티
문의드립니다.
2014-03-28 13:13:27
112
글번호 73922
1.
input : Atime(30),P1(5),P2(10),P3(20),P4(60);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),sum4(0);
var : mav1(0),mav2(0),mav3(0),mav4(0);
Array : CC[130](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 129{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1] > 0 Then{
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
}
if CC[P2] > 0 Then{
sum2 = 0;
for count = 0 to P2-1{
sum2 = sum2+CC[count];
}
mav2 = sum2/P2;
plot2(mav2);
}
if CC[P3] > 0 Then{
sum3 = 0;
for count = 0 to P3-1{
sum3 = sum3+CC[count];
}
mav3 = sum3/P3;
plot3(mav3);
}
if CC[P4] > 0 Then{
sum4 = 0;
for count = 0 to P4-1{
sum4 = sum4+CC[count];
}
mav4 = sum4/P4;
plot4(mav4);
}
......................................
1번 지표 결과값의 "역이평"을 구합니다.
2.
var1 = accumn(High - Open, 20);
var2 = Accumn(Open - Low, 20);
var3 = Accumn(High - Close[1], 20);
var4 = Accumn(Close[1] - Low, 20);
AA = var1 / var2 * 100;
BB = var3 / var4 * 100;
.......................................
2번지표를 실행해 보니 오류가 발생하던데 오류 좀 잡아주세요
3.
var : OSC1(0),Osc2(0);
Osc1 = MACD_OSC(10, 40, 5);
Osc2 = MACD_OSC(30, 80, 20);
if (crossup(OSC1,0) and OSC2 > 0) Or
(crossup(OSC2,0) and OSC1 > 0) Then
buy();
if OSC2 > 0 and CrossDown(OSC1,0) Then
ExitLong();
if (CrossDown(OSC1,0) and OSC2 < 0) Or
(CrossDown(OSC2,0) and OSC1 < 0) Then
Sell();
if OSC2 < 0 and CrossUp(OSC1,0) Then
ExitShort();
...................................................
3번 시스템을 데이타2용으로 전환시켜 주세요
감사합니다.
답변 1
예스스탁 예스스탁 답변
2014-03-28 16:08:09
안녕하세요
예스스탁입니다.
1.
이평을 거꾸로 뒤집기 위해서는 특정값을 기준으로 그 차이만큼 반대로 그려야 합니다.
당일 시초가를 기준으로 이평과 시초가의 차이만큼을 반대로 그리게 했습니다.
input : Atime(30),P1(5),P2(10),P3(20),P4(60);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),sum4(0);
var : mav1(0),mav2(0),mav3(0),mav4(0);
Array : CC[130](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 129{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1] > 0 Then{
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
plot11(DayOpen+(dayopen-mav1));
}
if CC[P2] > 0 Then{
sum2 = 0;
for count = 0 to P2-1{
sum2 = sum2+CC[count];
}
mav2 = sum2/P2;
plot2(mav2);
plot22(DayOpen+(dayopen-mav2));
}
if CC[P3] > 0 Then{
sum3 = 0;
for count = 0 to P3-1{
sum3 = sum3+CC[count];
}
mav3 = sum3/P3;
plot3(mav3);
plot33(DayOpen+(dayopen-mav3));
}
if CC[P4] > 0 Then{
sum4 = 0;
for count = 0 to P4-1{
sum4 = sum4+CC[count];
}
mav4 = sum4/P4;
plot4(mav4);
plot44(DayOpen+(dayopen-mav4));
}
2.
변수선언이 빠졋습니다.
var : AA(0),BB(0);
var1 = accumn(High - Open, 20);
var2 = Accumn(Open - Low, 20);
var3 = Accumn(High - Close[1], 20);
var4 = Accumn(Close[1] - Low, 20);
AA = var1 / var2 * 100;
BB = var3 / var4 * 100;
3.
var : OSC1(0,data2),Osc2(0,data2);
Osc1 = data2(MACD_OSC(10, 40, 5));
Osc2 = data2(MACD_OSC(30, 80, 20));
if (crossup(OSC1,0) and OSC2 > 0) Or
(crossup(OSC2,0) and OSC1 > 0) Then
buy();
if OSC2 > 0 and CrossDown(OSC1,0) Then
ExitLong();
if (CrossDown(OSC1,0) and OSC2 < 0) Or
(CrossDown(OSC2,0) and OSC1 < 0) Then
Sell();
if OSC2 < 0 and CrossUp(OSC1,0) Then
ExitShort();
즐거운 하루되세요
> alsk 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1.
input : Atime(30),P1(5),P2(10),P3(20),P4(60);
var : cnt(0),count(0);
var : sum1(0),sum2(0),sum3(0),sum4(0);
var : mav1(0),mav2(0),mav3(0),mav4(0);
Array : CC[130](0);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 129{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P1] > 0 Then{
sum1 = 0;
for count = 0 to P1-1{
sum1 = sum1+CC[count];
}
mav1 = sum1/P1;
plot1(mav1);
}
if CC[P2] > 0 Then{
sum2 = 0;
for count = 0 to P2-1{
sum2 = sum2+CC[count];
}
mav2 = sum2/P2;
plot2(mav2);
}
if CC[P3] > 0 Then{
sum3 = 0;
for count = 0 to P3-1{
sum3 = sum3+CC[count];
}
mav3 = sum3/P3;
plot3(mav3);
}
if CC[P4] > 0 Then{
sum4 = 0;
for count = 0 to P4-1{
sum4 = sum4+CC[count];
}
mav4 = sum4/P4;
plot4(mav4);
}
......................................
1번 지표 결과값의 "역이평"을 구합니다.
2.
var1 = accumn(High - Open, 20);
var2 = Accumn(Open - Low, 20);
var3 = Accumn(High - Close[1], 20);
var4 = Accumn(Close[1] - Low, 20);
AA = var1 / var2 * 100;
BB = var3 / var4 * 100;
.......................................
2번지표를 실행해 보니 오류가 발생하던데 오류 좀 잡아주세요
3.
var : OSC1(0),Osc2(0);
Osc1 = MACD_OSC(10, 40, 5);
Osc2 = MACD_OSC(30, 80, 20);
if (crossup(OSC1,0) and OSC2 > 0) Or
(crossup(OSC2,0) and OSC1 > 0) Then
buy();
if OSC2 > 0 and CrossDown(OSC1,0) Then
ExitLong();
if (CrossDown(OSC1,0) and OSC2 < 0) Or
(CrossDown(OSC2,0) and OSC1 < 0) Then
Sell();
if OSC2 < 0 and CrossUp(OSC1,0) Then
ExitShort();
...................................................
3번 시스템을 데이타2용으로 전환시켜 주세요
감사합니다.