커뮤니티
틱차트에 분단위 지표 사용시 버그(?)
2017-12-21 16:36:44
188
글번호 115186
/************* SetUp ***********************/
var : ATR30min(0), MaATR10min(0);
ATR30min = data2(ATR(Period*6));
MaATR30min = ma(ATR10min,Period*6*20);
300틱 차트 전략식 안에서 30분단위 ATR지표를 사용하기 위해 30분 보조차트(data2)를 불러온 후
전략 셋업단계에 위 코드를 넣었습니다
그런데 위 코드 외 다른 조건문은 전혀 넣지도 않았고 진입식도 기존 식에서 전혀 수정하지 않은 상황인데
진입횟수와 전략성과가 약간 달라지는 현상이 나타납니다
왜 이런 현상이 나타나는지 문의드립니다
답변 1
예스스탁 예스스탁 답변
2017-12-22 11:47:45
안녕하세요
예스스탁입니다.
수식내에 참조데이터를 사용하시면
수식내의 모든 변수의 선언에 데이터번호를 지정해 주셔야 하고
함수식이나 계산식도 데이타번호로 모두 묵어 주셔야 합니다.
ma(ATR10min,Period*6*20)
와 같은 포현도 기본적으로 잘못작성된 내용입니다.
data2(ma(ATR10min,Period*6*20));
기준값을 data2값을 사용해도 또 data2함수로 처리해 주셔야 합니다.
그래야 함수의 기간값(Period*6*20)이 data2의 봉을 기준으로 카운트 됩니다.
input : p1(5),P2(20);
var : mav1(0),mav2(0);
mav1 = ma(C,P1);
mav2 = ma(C,P2);
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav1,mav2) Then
sell();
올려주신 내용을 위 시스템과 합친다고 하면
아래와 같이 변경을 하셔어 함치셔야 합니다.
input : p1(5),P2(20),Period(10);
var : mav1(0,data1),mav2(0,data1);//변수선언에 추가
var : ATR30min(0,data2), MaATR30min(0,data2);//변수선언에 추가
ATR30min = data2(ATR(Period*6));
MaATR30min = data2(ma(ATR30min,Period*6*20)); //#data2함수 처리
mav1 = data1(ma(C,P1));//data1함수 처리
mav2 = data1(ma(C,P2));//data1함수처리
if crossup(mav1,mav2) Then
buy();
if CrossDown(mav1,mav2) Then
sell();
즐거운 하루되세요
> 훈sys 님이 쓴 글입니다.
> 제목 : 틱차트에 분단위 지표 사용시 버그(?)
> /************* SetUp ***********************/
var : ATR30min(0), MaATR10min(0);
ATR30min = data2(ATR(Period*6));
MaATR30min = ma(ATR10min,Period*6*20);
300틱 차트 전략식 안에서 30분단위 ATR지표를 사용하기 위해 30분 보조차트(data2)를 불러온 후
전략 셋업단계에 위 코드를 넣었습니다
그런데 위 코드 외 다른 조건문은 전혀 넣지도 않았고 진입식도 기존 식에서 전혀 수정하지 않은 상황인데
진입횟수와 전략성과가 약간 달라지는 현상이 나타납니다
왜 이런 현상이 나타나는지 문의드립니다