커뮤니티
수식 문의드립니다
2015-10-07 00:17:42
100
글번호 90994
15분 차트를 돌리고 있지만 60분 차트 자료를 동시에 쓰고싶을때
예를들어, 60분봉 차트의 20MA > 60MA 일때
15분봉 차트에서 5MA가 20MA 돌파시 진입
과 같이 수식을 작성하려면 어떻게 해야 하는지요?
답변 1
예스스탁 예스스탁 답변
2015-10-07 11:51:22
안녕하세요
예스스탁입니다.
1.
15분 차트에서 60분의 이평을 계산해서 사용하시면 됩니다.
아래식 참고하시기 바랍니다.
input : Atime(60),P1(20),P2(60);
var : avg1(0),avg2(0);
var : TT(0),TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0);
Array : CC[100](0);
avg1 = ma(C,P1);
avg2 = ma(C,P2);
if date != date[1] Then
TT = TimeToMinutes(stime);
TF = (TimeToMinutes(stime)-TT)%Atime;
#60분 단위로 구분해서 종가 저장
if date != date or (date == date and TF < TF[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P2] > 0 then{
#타분봉 20-60이평 계산
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2{
if cnt < P1 then
sum1 = sum1+CC[cnt];
if cnt < P2 then
sum2 = sum2+CC[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
if crossup(avg1,avg2) and mav1 > mav2 Then
buy();
if crossdown(avg1,avg2) and mav1 < mav2 Then
sell();
}
2.
구현하는 내용에 따라 수식자체에서 다른주기 계산이 가능하지 않을 수도 있습니다.
그때는 아래와 같이 참조데이터를 이용해야 합니다.
아래 내용은 참조데이터를 이용하는 내용입니다.
차트에 다른주기의 데이터를 추가하고 수식에서 이용하는 식입니다.
참조데이터는 차트의 왼쪽 상단의 종목선택버튼(돋보기아이콘) 중
오른쪽 클릭하면 차트에 추가할수 있습니다.
기본종목과 같은 종목으로 다른주기로 추가도 가능합니다.
참조데이터는 차트에 추가하는 순서에 따라 data2부터 data99까지 번호가 부여됩니다.
input : P1(20),P2(60);
var : avg1(0,data1),avg2(0,data1);
var : mav1(0,data2),mav2(0,data2);
avg1 = data1(ma(C,P1));
avg2 = data1(ma(C,P2));
mav1 = data2(ma(C,P1));
mav2 = data2(ma(C,P2));
if crossup(avg1,avg2) and mav1 > mav2 Then
buy();
if crossdown(avg1,avg2) and mav1 < mav2 Then
sell();
즐거운 하루되세요
> vvonder 님이 쓴 글입니다.
> 제목 : 수식 문의드립니다
> 15분 차트를 돌리고 있지만 60분 차트 자료를 동시에 쓰고싶을때
예를들어, 60분봉 차트의 20MA > 60MA 일때
15분봉 차트에서 5MA가 20MA 돌파시 진입
과 같이 수식을 작성하려면 어떻게 해야 하는지요?
다음글