커뮤니티

진입수량

프로필 이미지
zephie
2020-11-18 15:41:20
2815
글번호 216433
답변완료

첨부 이미지

MACD Oscilator로 진입 청산 하는 간단한 로직을 돌리려고 하는데요, 자꾸 진입과 청산의 계약수가 중복되어 주문이 나가고 체결됩니다. 다른 조건들 다 바꿔봐도 마찬가지이고요(진입신호로도 변경해서 해봤습니다), "자동주문" 대신 "경보 후 주문"으로 할 경우에만 원래 원했던 계약수대로 주문이 나가네요. 왠지 간단하게 해결할 수 있을거 같은데 이거 어떻게 해결하는지 좀 알려주시면 감사하겠습니다. 첨부 파일을 보시면 매수청산과 매도청산 주문이 각각 매도 및 매수 주문과 함께 중복으로 나가면서 제가 생각했던 계약수의 2배로 주문이 나가는 것 같습니다. 그런데 체결 내역 상단을 보면 "경보후 매매"로 할 경우에는 각가의 청산 주문 없이 매수 또는 매도 주문만 나가고 있는데, 제가 원하는건 "자동매매"로 할 경우에도 매도청산 또는 매수청산 주문 없이 매수 또는 매도 주문만 나갔으면 합니다.
eFriend Global YesTrader (한국투자증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-18 16:49:26

안녕하세요? 예스스탁입니다. 기본제공되는 MACD Oscilator 시스템식은 청산신호와 진입신호가 동시에 발생되도록 작성된 시스템입니다. 따라서 매매신호는 매도청산신호와 매도신호가 동시에 발생되고, 매수청산신호와 매도신호가 동시에 발생되게 됩니다. 기본 포지션을 청산함과 동시에 반대방향으로 진입하는 이런 시스템 유형을 리버셜 시스템이라고 부릅니다. 1계약 수동주문을 예로 들어서 말씀드려 보겠습니다. 현재 S&P 매수 1계약 매수포지션을 보유하고 있는 상태인데 가격이 고점에서 꺽이고 있어서 매수포지션 상태에서 매도포지션 상태로 전환하고자 할때 두 가지 방법이 있을 것입니다. 첫 번째는 1계약씩 2번 연속 주문을 내서 매도포지션 1계약 상태로 전환하는 방법과 두 번째는 2계약을 매도주문 내서 매도1계약 포지션 상태로 전환하는 방법입니다. 어떤 방법으로 주문을 넣든 기존 매수포지션을 청산해야만 신규로 매도포지션을 보유할 수 있습니다. 그리고 신호의 종류가 매수-매수청산-매도-매도청산으로 구분되는 것일뿐 주문은 매수주문과 매도주문으로만 발생됩니다.(매도청산신호와 매수신호는 매수주문 발생, 매도청산신호와 매도신호는 매도주문 발생) 결국 MACD Oscilator 시스템에서는 '매도청산신호/매수신호 -> 매도청산신호/매수신호 -> 매도청산신호/매수신호 -> 매도청산신호/매수신호' 상태로 계속 반복되어 나오게 되고 이 신호에 따라 각각 주문이 들어가게 되는 것이 맞습니다. 만일 말씀하신 것처럼 매수주문과 매도주문만 반복되도록 한다면 이는 양방향으로 포지션을 보유하는 것이 아니라 단방향으로만 포지션을 보유하는 거래가 반복됩니다. 예를들어 매수1계약을 보유하고있는 상태에서 1계약 매도주문이 나가면 매수포지션 1계약 정리하여 계좌는 무포지션 상태가 됩니다. 그 다음 매수주문이 발생되면 계좌는 매수포지션 1계약 보유 상태가 되고 다시 매도신호가 발생되면 계좌는 무포지션 상태가 됩니다. 이 경우는 매수방향 포지션 거래만 되는 상황입니다. 반대로 계좌가 무포지션인 상태에서 먼저 매도1계약 주문이 발생되고 이후 매수1계약 주문이 반복되는 상황이라면 계좌는 매도1계약 포지션 보유 -> 무포지션 -> 매도1계약 보유 -> 무포지션 상태가 반복됩니다. 이 경우는 매도방향 포지션 거래만 되는 상황입니다. 말씀하신 것처럼 매수주문과 매도주문이 1계약씩 순차적으로 발생된다면 매수쪽 방향이든 매도쪽 방향이든 한방향 거래만 하게 됩니다. 만일 이처럼 매매하시려고 하신다면 시스템식을 수정해서 사용하셔야 합니다.( 매수거래만 하는 시스템은 buy와 exitlong 함수이용, 매도거래만 하는 시스템은 sell과 exitshort함수 이용) 그런데, 의도하시는 내용이 시장 상황에 따라 어떤 경우는 매수포지션을 보유하고 어떤경우는 매도포지션을 보유하고자 하는 경우라면 반대방향으로 포지션 전환을 위해 동일방향 주문이 2번씩 나가야 되는게 맞습니다. 경보후주문 상태에서 매수신호와 매도신호만 발생되는 이유는 발생된 모든 신호를 주문 넣지 않았기 때문입니다. 경보후주문 상태에서 뜨는 '시스템신호발생' 창에서 '미확인신호'을 클릭해 보시면 발생된 모든 신호가 나오는데, 2개씩 뜨는 신호에서 1개만 주문을 넣었기 때문에 매수주문과 매수주문이 반복되게 됩니다. 만일 발생된 모든 미확인 신호를 주문 넣으셨다면 역시 자동주문과 같은 상태로 매매가 되게 됩니다. 결론적으로 말씀드리면 적용하신 시스템의 경우 청산신호와 진입신호가 동시에 발생되는 시스템이며, 이 경우 포지션청산을 위한 주문과 신규진입을 위한 주문이 항상 같이 발생되는 것이 맞습니다. 그리로 매수와 매도만 반복되도록 할 경우 한 방향으로만 포지션을 계속 보유하게 되어 의도하시는 내용(매수포지션 상태에서 매도포지션 상태로 전환)은 가능하지 않게 됩니다. 감사합니다. > zephie 님이 쓴 글입니다. > 제목 : 진입수량 > MACD Oscilator로 진입 청산 하는 간단한 로직을 돌리려고 하는데요, 자꾸 진입과 청산의 계약수가 중복되어 주문이 나가고 체결됩니다. 다른 조건들 다 바꿔봐도 마찬가지이고요(진입신호로도 변경해서 해봤습니다), "자동주문" 대신 "경보 후 주문"으로 할 경우에만 원래 원했던 계약수대로 주문이 나가네요. 왠지 간단하게 해결할 수 있을거 같은데 이거 어떻게 해결하는지 좀 알려주시면 감사하겠습니다. 첨부 파일을 보시면 매수청산과 매도청산 주문이 각각 매도 및 매수 주문과 함께 중복으로 나가면서 제가 생각했던 계약수의 2배로 주문이 나가는 것 같습니다. 그런데 체결 내역 상단을 보면 "경보후 매매"로 할 경우에는 각가의 청산 주문 없이 매수 또는 매도 주문만 나가고 있는데, 제가 원하는건 "자동매매"로 할 경우에도 매도청산 또는 매수청산 주문 없이 매수 또는 매도 주문만 나갔으면 합니다.