커뮤니티

에러가 발생하는데....

프로필 이미지
너무조아
2019-02-25 16:00:18
3021
글번호 224748
답변완료
아래수식에서 var T; function Main_OnStart() { T = 0; Main.MessageLog("시작"); OrderCode = Main.GetOrderCode(KP.code); } function C1_OnRiseIncompleteSignal(IncompleteSignal) { Main.MessageLog("미완성신호/"+IncompleteSignal.signalKind); A1.SetBalance(Main.GetOrderCode(IncompleteSignal.code)) if (T <= 0 && (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,5000); } if (T >= 0 && A1.Balance.position == 1 && IncompleteSignal.signalKind == 3) { T = 0; Main.KillTimer(1); Main.SetTimer(2,5000); } if (T >= 0 && (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,5000); } if (T <= 0 && A1.Balance.position == 2 && IncompleteSignal.signalKind == 1) { T = 0; Main.KillTimer(2); Main.SetTimer(1,5000); } } function Main_OnTimer(nEventID) { //마지막봉 미완성 신호정보 셋팅 var Incom = C1.GetIncompleteSignal(); if (nEventID == 1 && T == 1 && Incom[0] == 1) { Main.KillTimer(1); A1.OrderBuy(KP.code, VV, KP.Ask(2),2); Main.MessageLog("매수진입"); } if (nEventID == 1 && T == 0 ) { Main.KillTimer(1); Main.MessageLog("중복매수진입금지"); } if (nEventID == 2 && T == -1 && Incom[0] == 3) { Main.KillTimer(2); A1.OrderSell(KP.code, VV, KP.Bid(2),2); Main.MessageLog("매도진입"); } if (nEventID == 2 && T == 0) { Main.KillTimer(2); Main.MessageLog("중복매도진입금지"); } } 위 수식을 적용 한 결과 TypeError : Cannot read property '0' of null 과 같이 에러메세지가 뜸니다. if (nEventID == 1 && T == 1 && Incom[0] == 1) if (nEventID == 2 && T == -1 && && Incom[0] == 3) 에서 오류가 발생 되는것 깉습니다 바르게 수정해 주시면 감사 하겠습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-03-14 09:19:26

안녕하세요 예스스탁입니다. 객체의 함수지정에 오류가 있었습니다. 수정한 식입니다. var T; function Main_OnStart() { T = 0; Main.MessageLog("시작"); OrderCode = Main.GetOrderCode(KP.code); } function C1_OnRiseIncompleteSignal(IncompleteSignal) { Main.MessageLog("미완성신호/"+IncompleteSignal.signalKind); A1.SetBalance(Main.GetOrderCode(IncompleteSignal.code)) if (T <= 0 && (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,5000); } if (T >= 0 && A1.Balance.position == 1 && IncompleteSignal.signalKind == 3) { T = 0; Main.KillTimer(1); Main.SetTimer(2,5000); } if (T >= 0 && (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,5000); } if (T <= 0 && A1.Balance.position == 2 && IncompleteSignal.signalKind == 1) { T = 0; Main.KillTimer(2); Main.SetTimer(1,5000); } } function Main_OnTimer(nEventID) { //마지막봉 미완성 신호정보 셋팅 var Incom = C1.GetIncompleteSignal(); if (nEventID == 1 && T == 1 && Incom[0].signalKind == 1) { Main.KillTimer(1); A1.OrderBuy(KP.code, VV, KP.Ask(2),2); Main.MessageLog("매수진입"); } if (nEventID == 1 && T == 0 ) { Main.KillTimer(1); Main.MessageLog("중복매수진입금지"); } if (nEventID == 2 && T == -1 && Incom[0].signalKind == 3) { Main.KillTimer(2); A1.OrderSell(KP.code, VV, KP.Bid(2),2); Main.MessageLog("매도진입"); } if (nEventID == 2 && T == 0) { Main.KillTimer(2); Main.MessageLog("중복매도진입금지"); } } 즐거운 하루되세요 > 너무조아 님이 쓴 글입니다. > 제목 : 에러가 발생하는데.... > 아래수식에서 var T; function Main_OnStart() { T = 0; Main.MessageLog("시작"); OrderCode = Main.GetOrderCode(KP.code); } function C1_OnRiseIncompleteSignal(IncompleteSignal) { Main.MessageLog("미완성신호/"+IncompleteSignal.signalKind); A1.SetBalance(Main.GetOrderCode(IncompleteSignal.code)) if (T <= 0 && (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,5000); } if (T >= 0 && A1.Balance.position == 1 && IncompleteSignal.signalKind == 3) { T = 0; Main.KillTimer(1); Main.SetTimer(2,5000); } if (T >= 0 && (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,5000); } if (T <= 0 && A1.Balance.position == 2 && IncompleteSignal.signalKind == 1) { T = 0; Main.KillTimer(2); Main.SetTimer(1,5000); } } function Main_OnTimer(nEventID) { //마지막봉 미완성 신호정보 셋팅 var Incom = C1.GetIncompleteSignal(); if (nEventID == 1 && T == 1 && Incom[0] == 1) { Main.KillTimer(1); A1.OrderBuy(KP.code, VV, KP.Ask(2),2); Main.MessageLog("매수진입"); } if (nEventID == 1 && T == 0 ) { Main.KillTimer(1); Main.MessageLog("중복매수진입금지"); } if (nEventID == 2 && T == -1 && Incom[0] == 3) { Main.KillTimer(2); A1.OrderSell(KP.code, VV, KP.Bid(2),2); Main.MessageLog("매도진입"); } if (nEventID == 2 && T == 0) { Main.KillTimer(2); Main.MessageLog("중복매도진입금지"); } } 위 수식을 적용 한 결과 TypeError : Cannot read property '0' of null 과 같이 에러메세지가 뜸니다. if (nEventID == 1 && T == 1 && Incom[0] == 1) if (nEventID == 2 && T == -1 && && Incom[0] == 3) 에서 오류가 발생 되는것 깉습니다 바르게 수정해 주시면 감사 하겠습니다.