커뮤니티
문의...
2012-10-16 12:11:42
336
글번호 55650
data1 : 주종목
data2 : 참조종목
data3 : 참조종목
data4 : 참조종목
이렇게 구성을 한 다음
data2의 종목 이평이 5일과 20일선이 크로스가 되고
data3의 종목 이평이 5일과 20일선이 크로스가 되고
data4의 종목 이평이 5일과 20일선이 크로스가 됩니다
단 이때 동시에 같은 봉에서 세군데 같이 크로스가 날수도 있지만
각각 한두봉씩 차이로 크로스가 날수도 있습니다
예를들어
data2의 크로스가 10:00에 일어났고
data3의 크로스가 10:01에 일어났고
data4의 크로스가 10:04에 일어났다면
각각의 크로스 시점이 조금씩 차이가 납니다
질문
1. 크로스 날때 마다 data1 주종목의 가격을 지표로 표현합니다
이때 10:00에 저장해서 표현하다가 10:01에 또 크로스가 나면 앞전것은
취소하고 두번째 값을 저장 표현합니다. 역시 세번째 data4에서 크로스가 나면
두번째 값은 취소하고 세번째 값으로 저장 표현합니다
이것을 참조종목들 순서에 상관없이 첫번째 크로스가 일어난후 x봉만큼 시간간격을
둬서 예를들면 5봉안에만 유효하며 그 이상 시간이 지나가고 나면 의미 없는것으로
합니다
2. 1번질문의 앞전을 취소하는것을 취소하지말고 세번 다 기억하고 가장 높은값과
가장 낮은 값을 기억해서 표현합니다
이것 역시 일정한 x봉 만큼 여유를 두고 그 x봉 동안은 유효하면 그 이상은 의미
없는것으로 하는것을 표현하고 싶습니다
=======================================================================
3. 위와 관련없는 질문입니다
condition1 = ;
condition2 = ;
condition3 = ;
condition4 = ;
condition5 = ;
condition6 = ;
condition7 = ;
condition8 = ;
이렇게 8가지 condition 이 있습니다
이중 2가지 이상 만족하면( if then )
plot로 숫자 1을 출력하게 코딩 부탁합니다
if then
plot1(1) ;
이어서 추가 질문입니다
3번 질문에서 condition 이 2가지 이상 발생하는 것이 같은 시점의 같은 봉일수도
있지만 2봉내지는 x봉 간격을 두고 2가지 이상 해당할수도 있습니다
이럴때 역시 x봉간격안에서 2가지 이상 만족하면 plot1(1)으로도 표현되게끔
코딩 부탁합니다
답변 1
예스스탁 예스스탁 답변
2012-10-16 15:46:38
안녕하세요
예스스탁입니다.
1.
#data1 : 주종목
#data2 : 참조종목
#data3 : 참조종목
#data4 : 참조종목
var : value(0,data1),cnt(0,data1),idx(0,data1);
var : d2cnt(0,data2),d3cnt(0,data3),d4cnt(0,data4);
if data1(date != date[1]) or (data2(ma(c,5) < ma(c,20)) and data3(ma(c,5) < ma(c,20)) and data4(ma(c,5) < ma(c,20))) Then{
cnt = 0;
d2cnt = 0;
d3cnt = 0;
d4cnt = 0;
}
if d2cnt == 0 and data2(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
value = data1(c);
d2cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
value = data1(c);
d2cnt = 1;
idx = index;
}
}
if d3cnt == 0 and data3(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
value = data1(c);
d3cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
value = data1(c);
d3cnt = 1;
idx = index;
}
}
if d4cnt == 0 and data4(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
value = data1(c);
d4cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
value = data1(c);
d4cnt = 1;
idx = index;
}
}
plot1(value);
2.
#data1 : 주종목
#data2 : 참조종목
#data3 : 참조종목
#data4 : 참조종목
var : Hvalue(0,data1),Lvalue(0,data1),cnt(0,data1),idx(0,data1);
var : d2cnt(0,data2),d3cnt(0,data3),d4cnt(0,data4);
if data1(date != date[1]) or (data2(ma(c,5) < ma(c,20)) and data3(ma(c,5) < ma(c,20)) and data4(ma(c,5) < ma(c,20))) Then{
cnt = 0;
d2cnt = 0;
d3cnt = 0;
d4cnt = 0;
}
if d2cnt == 0 and data2(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
Hvalue = data1(c);
Lvalue = data1(c);
d2cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
if data1(c) > Hvalue Then
Hvalue = data1(c);
if data1(c) < Lvalue Then
Lvalue = data1(c);
d2cnt = 1;
idx = index;
}
}
if d3cnt == 0 and data3(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
Hvalue = data1(c);
Lvalue = data1(c);
d3cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
if data1(c) > Hvalue Then
Hvalue = data1(c);
if data1(c) < Lvalue Then
Lvalue = data1(c);
d3cnt = 1;
idx = index;
}
}
if d4cnt == 0 and data4(crossup(ma(c,5),ma(c,20))) Then{
cnt = cnt+1;
if cnt == 1 Then{
Hvalue = data1(c);
Lvalue = data1(c);
d4cnt = 1;
idx = index;
}
if cnt > 1 and index < idx+5 Then{
if data1(c) > Hvalue Then
Hvalue = data1(c);
if data1(c) < Lvalue Then
Lvalue = data1(c);
d4cnt = 1;
idx = index;
}
}
plot1(Hvalue);
plot2(Lvalue);
3.
input : X(3);
condition1 = ;
condition2 = ;
condition3 = ;
condition4 = ;
condition5 = ;
condition6 = ;
condition7 = ;
condition8 = ;
value1 = 0;
if countif(Condition1 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition2 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition3 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition4 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition5 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition6 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition7 == true,X) >= 1 Then
value1 = value1+1;
if countif(Condition8 == true,X) >= 1 Then
value1 = value1+1;
plot1(value1);
즐거운 하루되세요
> 9회말2아웃 님이 쓴 글입니다.
> 제목 : 문의...
> data1 : 주종목
data2 : 참조종목
data3 : 참조종목
data4 : 참조종목
이렇게 구성을 한 다음
data2의 종목 이평이 5일과 20일선이 크로스가 되고
data3의 종목 이평이 5일과 20일선이 크로스가 되고
data4의 종목 이평이 5일과 20일선이 크로스가 됩니다
단 이때 동시에 같은 봉에서 세군데 같이 크로스가 날수도 있지만
각각 한두봉씩 차이로 크로스가 날수도 있습니다
예를들어
data2의 크로스가 10:00에 일어났고
data3의 크로스가 10:01에 일어났고
data4의 크로스가 10:04에 일어났다면
각각의 크로스 시점이 조금씩 차이가 납니다
질문
1. 크로스 날때 마다 data1 주종목의 가격을 지표로 표현합니다
이때 10:00에 저장해서 표현하다가 10:01에 또 크로스가 나면 앞전것은
취소하고 두번째 값을 저장 표현합니다. 역시 세번째 data4에서 크로스가 나면
두번째 값은 취소하고 세번째 값으로 저장 표현합니다
이것을 참조종목들 순서에 상관없이 첫번째 크로스가 일어난후 x봉만큼 시간간격을
둬서 예를들면 5봉안에만 유효하며 그 이상 시간이 지나가고 나면 의미 없는것으로
합니다
2. 1번질문의 앞전을 취소하는것을 취소하지말고 세번 다 기억하고 가장 높은값과
가장 낮은 값을 기억해서 표현합니다
이것 역시 일정한 x봉 만큼 여유를 두고 그 x봉 동안은 유효하면 그 이상은 의미
없는것으로 하는것을 표현하고 싶습니다
=======================================================================
3. 위와 관련없는 질문입니다
condition1 = ;
condition2 = ;
condition3 = ;
condition4 = ;
condition5 = ;
condition6 = ;
condition7 = ;
condition8 = ;
이렇게 8가지 condition 이 있습니다
이중 2가지 이상 만족하면( if then )
plot로 숫자 1을 출력하게 코딩 부탁합니다
if then
plot1(1) ;
이어서 추가 질문입니다
3번 질문에서 condition 이 2가지 이상 발생하는 것이 같은 시점의 같은 봉일수도
있지만 2봉내지는 x봉 간격을 두고 2가지 이상 해당할수도 있습니다
이럴때 역시 x봉간격안에서 2가지 이상 만족하면 plot1(1)으로도 표현되게끔
코딩 부탁합니다
다음글
이전글