커뮤니티

수식 부탁드립니다

프로필 이미지
surigold
2017-05-07 11:29:05
173
글번호 109347
답변완료

첨부 이미지

수고하십니다^^ 60틱차드입니다. 첨부파일과 같이 가공된 데이터를 데이터매니저를 이용하여 차트에 표시하였습니다. 4/24일 17:00:00에 표기된 데이터2~10을 이용하여 다음날 4/25일 시가에 1번만 진입하게 하려고 합니다.(하루 1번 매매) xData11 = Data2(CloseD(0)); xData12 = Data3(CloseD(0)); xData13 = Data4(CloseD(0)); xData21 = Data5(CloseD(0)); xData22 = Data6(CloseD(0)); xData23 = Data7(CloseD(0)); xData31 = Data8(CloseD(0)); xData32 = Data9(CloseD(0)); xData33 = Data10(CloseD(0)); If xData13 <= xData11 and xData13 <= xData12 Then{ xSmallCnt = xSmallCnt + 1; } If xData23 <= xData21 and xData23 <= xData22 Then{ xSmallCnt = xSmallCnt + 1; } If xData33 <= xData31 and xData33 <= xData31 Then{ xSmallCnt = xSmallCnt + 1; } If MarketPosition == 0 Then{ If nextBarSDate != sdate and xSmallCnt >= 2 Then{ sell("S1", AtMarket); } else { buy("B1", AtMarket); } } 감사합니다^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-05-10 14:26:49

안녕하세요 예스스탁입니다. 수식에서 데이터는 완성봉의 값만 사용이 가능합니다. 봉완성은 다음봉 시가가 수신될때 입니다. 올려주신 그림으로 보면 다음봉 시가가 없어 참조데이터가 모두 완성된 값이 아닙니다. 기본종목의 일간 마지막봉 완성시(다음날 시가수신)에 동일하게 완성이 되어 있어야 합니다. 첨부하신 그림에는 없지만 다음날 봉이 있다면 수식을 아래와 같이만 수정하시면 됩니다. #매봉 0으로 초기화하고 카운트 var : xSmallCnt(0,data1); xData11 = Data2(CloseD(0)); xData12 = Data3(CloseD(0)); xData13 = Data4(CloseD(0)); xData21 = Data5(CloseD(0)); xData22 = Data6(CloseD(0)); xData23 = Data7(CloseD(0)); xData31 = Data8(CloseD(0)); xData32 = Data9(CloseD(0)); xData33 = Data10(CloseD(0)); xSmallCnt = 0; If xData13 <= xData11 and xData13 <= xData12 Then{ xSmallCnt = xSmallCnt + 1; } If xData23 <= xData21 and xData23 <= xData22 Then{ xSmallCnt = xSmallCnt + 1; } If xData33 <= xData31 and xData33 <= xData31 Then{ xSmallCnt = xSmallCnt + 1; } #무포지션이고 일간 마지막봉 If MarketPosition == 0 and nextBarSDate != sdate Then { #xSmallCnt 2이상이면 매도, 아니면 매수 If xSmallCnt >= 2 Then{ sell("S1", AtMarket); } else { buy("B1", AtMarket); } } 즐거운 하루되세요 > surigold 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 수고하십니다^^ 60틱차드입니다. 첨부파일과 같이 가공된 데이터를 데이터매니저를 이용하여 차트에 표시하였습니다. 4/24일 17:00:00에 표기된 데이터2~10을 이용하여 다음날 4/25일 시가에 1번만 진입하게 하려고 합니다.(하루 1번 매매) xData11 = Data2(CloseD(0)); xData12 = Data3(CloseD(0)); xData13 = Data4(CloseD(0)); xData21 = Data5(CloseD(0)); xData22 = Data6(CloseD(0)); xData23 = Data7(CloseD(0)); xData31 = Data8(CloseD(0)); xData32 = Data9(CloseD(0)); xData33 = Data10(CloseD(0)); If xData13 <= xData11 and xData13 <= xData12 Then{ xSmallCnt = xSmallCnt + 1; } If xData23 <= xData21 and xData23 <= xData22 Then{ xSmallCnt = xSmallCnt + 1; } If xData33 <= xData31 and xData33 <= xData31 Then{ xSmallCnt = xSmallCnt + 1; } If MarketPosition == 0 Then{ If nextBarSDate != sdate and xSmallCnt >= 2 Then{ sell("S1", AtMarket); } else { buy("B1", AtMarket); } } 감사합니다^^