Search

계좌와 주문

인텔리퀀트에서는 실제 환경과 유사하게 계좌를 생성하여 시뮬레이션을 진행합니다.
따로 설정하지 않아도 기본적으로 하나의 계좌가 생성되며, 필요하다면 스크립트에서 여러 계좌를 추가로 생성하여 시뮬레이션 할 수 있습니다.

IQAccount

인텔리퀀트에서 계좌를 나타내는 Account 객체들은 IQAccount라는 객체를 통해 제공 됩니다. 이 IQAccount에서 기본 계좌를 불러올 수 있고, 추가로 계좌를 등록할 수도 있습니다.

기본 계좌에 주문내기

시뮬레이션이 시작되기 전에 자동으로 내부적으로 하나의 계좌를 생성합니다. 이 계좌만 사용하신다면 별도의 계좌 생성을 하지 않아도 됩니다. 기본적으로 제공하는 계좌의 최초 설정 금액은 시뮬레이션이 시작될 때 사용자가 지정할 수 있습니다.
다음과 같은 방법으로 주문을 낼 수 있습니다.
IQAccount.getDefaultAccount().buy('A035420', 1); IQAccount.getDefaultAccount().sell('A035420', 1);
JavaScript
복사
그러나 여러 종목을 포트폴리오를 구성하여 여러 종목에 분산 투자 하는 경우에는 위의 예처럼 직접 주문을 내기 보다는 Basket 객체를 통하여 매매를 처리하는 것을 권장합니다.

예수금 및 잔고 조회

예수금은 다음과 같이 조회할 수 있습니다.
logger.debug('cash : ' + IQAccount.getDefaultAccount().cash);
JavaScript
복사
그리고 종목의 잔고는 다음과 같이 조회할 수 있습니다.
var eggs = IQAccount.getDefaultAccount().getEggs();
JavaScript
복사
여기서 리턴되는 eggs는 code, quantity, mean 3개의 값을 갖는 객체의 배열입니다.
for(var i=0; i < eggs.length; i++) { var egg = eggs[i]; logger.debug(i + "번째 egg. 종목코드:" + egg.code + ", 수량:" + egg.quantity + ", 평균매수가격:" + egg.mean); }
JavaScript
복사

계좌 평가

예수금을 포함한 계좌의 잔고 평가 금액은 getTotalEquity() 함수를 이용하여 조회할 수 있습니다.

계좌의 추가

IQAccount.addAccount('account1', 100000000); //1억의 예수금을 가진 계좌를 추가합니다.
JavaScript
복사
전체 Account는 IQAccount.accounts 배열을 통해 가져올 수 있습니다.