커뮤니티

계좌 하나에 복수의 차트를 운영할 수 있는지요..

프로필 이미지
상수리나무
2017-09-04 15:00:03
96
글번호 112489
답변완료
옵션에서 콜, 풋 양매수 로직을 만들고 있습니다. 콜 차트에서 진입하면 풋 차트에서 진입이 불가능하게 막을 수 있는지요. 그러니까 계좌는 하나인데 차트는 두 개 걸어서 운영하고 싶습니다. 어떻게 해야할까요. 잔고함수를 쓰면 될 것 같기는 한데,, 아직 해보질 않아서..부탁합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-09-05 11:03:56

안녕하세요 예스스탁입니다. 하나의 계좌에 여러 시스템을 적용하는 것은 가능합니다 계좌별로 시스템의 갯수의 제한은 없지만 계좌에서 시스템별로 포지션을 별도로 관리하는 것은 아닙니다. 예스랭귀지에 잔고함수가 제공되지만 사용자의 계좌의 과거 히스토리 데이터가 제공되는 것은 아닙니다. 실시간에서만 리턴이 되고 과거봉에서는 값이 없습니다. 시스템 재적용시 과거 값은 리턴이 안되므로 과거에 잔고를 보고 발생했던 신호를 시스템 재적용시 그대로 발생시킬수가 없는 위험이 있습니다. 유의하시기 바랍니다. 아래는 현재잔고에 콜이나 풋보유 중인지를 true false로 리턴합니다. 콜적용 시스템식의 진입식에는 풋보유 == false 풋적용 시스템식의 진입식에는 콜보유 == false 조건 추가하시면 됩니다. NH투자증권과 하이투자증권의 콜풋 종목코드가 다릅니다. 1번은 NH투자증권용 2번은 하이투자증권용입니다/ 1번 var : Account(""),Code(""),num(0),Vol(0),cnt(0),콜보유(false),풋보유(false); Account = "000-11-072345";//계좌번호 num = GetNumPositions(Account); 콜보유 = false; 풋보유 = false; for cnt= 0 to num-1{ Code = GetPositionSymbol(cnt, Account); Vol = GetPositionQuantity(Code, Account); if LeftStr(GetPositionSymbol(cnt, Account),2) == "12" and Vol > 0 Then 콜보유 = true; if LeftStr(GetPositionSymbol(cnt, Account),2) == "13" and Vol > 0 Then 풋보유 = true; } 2번 var : Account(""),Code(""),num(0),Vol(0),cnt(0),콜보유(false),풋보유(false); Account = "000-11-072345";//계좌번호 num = GetNumPositions(Account); 콜보유 = false; 풋보유 = false; for cnt= 0 to num-1{ Code = GetPositionSymbol(cnt, Account); Vol = GetPositionQuantity(Code, Account); if LeftStr(GetPositionSymbol(cnt, Account),1) == "2" and Vol > 0 Then 콜보유 = true; if LeftStr(GetPositionSymbol(cnt, Account),1) == "3" and Vol > 0 Then 풋보유 = true; } 즐거운 하루되세요 > 상수리나무 님이 쓴 글입니다. > 제목 : 계좌 하나에 복수의 차트를 운영할 수 있는지요.. > 옵션에서 콜, 풋 양매수 로직을 만들고 있습니다. 콜 차트에서 진입하면 풋 차트에서 진입이 불가능하게 막을 수 있는지요. 그러니까 계좌는 하나인데 차트는 두 개 걸어서 운영하고 싶습니다. 어떻게 해야할까요. 잔고함수를 쓰면 될 것 같기는 한데,, 아직 해보질 않아서..부탁합니다.