Main.SetTimer, Main_OnTimer 사용법
안녕하세요.
메뉴얼이 너무 부실합니다.
SetTimer(nEventID, nElapse)
nEventID - 정수, 타이머의 ID, OnTimer이벤트에서 구분할 수 있는 ID를 입력합니다.
이게 뭔 말인지요??
OnTimer 를 보면,
OnTimer(nEventID)
nEventID – SetTimer에서 설정한 타이머 이벤트 ID입니다.
이렇게 되어 있는데...
사용할 때는
function Main_OnTimer(nEventID) {
실행코드
}
이렇게 해야 합니다.
즉, OnTimer 부분의 인자 nEventID 는 어떤 인자값이 오는 게 아니라 nEventID 이렇게 써 줘야 하더군요... 대체 이해가 되질 않네요..
SetTimer 에서 첫번째 인자를 1을 주던 0을 주던 100을 주던 OnTimer 부분의 인자는 그냥 nEventID 이렇게 써야지 작동하더라는 말입니다. 그렇다면 메뉴얼에서 얘기하는 nEventID - 정수, 타이머의 ID, OnTimer이벤트에서 구분할 수 있는 ID를 입력합니다. 라는 뜻이 뭘 말하는 건지 헷갈린다는 말입니다.
고수분이 설명 좀 해 주실 수 있는지요??? 예시를 주신다면 더욱 감사드리고요~ 아무리 이것저것 혼자 테스트 해 봐도 모르겠습니다.
부탁드립니다.
2019-04-18
2412
글번호 224818
답변완료
옵션 만기일 거래 시스템
수고하십니다.
아래의 옵션매매 시스템을 보완하고 싶습니다.
1. 장개시시 잔고종목 및 수량 확인
2. 청산신호시 잔고수량을 확인하여 전체 잔고 종목 및 수량을 청산
3. 만기일 1500시이후 옵션 당월물 보유수량 전체를 청산하고 차월물 진입
----------------------------------------------------------------------
var Start;
var BuyC1_code;
var BuyC2_code;
var BuyP1_code;
var BuyP2_code;
var SellC1_code;
var SellC2_code;
var SellP1_code;
var SellP2_code;
function Main_OnStart()
{
Main.MessageLog("시작");
Start = 0;
}
function Chart1_OnRiseSignal(Signal)
{
Main.MessageLog("신호완성/"+Signal.signalKind);
//Buy 신호발생
if (Signal.signalKind == 1 )
{
Start = 1;
SellP1_code = Option.GetATMPutRecent(0,0); //풋 ATM 종목코드
var SellP1_price = Option.GetBidByCode(SellP1_code,2);
var Vol = Signal.count; //신호수량
Account1.OrderSell(SellP1_code, Vol, SellP1_price, 0);
Main.MessageLog("상방합성선물매수");
}
//매수청산신호
if (Start == 1 && Signal.signalKind == 3 )
{
var BxP1_price = Option.GetAskByCode(SellP1_code, 2);
var Vol = Signal.count; //신호수량
Account1.OrderBuy(SellP1_code, Vol, BxP1_price, 0);
Main.MessageLog("상방합성선물매수청산");
}
//Sell 신호발생
if (Signal.signalKind == 3 )
{
Start = 1;
SellC1_code = Option.GetATMCallRecent(0,0); //콜 ATM 종목코드
var SellC1_price = Option.GetBidByCode(SellC1_code,2);
var Vol = Signal.count; //신호수량
Account1.OrderSell(SellC1_code, Vol, SellC1_price , 0);
Main.MessageLog("하방합성선물매도");
}
//매도청산신호
if (Start == 1 && Signal.signalKind == 1 )
{
var SxC1_price = Option.GetAskByCode(SellC1_code, 2);
var Vol = Signal.count; //신호수량
Account1.OrderBuy(SellC1_code, Vol, SxC1_price, 0);
Main.MessageLog("하방합성선물매도청산");
}
}
2019-04-15
2891
글번호 224804