커뮤니티

한계좌에 여러가지 전략을 구현할 때

프로필 이미지
cs아빠
2018-05-15 01:39:06
2691
글번호 224419
답변완료
한 계좌에 여러가지 전략을 구현할 경우 전략별로 매수한 종목을 구별할 수 있을까요? 예를 들면, 1번 전략에서는 오늘 매수해서 내일 매도 하는 방식인데, 2번 전략은 오늘 매수, 오늘 매도하는 방식이라면 1번 전략의 오버나잇 전략은 무용지물이 됩니다. 전략별로 매수, 매도가 가능하게 할 수 있는지요?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-25 15:53:29

안녕하세요 예스스탁입니다. 해당 내용은 잔고자체로 구분할 방법이 없습니다. 잔고는 최종보유수량민 있고 수량에 대한 상세내역은 없습니다. Main.SetUserValue(sName, sValue) Main.GetUserValue(sName) 위함수들은 내부파일에 이름을 지정해 특정값을 적거나 적혀진 값을 가져오는 함수입니다. 각 전략별로 주문내서 체결된 수량을 내부파일에 적어서 매도시에 해당 전략에서 체결된 수량만큼만 매도가 되게 구현해 보셔야 합니다. 즉 매도할때 잔고수량 전체 청산이 아닌 위 방법이나 엑셀객체등을 이용해 별도로 각 전략별로 체결된 수량을 적어서 보관후에 매도시에 이용하셔야 합니다. 아내 내용 참고하시기 바랍니다. 전략별로 다른이름으로 저장해 이용하시면 됩니다. var ID,Num,fillsum; function Main_이벤트 { if (매수조건) { ID = Account1.OrderBuy(~~~); FillSum = 0; } if (매도조건) { //내부파일에 A1으로 저장된 값을 가져와 vv에 저장 var vv = Main.GetUserValue("A1") //vv가 0이상이면 if (vv > 0) { //vv만큼만 매도주문 Account1.OrderSell(종목코드,vv,0,1); //내부파일 A1은 0으로 초기화 Main.SetUserValue("A1", 0); } } } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Num = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { //체결발생할때마다 if (NotifyFill.orderNum == Num) { //체결수량을 누적 FillSum = FillSum + NotifyFill.fillCount; //누적체결수량을 A1이라는 이름으로 저장 Main.SetUserValue("A1", FillSum); } } 즐거운 하루되세요 > cs아빠 님이 쓴 글입니다. > 제목 : 한계좌에 여러가지 전략을 구현할 때 > 한 계좌에 여러가지 전략을 구현할 경우 전략별로 매수한 종목을 구별할 수 있을까요? 예를 들면, 1번 전략에서는 오늘 매수해서 내일 매도 하는 방식인데, 2번 전략은 오늘 매수, 오늘 매도하는 방식이라면 1번 전략의 오버나잇 전략은 무용지물이 됩니다. 전략별로 매수, 매도가 가능하게 할 수 있는지요?