커뮤니티

새해 복 많이 받으십시요!!!

프로필 이미지
너무조아
2017-01-01 08:45:44
1706
글번호 224082
답변완료
새해 복 많이 받으십시요!!!!! 지난 한 해에도 변함없이 성심 것 답변 해 주신데 대하여 감사드립니다. NO. 1500 의 2 번 사항에 대한 추가 질문드립니다. 미완성신호가 발생하고 조건에 부합하여 Main.SetTimer(1,10000); 또는 Main.SetTimer(2,10000); 의 타임어가 작동 하면 미완성신호가 중도에 소멸하여도 타임어는 계속 진행하게 됩니다. 이 때 미완성신호가 중도에 소멸(null을 반환) 하면 타임어도 중단 되도록 수식을 작성하여 주시면 대단히 감사 하겠습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-01-11 17:29:17

안녕하세요 예스스탁입니다. 타이머 동작 후 주문시 마지막봉 미완성 신호상태가 매수나 매도로 유지중일때만 주문이 집행되게 추가했습니다. var T; function Main_OnStart() { T = 0; Main.MessageList("시작"); OrderCode = Main.GetOrderCode(KP.code); } function C1_OnRiseIncompleteSignal(IncompleteSignal) { Main.MessageList("미완성신호발생/" + IncompleteSignal.signalKind); A1.SetBalance(Main.GetOrderCode(IncompleteSignal.code)) if ((A1.Balance.position == 1 || A1.Balance.position == 0) && IncompleteSignal.signalKind == 1) { T = 1; if (A1.Balance.position == 0) VV = 1; else VV = 2; Main.SetTimer(1,10000); } if ( A1.Balance.position == 1 && IncompleteSignal.signalKind == 3) { T = 0; Main.KillTimer(1); Main.SetTimer(2,10000); } if ((A1.Balance.position == 2 || A1.Balance.position == 0) && IncompleteSignal.signalKind == 3) { T = -1; if(A1.Balance.position == 0) VV = 1; else VV = 2; Main.SetTimer(2,10000); } if (A1.Balance.position == 2 && IncompleteSignal.signalKind == 1) { T = 0; Main.KillTimer(2); Main.SetTimer(1,10000); } } Chart1.() function Main_OnTimer(nEventID) { //마지막봉 미완성 신호정보 셋팅 var Incom = Chart1.GetIncompleteSignal(); if (nEventID == 1 && T == 1) { Main.MessageLog("매수진입"); Main.KillTimer(1); if (VV >= 1 && VV <= 2 && Incom[0].signalKind == 1) { A1.OrderBuy(KP.code, 1, KP.Ask(5),2); } if (VV == 2) { Main.SetTimer(11,5000); } } if (nEventID == 1 && T == 0) { Main.KillTimer(1); Main.MessageLog("중복매수진입금지"); } if (nEventID == 2 && T == -1) { Main.MessageLog("매도진입"); Main.KillTimer(2); if (VV >= 1 && VV <= 2 && Incom[0].signalKind == 3) { A1.OrderSell(KP.code, 1, KP.Bid(5),2); } if (VV == 2) { Main.SetTimer(22,5000); } } if (nEventID == 2 && T == 0) { Main.KillTimer(2); Main.MessageLog("중복매도진입금지"); } if (nEventID == 11 && Incom[0].signalKind == 1) { Main.KillTimer(11); A1.OrderBuy(KP.code, 1, KP.Ask(5),2); } if (nEventID == 22 && Incom[0].signalKind == 3) { Main.KillTimer(22); A1.OrderSell(KP.code, 1, KP.Bid(5),2); } } 즐거운 하루되세요 > 너무조아 님이 쓴 글입니다. > 제목 : 새해 복 많이 받으십시요!!! > 새해 복 많이 받으십시요!!!!! 지난 한 해에도 변함없이 성심 것 답변 해 주신데 대하여 감사드립니다. NO. 1500 의 2 번 사항에 대한 추가 질문드립니다. 미완성신호가 발생하고 조건에 부합하여 Main.SetTimer(1,10000); 또는 Main.SetTimer(2,10000); 의 타임어가 작동 하면 미완성신호가 중도에 소멸하여도 타임어는 계속 진행하게 됩니다. 이 때 미완성신호가 중도에 소멸(null을 반환) 하면 타임어도 중단 되도록 수식을 작성하여 주시면 대단히 감사 하겠습니다.