커뮤니티

참조 데이터(data2)관련 문제 문의

프로필 이미지
기사단장
2020-07-27 01:31:14
1806
글번호 140994
답변완료

첨부 이미지

안녕하세요. 항상 도와주셔서 큰 도움이 되고 있습니다. 다름이아니라 참조데이터를 수식에 사용하는데 문제가 있어서 문의드립니다. 1. 코스닥 150 레버리지 ETF (data2) 의 '전일' 시종고저 기준으로 IBS라는 지표를 도출하고, 2. IBS가 0.8 이상일 경우 코스닥 150 인버스를 매수하는 로직을 작성하였으나, 3. data2가 아닌 코스닥 150 인버스(data1) 자체의 봉만을 참조하는 결과가 발생하고 있습니다. - 그림1에서 IBS로그를 확인한 결과 0.8이상인 것을 확인할 수 있으며, - 그림2에서 IBS값은 data2가 아닌, data1의 전일 IBS 값임을 확인할 수 있습니다. (참고로 지표는 data2의 IBS값을 표기하고 있으며 정상적으로 보여주는 것을 알 수 있습니다. 아래 수식 공유드립니다.) [시스템 수식] Input : k(0.5); #IBS지표 Input : highline(0.8),lowline(0.2); var : IBS(0); IBS= data2((dayclose(1)-daylow(1))/(dayhigh(1)-daylow(1))); #1일 1회 매수 input: N(1); var: cnt(0), count(0); Count = 0; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } #Range var: rng(0); rng = dayhigh(1)-daylow(1); #매수 조건 if IBS >= 0.8 and C > dayopen +rng*k and count < N then { MessageLog("IBS %.2f", IBS); buy("매수"); } #매도 조건 if stime >= 151600 and stime <151800 Then { ExitLong("시초매도",AtMarket,DEF,""); } [지표 수식] Input : highline(0.8),lowline(0.2); var : IBS(0); IBS=(data2(dayclose(1))-data2(daylow(1)))/(data2(dayhigh(1))-data2(daylow(1))); Plot1(IBS, "IBS"); PlotBaseLine1(highline, "기준선1"); PlotBaseLine2(lowline, "기준선2");
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-07-27 15:54:32

안녕하세요 예스스탁입니다. dayopen,dayhigh,daylow,dayclose은 data1의 일간 시고저종가를 가져오는 함수입니다. 참조데이타는 openD,highD,lowD,closeD함수를 이용하셔야 합니다. 1 input : k(0.5); #IBS지표 Input : highline(0.8),lowline(0.2); var : IBS(0); IBS= data2((closeD(1)-lowD(1))/(highD(1)-lowD(1))); #1일 1회 매수 input: N(1); var: cnt(0), count(0); Count = 0; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } #Range var: rng(0); rng = dayhigh(1)-daylow(1); #매수 조건 if IBS >= 0.8 and C > dayopen +rng*k and count < N then { MessageLog("IBS %.2f", IBS); buy("매수"); } #매도 조건 if stime >= 151600 and stime <151800 Then { ExitLong("시초매도",AtMarket,DEF,""); } 2 Input : highline(0.8),lowline(0.2); var : IBS(0); IBS=data2((closeD(1)-lowD(1))/(highD(1)-lowD(1))); Plot1(IBS, "IBS"); PlotBaseLine1(highline, "기준선1"); PlotBaseLine2(lowline, "기준선2"); 즐거운 하루되세요 > 기사단장 님이 쓴 글입니다. > 제목 : 참조 데이터(data2)관련 문제 문의 > 안녕하세요. 항상 도와주셔서 큰 도움이 되고 있습니다. 다름이아니라 참조데이터를 수식에 사용하는데 문제가 있어서 문의드립니다. 1. 코스닥 150 레버리지 ETF (data2) 의 '전일' 시종고저 기준으로 IBS라는 지표를 도출하고, 2. IBS가 0.8 이상일 경우 코스닥 150 인버스를 매수하는 로직을 작성하였으나, 3. data2가 아닌 코스닥 150 인버스(data1) 자체의 봉만을 참조하는 결과가 발생하고 있습니다. - 그림1에서 IBS로그를 확인한 결과 0.8이상인 것을 확인할 수 있으며, - 그림2에서 IBS값은 data2가 아닌, data1의 전일 IBS 값임을 확인할 수 있습니다. (참고로 지표는 data2의 IBS값을 표기하고 있으며 정상적으로 보여주는 것을 알 수 있습니다. 아래 수식 공유드립니다.) [시스템 수식] Input : k(0.5); #IBS지표 Input : highline(0.8),lowline(0.2); var : IBS(0); IBS= data2((dayclose(1)-daylow(1))/(dayhigh(1)-daylow(1))); #1일 1회 매수 input: N(1); var: cnt(0), count(0); Count = 0; for cnt = 0 to 10 { if EntryDate(cnt) == sdate then Count = Count + 1; } #Range var: rng(0); rng = dayhigh(1)-daylow(1); #매수 조건 if IBS >= 0.8 and C > dayopen +rng*k and count < N then { MessageLog("IBS %.2f", IBS); buy("매수"); } #매도 조건 if stime >= 151600 and stime <151800 Then { ExitLong("시초매도",AtMarket,DEF,""); } [지표 수식] Input : highline(0.8),lowline(0.2); var : IBS(0); IBS=(data2(dayclose(1))-data2(daylow(1)))/(data2(dayhigh(1))-data2(daylow(1))); Plot1(IBS, "IBS"); PlotBaseLine1(highline, "기준선1"); PlotBaseLine2(lowline, "기준선2");