커뮤니티

exitshort()함수도 매수가 발생하다니!!!

프로필 이미지
랜덤데이터
2004-04-13 18:21:17
1325
글번호 3184
답변완료
그동안 시뮬레이션만을 해오다가 오늘 드뎌 실전에 투입하여 봤습니다. 그동안 매뉴얼을 보면서 언어를 공부만 하고 시뮬레이션만을 하다가 실전에서 황당한 경우를 당했습니다. 제가 marketposition으로 현재 제가 가지고 있는 매도 또는 매수의 포지션을 확인하고 항상 하나의 포지션만을 가지도록 제가 만든 지표에 따라 주문하도록 프로그래밍을 했는데 첫번 매수 신호에 그만 두개의 포지션이 매수 되었습니다. 그리고 더욱 운이 나쁜것은 매수신호가 틀려서 손절매를 해야 하는데 하나만 손절매가 되어서 나머지하나를 가지고 있어서 손해의 폭이 커져 버렸습니다. 이 상황이 이해가 안돼서 몇가지 질문 드립니다. 질문1 : 저는 marketposition()라는 함수가 현재 제 계좌의 매도 매수 계약의 상태를 가져다 줄 것이라 굳게 믿고 있었는데 이 루틴이 작동 안한것으로 봐서는 제가 연 차트에서 현재 적용된 시스템이 만든 현재 시점의 포지션을 돌려주는 것 같습니다. 현재 제 계좌의 상태를 알아 낼 수는 없나요? 질문2 : 저는 당연히 buy()과 exitshort()이 따로 있어서 혹시라도 가지고 있지 않은 포지션을 청산하는 과정에서의 오류를 막기 위한 것이라고 생각 했습니다. 그런데 질문 1번의 이유로 있지않은 포지션이 있는 것으로 리턴되어 exitshort()가 호출 되었는데 실제로 선물 1계약이 매수 된 것으로 판단 됩니다. 제 추리가 맞는 지요? 그렇다면 두개의 함수이름을 구분하여 놓은 이유가 무엇인가요? 또한 그 날으 첫번째 거래는 계좌의 잔고 포지션이 매우 중요한데 이를 불러 낼 수 있는 방법은 어떤것이 있나요? 만약에 없다면 어떤 전략을 써야 할 지 알려주시기 바랍니다. 질문3 : 제가 지정가 주문을 내었다고 가정 합니다. 예를 들어 선물 125에 매수 계약을 buy(atlimit,125)로 내었을 때 이 주문을 다시 취소하는 방법 좀 알려 주시기 바랍니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-04-14 10:14:05

안녕하세요? 예스스탁입니다... 시스템 자체가 사용자님의 계좌 정보를 가지고 올 수는 없습니다. 즉, 단지 신호상으로 매수포지션인지 혹은 매도포지션인지를 알 수 있습니다. 두번째로, 신호의 형태는 네 가지 이지만 실제 주문이 들어가는 형태는 "매수"와 "매도" 두가지 밖에 없습니다. 따라서, 포지션 매매를 한다고 가정을 하고 만일 시스템 상으로 매수 1계약을 보유하고 있지만 실제 계좌 상으로는 포지션을 보유하고 있지 않다고 할 때 당일 아침 첫번째 신호가 청산신호가 발생하였다면 시스템상으로는 매수포지션에 대해서 매수청산"신호가 발생하게 되며 이는 "매도"주문으로 연계가 됩니다. 이러한 경우에 원치 않지만 시스템상의 신호로 인해서 주문이 들어갈 수 있는데 이런 부분을 해결하기 위해서는 "시스템 트레이딩 설정창"에서 "주문시작신호"를 [시작신호]로 설정해 당일 첫번째 나오는 청산신호를 무시하셔야 합니다.... 세번째로, 주문을 낸 후 체결되기 전에 "계좌평가/체결내역"창을 보시면 "미체결" 탭이 있는데 여기에 체결전의 종목정보가 나오게 되는데 이 종목에 대해서 우측 마우스를 클릭하시고 취소주문을 선택하시면 됩니다... 감사합니다.. > 랜덤데이터 님이 쓴 글입니다. > 제목 : exitshort()함수도 매수가 발생하다니!!! > 그동안 시뮬레이션만을 해오다가 오늘 드뎌 실전에 투입하여 봤습니다. 그동안 매뉴얼을 보면서 언어를 공부만 하고 시뮬레이션만을 하다가 실전에서 황당한 경우를 당했습니다. 제가 marketposition으로 현재 제가 가지고 있는 매도 또는 매수의 포지션을 확인하고 항상 하나의 포지션만을 가지도록 제가 만든 지표에 따라 주문하도록 프로그래밍을 했는데 첫번 매수 신호에 그만 두개의 포지션이 매수 되었습니다. 그리고 더욱 운이 나쁜것은 매수신호가 틀려서 손절매를 해야 하는데 하나만 손절매가 되어서 나머지하나를 가지고 있어서 손해의 폭이 커져 버렸습니다. 이 상황이 이해가 안돼서 몇가지 질문 드립니다. 질문1 : 저는 marketposition()라는 함수가 현재 제 계좌의 매도 매수 계약의 상태를 가져다 줄 것이라 굳게 믿고 있었는데 이 루틴이 작동 안한것으로 봐서는 제가 연 차트에서 현재 적용된 시스템이 만든 현재 시점의 포지션을 돌려주는 것 같습니다. 현재 제 계좌의 상태를 알아 낼 수는 없나요? 질문2 : 저는 당연히 buy()과 exitshort()이 따로 있어서 혹시라도 가지고 있지 않은 포지션을 청산하는 과정에서의 오류를 막기 위한 것이라고 생각 했습니다. 그런데 질문 1번의 이유로 있지않은 포지션이 있는 것으로 리턴되어 exitshort()가 호출 되었는데 실제로 선물 1계약이 매수 된 것으로 판단 됩니다. 제 추리가 맞는 지요? 그렇다면 두개의 함수이름을 구분하여 놓은 이유가 무엇인가요? 또한 그 날으 첫번째 거래는 계좌의 잔고 포지션이 매우 중요한데 이를 불러 낼 수 있는 방법은 어떤것이 있나요? 만약에 없다면 어떤 전략을 써야 할 지 알려주시기 바랍니다. 질문3 : 제가 지정가 주문을 내었다고 가정 합니다. 예를 들어 선물 125에 매수 계약을 buy(atlimit,125)로 내었을 때 이 주문을 다시 취소하는 방법 좀 알려 주시기 바랍니다.