커뮤니티

잔고함수

프로필 이미지
건곤대
2022-09-08 11:26:05
1139
글번호 162084
답변완료
안녕하세요. 실전에서 잔고함수를 써서 당일의 진입수량을 아래와 같이 결정하려고 합니다. 금일 실전에 투입해보았는데, 예상한 수량이 아닌 1의 값으로 주문이 발생했더라구요(09:01~09:02에 주문발생) 장시작직후에는 잔고값이 수신전라서 그런건지, 이유를 모르겠습니다. 다른 차트에 시험적용해보면(messagelog) 지금도 원하는 수량으로 k값이 잘 나오는걸 확인할 수 있는데, 왜 저렇게 되는지 궁금합니다. ----------------------------------------- AccoundNum = getAccount(1); Value = GetUnclearedDeposits(AccoundNum); k = max(1,int(0.5*value/(data3(CloseD(1))*10000*margin))); if sTime <= 종료시간 and MarketPosition == 0 then { Sell("KQMT매도진입",AtLimit,dayclose(1),k); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-09-13 11:17:54

안녕하세요 예스스탁입니다. 잔고값이 수신전이라서 발생하는 내용일것 같습니다. 실제 계좌의 예수금필드가 장시작후 새로 업데이트 될수도 있습니다. 값 수신후에 신호가 발생하게 if 조건문에 value가 0보다 클다라는 조건을 추가하시기 바랍니다. AccoundNum = getAccount(1); Value = GetUnclearedDeposits(AccoundNum); k = max(1,int(0.5*value/(data3(CloseD(1))*10000*margin))); if sTime <= 종료시간 and MarketPosition == 0 and value > 0 then { Sell("KQMT매도진입",AtLimit,dayclose(1),k); } 즐거운 하루되세요 > 건곤대 님이 쓴 글입니다. > 제목 : 잔고함수 > 안녕하세요. 실전에서 잔고함수를 써서 당일의 진입수량을 아래와 같이 결정하려고 합니다. 금일 실전에 투입해보았는데, 예상한 수량이 아닌 1의 값으로 주문이 발생했더라구요(09:01~09:02에 주문발생) 장시작직후에는 잔고값이 수신전라서 그런건지, 이유를 모르겠습니다. 다른 차트에 시험적용해보면(messagelog) 지금도 원하는 수량으로 k값이 잘 나오는걸 확인할 수 있는데, 왜 저렇게 되는지 궁금합니다. ----------------------------------------- AccoundNum = getAccount(1); Value = GetUnclearedDeposits(AccoundNum); k = max(1,int(0.5*value/(data3(CloseD(1))*10000*margin))); if sTime <= 종료시간 and MarketPosition == 0 then { Sell("KQMT매도진입",AtLimit,dayclose(1),k); }