5종목까지만 보유 제한을 걸려고 합니다.
아래와 같은 식으로 시험 적용을 해보았는데
실제 매매가 아니어서인지
종목 갯수 제한이 걸리지 않은채
그냥 계속 추가 종목들이
매수가 되어버리는데요.
실제 매매에서는 갯수 제한이 동작할까요?
//신호발생
function Main_OnRiseSignal(ChartEx, Signal)
{
//계좌 보유 종목 수
var num = Account1.GetTheNumberOfBalances();
//신호발생 종목에 대해 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//매수신호가 발생했고
//보유종목수가 5개 이하
if (Signal.signalKind == 1 && num <= 5 && Account1.Balance.count == 0)
{
Account1.OrderBuy(후략);
}
답변 1
예스스탁
예스스탁 답변
2022-03-04 17:01:39.0
안녕하세요
예스스탁입니다.
Account1.GetTheNumberOfBalances();
은 실제계좌의 보유종목수입니다.
시험적용은 별도로 주문을 내지 않으므로 해당조건에 걸리지 않게 됩니다.
실제 주문이 되어야 로직대로 제어가 됩니다.
즐거운 하루되세요
> 시스시스스템 님이 쓴 글입니다.
> 제목 : 시험적용에서 GetTheNumberOfBalances
> 5종목까지만 보유 제한을 걸려고 합니다.
아래와 같은 식으로 시험 적용을 해보았는데
실제 매매가 아니어서인지
종목 갯수 제한이 걸리지 않은채
그냥 계속 추가 종목들이
매수가 되어버리는데요.
실제 매매에서는 갯수 제한이 동작할까요?
//신호발생
function Main_OnRiseSignal(ChartEx, Signal)
{
//계좌 보유 종목 수
var num = Account1.GetTheNumberOfBalances();
//신호발생 종목에 대해 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//매수신호가 발생했고
//보유종목수가 5개 이하
if (Signal.signalKind == 1 && num <= 5 && Account1.Balance.count == 0)
{
Account1.OrderBuy(후략);
}