첨부 이미지
그림1
그림2
function Main_OnStart()
{
Main.MessageLog("시작") ;
Main.SetTimer(5, 3000);
a1.Refresh() ;
}
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)
{
if (lUp*dateID == 30000)
{
OrderCode = Main.GetOrderCode(order1.code);
a1.SetBalance(OrderCode, 0) ;
if (a1.Balance.position != 1 && a1.Balance.position != 2 )
{
Position = 0 ;
cnt = 0 ;
Main.MessageLog("무포지션");
}
if (a1.Balance.position == 1 )
{
Position = -1 ;
cnt = 1 ;
Main.MessageLog("매도포지션");
}
if (a1.Balance.position == 2 )
{
Position = 1 ;
cnt = 1 ;
Main.MessageLog("매수포지션");
}
}
}
위수식으로 하이투자증권과 nh선물에서 같이 사용하고 있는데
디버깅 내용이 틀리게 나오는 이유가 원지요 ?
위의 평션 메인업데이트어카운트 내용은 원래 평션 메인온스타트에 삽입하여 사용되었는데
에러 수정한 예스스탁의 회신된 내용으로 수정한 부분입니다.
원래식에서 매매식은 타이머로 작성해서 매매는 작동하였는데(계좌잔고수량 인신은 오류) 평션 메인업데이트어카운트로 수정한 다음부터는 매매식이 작동을 않하는 이유는 뭔가요 ?
그리고 스팟에서 종목명을 연결선물지수로 지정했는데 어떤경우에는 체결메세지에 kp200 f 1809로 표시되는 이유는 뭔지요 ?
추가 질문입니다. 온타이머 펑션으로 엑셀 셋데이타를 업로드해서 사용하는데
딜레이 없이 실시간으로 업데이트 하려면 어떤게 해야 하나요 ? 온타이머로 하니까
스팟은 작동하는데 키가 먹지 않더군요. 딜레이도 딜레이지만,,,,
답변 1
예스스탁
예스스탁 답변
2018-08-01 09:43:12
안녕하세요
예스스탁입니다.
1
첨부된 그림과 같이 정상적으로 포지션에 따라 메세지 출력합니다.
올리신 내용상에서는 order1.code가 어디서 저장되는지 알수 없습니다.
해당 이벤트에서 order1.code가 제대로 할당되는지 확인하시기 바랍니다.
테스트에서는 종목객체로 지정했습니다.
2
거래소나 증권사의 원장에는 연결선물이라는 종목은 없습니다
만기일이후 종목을 변경해야 하는 불편함을 없애기 위해
근월물을 연결해서 사용하기 위해 편의상 만든 데이터입니다.
그러므로 해당데이터를 이용해 주문내거나 잔고나 미체결등을 확인할 때는
근월물코드로 변경해 주는Main.GetOrderCode같은 함수와 같이 사용해 종목을 지정해야 합니다.
증권사에서 수신되는 체결/미체결에는 근원물코드가 적히게 됩니다.
3
엑셀에 값이 업데이트되는 시점을 알수 있는 이벤트는 없습니다.
타이머를 이용하실수 밖에 없습니다.
타이머의 시간간격이 너무 작으면 해당 수행만으로 로드가 많이 걸려
다른 작업이 안될수 있습니다.
즐거운 하루되세요
> 파일럿 님이 쓴 글입니다.
> 제목 : 문의
> function Main_OnStart()
{
Main.MessageLog("시작") ;
Main.SetTimer(5, 3000);
a1.Refresh() ;
}
function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID)
{
if (lUp*dateID == 30000)
{
OrderCode = Main.GetOrderCode(order1.code);
a1.SetBalance(OrderCode, 0) ;
if (a1.Balance.position != 1 && a1.Balance.position != 2 )
{
Position = 0 ;
cnt = 0 ;
Main.MessageLog("무포지션");
}
if (a1.Balance.position == 1 )
{
Position = -1 ;
cnt = 1 ;
Main.MessageLog("매도포지션");
}
if (a1.Balance.position == 2 )
{
Position = 1 ;
cnt = 1 ;
Main.MessageLog("매수포지션");
}
}
}
위수식으로 하이투자증권과 nh선물에서 같이 사용하고 있는데
디버깅 내용이 틀리게 나오는 이유가 원지요 ?
위의 평션 메인업데이트어카운트 내용은 원래 평션 메인온스타트에 삽입하여 사용되었는데
에러 수정한 예스스탁의 회신된 내용으로 수정한 부분입니다.
원래식에서 매매식은 타이머로 작성해서 매매는 작동하였는데(계좌잔고수량 인신은 오류) 평션 메인업데이트어카운트로 수정한 다음부터는 매매식이 작동을 않하는 이유는 뭔가요 ?
그리고 스팟에서 종목명을 연결선물지수로 지정했는데 어떤경우에는 체결메세지에 kp200 f 1809로 표시되는 이유는 뭔지요 ?
추가 질문입니다. 온타이머 펑션으로 엑셀 셋데이타를 업로드해서 사용하는데
딜레이 없이 실시간으로 업데이트 하려면 어떤게 해야 하나요 ? 온타이머로 하니까
스팟은 작동하는데 키가 먹지 않더군요. 딜레이도 딜레이지만,,,,