커뮤니티

문의 드립니다.

프로필 이미지
즐겁게
2013-07-25 18:10:55
1340
글번호 222459
답변완료
안녕하세요. 매수진입(롱포)-매수청산(롱포청산)-매수진입(롱포)-매수청산(롱포청산)... 이런 과정이 계속되도록 하고 싶은데, 실제로 시스템과 스팟을 실행시키면, 매도(숏)포지션이 발생하고, 또 그 게 두 개 세 개로 쌓이기까지 합니다. YesSpotHelp 파일 속의 예제4번(취소주문)이나, 또 이 곳의 질의응답 글을 보면서 방법을 찾고 있는데, 이리 저리 해서 고치고 실행시켜도 계속 실제 매매포지션이 쌓이는 현상이 계속되고 있습니다. 아마도 Balance, Unfill, NotifyFill, GetTheNumberOfBalances, GetTheNumberOfUnfills, SetBalanceIndex, SetUnfillIndex 등등을 잘 이용하면 될 듯도 한데 아직까지 성공하지 못했습니다. 그래서, 두 가지로 질문을 요약하여 올리오니, 만일 여러 가지 다양한 방법들이 가능하다면, 가능한 대로 이런 저런 조금씩 다른 방법들도 알려 주시면 대단히 감사하겠습니다. 1. 이미 매도(숏)포지션이 계좌 잔고에 존재한다면, 절대로 다시 스팟에 의한 매도 주문이 나가지 않도록 하는 방법. 2. 또한, 이미 미체결인 매도주문이 존재한다면, 절대로 다시 스팟에 의한 매도 주문이 나가지 않도록 하는 방법. 이 두 문제에 대해서, 위에서 언급드린 Unfill 등을 사용해서라든지, 여하튼 어떤 방법으로라도, 하나만이 아니라 여러가지 가능한 방법들이 있다면 가능하면 다양하게, 해결할 수 있는 방법을 알려 주시면 대단히 감사하겠습니다. 감사합니다.
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2013-07-23 19:13:50

안녕하세요 예스스탁입니다. 잔고와 미체결객체를 셋팅한 후에 매도주문전에 if조건으로 포지션이나 미체결여부 확인후 주문하시면 됩니다. 어느 이벤트의 어떤 조건으로 매도주문이 발생하는지 알수가 없어 차트에서 exitlong신호 발생시에 해당 조건 추가해서 예제로 올려드립니다. 식작성에 참고하시기 바랍니다. function Chart1_OnRiseSignal(Signal) { //연결된 차트의 주종목의 종목코드 var ChartCode = Main.GetOrderCode(Chart1.GetCode(1)); //차트에서 exitlong 신호 발생시 if (Signal.signalKind == 2) { //차트 주종목의 잔고 객체 생성 Account1.SetBalanceItem(Main.GetOrderCode(Chart1.GetCode(1)), 0); //전체 미체결 객체 중에 //차트 주종목과 같으 종목으로 주문낸 //매도 미체결 주문이 있는지를 찾음 //없으면 UnFillCond는 false, 있으면 true UnFillCond = false; for (var i = 1; i <= Nth; i++) { Account1.SetUnfillIndex(i); if (Account1.Unfill.code == ChartCode && Account1.Unfill.orderKind == 1) { UnFillCond = true; } } //잔고에 매도포지션이 없고 미체결도 없으면 매도주문 if (Account1.Balance.position != 1 && UnFillCond == false) Account1.OrderSell( ChartCode, 1, 0,1); } } 즐거운 하루되세요 > 즐겁게 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 안녕하세요. 매수진입(롱포)-매수청산(롱포청산)-매수진입(롱포)-매수청산(롱포청산)... 이런 과정이 계속되도록 하고 싶은데, 실제로 시스템과 스팟을 실행시키면, 매도(숏포)포지션이 발생하고, 또 그 게 두 개 세 개로 쌓이기까지 합니다. YesSpotHelp 파일 속의 예제4번(취소주문)이나, 또 이 곳의 질의응답 글을 보면서 방법을 찾고 있는데, 이리 저리 해서 고치고 실행시켜도 계속 실제 매매포지션이 쌓이는 현상이 계속되고 있습니다. 아마도 Balance, Unfill, NotifyFill, SetUnfillIndex, GetTheNumberOfBalances, GetTheNumberOfUnfills, SetBalanceIndex, SetUnfillIndex 등등을 잘 이용하면 될 듯도 한데 아직까지 성공하지 못했습니다. 그래서, 두 가지로 질문을 요약하여 올리오니, 만일 여러 가지 다양한 방법들이 가능하다면, 가능한 대로 이런 저런 조금씩 다른 방법들도 알려 주시면 대단히 감사하겠습니다. 1. 이미 매도(숏)포지션이 계좌 잔고에 존재한다면, 절대로 다시 스팟에 의한 매도 주문이 나가지 않도록 하는 방법. 2. 또한, 이미 미체결인 매도주문이 존재한다면, 절대로 다시 스팟에 의한 매도 주문이 나가지 않도록 하는 방법. 이 두 문제에 대해서, 위에서 언급드린 Unfill 등을 사용해서라든지, 여하튼 어떤 방법으로라도, 하나만이 아니라 여러가지 가능한 방법들이 있다면 가능하면 다양하게, 해결할 수 있는 방법을 알려 주시면 대단히 감사하겠습니다. 감사합니다.
프로필 이미지

즐겁게

2013-07-23 22:20:05

대단히 감사합니다! 참으로 멋진 회사이십니다. 이렇게 전문적인 서비스를 실시간으로, 친절하게 올려 주시니... 공부하는 데에 든든한 지원이 느껴져서 힘이 납니다. 감사합니다!