주식 5종목까지 보유종목을 제한하려고
var : AccNum(""), NumPosit(0);
AccNum = " 계좌번호 " ;
NumPosit = GetNumPositions(AccNum);
if NumPosit <= 5 and 후략 then
이와 같은 식으로 시험 적용을 해보았는데
실제 매매가 아니어서인지
종목 갯수 제한이 걸리지 않은채
그냥 계속 추가 종목들이 매수가 되어버리는데요.
실제 매매에서는 갯수 제한이 동작할까요?
답변 1
예스스탁
예스스탁 답변
2022-01-28 16:15:19
안녕하세요
예스스탁입니다.
잔고관련된 함수는 과거봉의 값이 없습니다.
아래 내용을 시스템이나 지표식으로 작성해 차트에 적용하면 각봉의 값이 디버깅창에 출력됩니다.
확인해 보시면 차트 과거봉에는 값이 없어 N/A이고
차트 마지막 실시간봉에서만 0 이상의 값이 리턴되는 것을 보실 수 있습니다.
과거봉의 값이 N/A이기 때문에 NumPosit <= 5 같은 조건을 충족할 수 없어
과거봉에는 신호가 발생하지 못하는 것입니다.
실시간봉에서는 해당 조건 체크해서 신호가 발생할 수 있습니다.
var : AccNum(""), NumPosit(0);
AccNum = " 계좌번호 ";
NumPosit = GetNumPositions(AccNum);
MessageLog("%.10f",NumPosit);
실시간에서는 해당 내용으로 조건을 지정해 제어를 할수 있지만
프로그램을 재접속하거나 시스템을 재적용하면 다시
과거봉에는 값이 없으므로 신호를 연결해 갈수 없습니다.
즉 잔고와 관련된 모든 함수는 항상 실시간봉에서만 값이 제공되므로
사용하실 때는 위 내용에 유의/감안해서 사용하셔야 합니다.
즐거운 명절 되시길 바랍니다.
> 시스시스스템 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 주식 5종목까지 보유종목을 제한하려고
var : AccNum(""), NumPosit(0);
AccNum = " 계좌번호 " ;
NumPosit = GetNumPositions(AccNum);
if NumPosit <= 5 and 후략 then
이와 같은 식으로 시험 적용을 해보았는데
실제 매매가 아니어서인지
종목 갯수 제한이 걸리지 않은채
그냥 계속 추가 종목들이 매수가 되어버리는데요.
실제 매매에서는 갯수 제한이 동작할까요?