예스스팟 매뉴얼에서 예제로 알려준 동시호가 청산예제를 사용하고 있습니다.
제가 어제 수동매매매로 스윙 포지션 1계약 매도를 가져 가고 당일 장중 청산을 하였습니다.
그리고 시스템 신호로 한계약 매도 신호가 발생하여 끝까지 가져가 동시 호가 청산 주문이 나갔습니다. 그런데 동시 호가 청산 주문시 계약수가 2계약 주문이 나갔더군요. 1계약 수동매매 포지션은 제가 임의로 청산 하고 시스템 상에 한계약 포지션 중이라 1계약이 나갈줄 알았는데 2계약 주문이 나가 당황하고 야간에 손실청산 하였습니다.ㅠ.ㅠ
이럴경우 동시 호가 청산 로직을 어떻게 해야할까요? 동시호가 주문시 실제 잔고 수대로 주문나가는게 아니었나요? 아니라면 간단한 이유 설명과 로직 좀 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2016-07-21 14:36:26
안녕하세요
예스스탁입니다.
주문전에 원장-가원장 동기화를 하고
동기화가 완료되는 시점에 주문나가도록 수정했습니다.
매체가 다르면 주문내역이 인지가 가능하지 않으므로 주의하시기 바랍니다.
식상 게시판 금칙어가 있어
영문 업데이트가 Up*date로 중간에 *이 있습니다.
제거하고 사요하시기 바랍니다.
스크립트 객체설정
종목객체추가 --> 객체명 MarketData1, 선물로 지정
계좌객체추가 --> 객체명 Account1, 계좌번호 지정
var X;
function Main_OnStart()
{
Main.SetTimer(1, 5000);
X = 0;//스팟 실행시 0
Main.MessageLog(X,"|시작")
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMDD = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (X == 0 && nEventID == 1 && HHMMDD >= 150600)
{
//지정한 시간이 되면 타이머 동작이 필요없으므로 타이머 종료
Main.KillTimer(1);
//원장-가원장 동기화 실행
Account1.Refresh();
//X를 1로 변경
X = 1;
Main.MessageList(X,"|동기화실행|");
}
}
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)
{
//X가 1일때 원장-가원장 동기화 완료
if (sAccntNum == Account1.number && lUp*dateID == 30000 && X == 1)
{
//X를 2로
X = 2;
Main.MessageList(X,"|동기화완료| --> |잔고셋팅|");
//잔고셋팅
Account1.SetBalance(Main.GetOrderCode(MarketData1.code),0);
Main.MessageList(X,"|포지션|", Account1.Balance.position,"|수량}",Account1.Balance.count);
if (Account1.Balance.position == 1)
{
Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1);
Main.MessageList(X,"|매도포지션 청산|");
}
if (Account1.Balance.position == 2)
{
Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1);
Main.MessageList(X,"|매수포지션 청산|");
}
}
}
즐거운 하루되세요
> sjpapa 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 예스스팟 매뉴얼에서 예제로 알려준 동시호가 청산예제를 사용하고 있습니다.
제가 어제 수동매매매로 스윙 포지션 1계약 매도를 가져 가고 당일 장중 청산을 하였습니다.
그리고 시스템 신호로 한계약 매도 신호가 발생하여 끝까지 가져가 동시 호가 청산 주문이 나갔습니다. 그런데 동시 호가 청산 주문시 계약수가 2계약 주문이 나갔더군요. 1계약 수동매매 포지션은 제가 임의로 청산 하고 시스템 상에 한계약 포지션 중이라 1계약이 나갈줄 알았는데 2계약 주문이 나가 당황하고 야간에 손실청산 하였습니다.ㅠ.ㅠ
이럴경우 동시 호가 청산 로직을 어떻게 해야할까요? 동시호가 주문시 실제 잔고 수대로 주문나가는게 아니었나요? 아니라면 간단한 이유 설명과 로직 좀 부탁드립니다.