커뮤니티
if문 실행결과 보완 방법
2019-01-30 15:19:50
179
글번호 125767
input : N(0.5);
var : NS(0);
NS = 1-abs((DayOpen(1)-DayClose(1))/(DayHigh(1)-DayLow(1)));
if NS >= N then (1)조건
{
if crossup(c,DayOpen(0)+NS*(DayHigh(1)-DayLow(1))) Then
buy("b"); (2)조건
}
SetStopEndofday(151000);
1. 위 전략을 개별주식에 테스트해 보았는데
2. 위 전략으로는 (1)조건을 만족하면(NS>=N이면) (2)조건을 실행하는 것으로 되어 있으나 테
스트한 결과 (1)조건을 만족하지 않아도(NS<N) (2)조건을 실행하였고
3. (2) 조건을 실행한 후 조건문을 빠져나가서 매수 전략이 완료되어야 하는데 횡보구간에서
조건을 만족하여 1차례 더 매수가 이루어지는 문제가 발생하였습니다.
4. 보완할 수 있는 방법을 부탁드립니다.
5. 검증에는 문제가 없었고 전략실행시 1틱단위로 설정하였습니다.
답변 1
예스스탁 예스스탁 답변
2019-01-30 15:34:29
안녕하세요
예스스탁입니다.
1
해당 수식은 2가지 조건이 동시에 만족하는 봉에서만 진입합니다.
여러종목에 테스트해 보았지만 (1)조건이 만족하지 않는데
(2)조건으로만 진입하는 경우가 없습니다.
2
차트에 아래 지표식 적용하셔서 1조건 만족여부 확인하시기 바랍니다.
input : N(0.5);
var : NS(0);
NS = 1-abs((DayOpen(1)-DayClose(1))/(DayHigh(1)-DayLow(1)));
plot1(NS);
plot2(N);
3
차트에 당일 첫봉의 데이타가 있는지 확인하시기 바랍니다.
일봉값을 가져오는 dayopen, dayhigh,daylow,dayclose함수가 이전일의 값은
일봉에서 직접가져오지만 당일 시고저종가(dayopen(0), dayhigh(0),daylow(0),dayclose(0))는
차트에서 계산하므로 당일데이타가 모두 차트에 없으면 차트에 있는 봉으로만 계산합니다.
4
문법검증은 수식의 문법상 오류가 없는지 검사합니다.
신호발생과는 관계가 없습니다.
즐거운 하루되세요
> pdy2280 님이 쓴 글입니다.
> 제목 : if문 실행결과 보완 방법
> input : N(0.5);
var : NS(0);
NS = 1-abs((DayOpen(1)-DayClose(1))/(DayHigh(1)-DayLow(1)));
if NS >= N then (1)조건
{
      if crossup(c,DayOpen(0)+NS*(DayHigh(1)-DayLow(1))) Then             
buy("b");  (2)조건  
}
SetStopEndofday(151000);
1. 위 전략을 개별주식에 테스트해 보았는데
2. 위 전략으로는 (1)조건을 만족하면(NS>=N이면) (2)조건을 실행하는 것으로 되어 있으나 테
스트한 결과 (1)조건을 만족하지 않아도(NS<N) (2)조건을 실행하였고
3. (2) 조건을 실행한 후 조건문을 빠져나가서 매수 전략이 완료되어야 하는데 횡보구간에서
조건을 만족하여 1차례 더 매수가 이루어지는 문제가 발생하였습니다.
4. 보완할 수 있는 방법을 부탁드립니다.
5. 검증에는 문제가 없었고 전략실행시 1틱단위로 설정하였습니다.