커뮤니티

1777번 질의 관련입니다

프로필 이미지
파일럿
2018-09-20 15:09:21
2933
글번호 224596
답변완료

첨부 이미지

1777번에 올린 스팟식으로 출력대는 내용을 첨부파일로 올렸읍니다. 미완성신호값이 제대로 않나오는데요 다시한번 확인부탁드립니다 혹시 미완성신호가 두개가 동시에 발생될 경우에 이런 문제가 발생하는 건 아닌지요 ?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-04 15:42:19

안녕하세요 예스스탁입니다. 1 1777번 수식을 해외선물 프로그램들에 여러날 테스트를 해 보았지만 올려주신 그림과 같이 -1값이 리턴되거나 값이 잘못찍히는 부분을 찾지 못했습니다. 첨부된 그림과 같이 모두 정상적으로 신호종류 및 신호가격을 리턴해서 메세지나 엑셀에 출력되고 있습니다. 또한 미완성신호의 동시발생 문제도 아닌것 같습니다. 테스트한 수식은 1777번에 올려주신 수식이고 디버깅창에 메세지만 가격까지 같이 출력되게 수정해서 테스트 했습니다. 종목은 유로FX로 차트 3개 각 다른 주기로 테스트했습니다. 2 var 완성15신호값, 완성2신호값, 완성120신호값, 미완성15신호값, 미완성2신호값, 미완성120신호값, 미완성15신호, 미완성2신호,미완성120신호, 완성15신호, 완성2신호, 완성120신호 ; var cc = order1.current ; function Main_OnStart() { Main.MessageLog("시작") ; a1.Refresh() ; 완성15신호 = exl3.GetData(1, "i27"); 완성2신호 = exl3.GetData(1, "k27"); 완성120신호 = exl3.GetData(1, "m27"); } // ------------------------------------------------------- function c3_OnRiseSignal(Signal) { if ( Signal.signalKind == 1 ) { 완성120신호 = 11 완성120신호값 = Signal.price ; exl3.SetData(1, "m26",완성120신호값 ); exl3.SetData(1, "m27",완성120신호 ); Main.MessageList("완성120신호 매수 : ",완성120신호,"완성120신호값 : ",완성120신호값 ); } if ( Signal.signalKind == 2 ) { 완성120신호 = 22 완성120신호값 = Signal.price ; exl3.SetData(1, "m26",완성120신호값 ); exl3.SetData(1, "m27",완성120신호 ); Main.MessageList("완성120신호 매수청산 : ",완성120신호,"완성120신호값 :",완성120신호값 ); } if ( Signal.signalKind == 3 ) { 완성120신호 = 33 완성120신호값 = Signal.price ; exl3.SetData(1, "m26",완성120신호값 ); exl3.SetData(1, "m27",완성120신호 ); Main.MessageList("완성120신호 매도 : ",완성120신호,"완성120신호값 :",완성120신호값); } if ( Signal.signalKind == 4 ) { 완성120신호 = 44 완성120신호값 = Signal.price ; exl3.SetData(1, "m26",완성120신호값 ); exl3.SetData(1, "m27",완성120신호 ); Main.MessageList("완성120신호 매도청산 : ",완성120신호,"완성120신호값 :",완성120신호값); } } function c2_OnRiseSignal(Signal) { if ( Signal.signalKind == 1 ) { 완성2신호 = 11 완성2신호값 = Signal.price ; exl3.SetData(1, "k26",완성2신호값 ); exl3.SetData(1, "k27",완성2신호 ); Main.MessageList("완성2신호 매수 : ",완성2신호,"완성2신호값 :",완성2신호값 ); } if ( Signal.signalKind == 2 ) { 완성2신호 = 22 완성2신호값 = Signal.price ; exl3.SetData(1, "k26",완성2신호값 ); exl3.SetData(1, "k27",완성2신호 ); Main.MessageList("완성2신호 매수청산 : ",완성2신호,"완성2신호값 :",완성2신호값 ); } if ( Signal.signalKind == 3 ) { 완성2신호 = 33 완성2신호값 = Signal.price ; exl3.SetData(1, "k26",완성2신호값 ); exl3.SetData(1, "k27",완성2신호 ); Main.MessageList("완성2신호 매도 : ",완성2신호,"완성2신호값 :",완성2신호값 ); } if ( Signal.signalKind == 4 ) { 완성2신호 = 44 완성2신호값 = Signal.price ; exl3.SetData(1, "k26",완성2신호값 ); exl3.SetData(1, "k27",완성2신호 ); Main.MessageList("완성2신호 매도청산 : ",완성2신호,"완성2신호값 :",완성2신호값 ); } } function c1_OnRiseSignal(Signal) { if ( Signal.signalKind == 1 ) { 완성15신호 = 11 완성15신호값 = Signal.price ; exl3.SetData(1, "i26",완성15신호값 ); exl3.SetData(1, "i27", 완성15신호 ); Main.MessageList("완성15신호 매수 : ",완성15신호,완성2신호,"완성15신호값 :",완성15신호값); } if ( Signal.signalKind == 2 ) { 완성15신호 = 22 완성15신호값 = Signal.price ; exl3.SetData(1, "i26",완성15신호값 ); exl3.SetData(1, "i27",완성15신호 ); Main.MessageList("완성15신호 매수청산 : ",완성15신호,완성2신호,"완성15신호값 :",완성15신호값); } if ( Signal.signalKind == 3 ) { 완성15신호 = 33 완성15신호값 = Signal.price ; exl3.SetData(1, "i26",완성15신호값 ); exl3.SetData(1, "i27",완성15신호 ); Main.MessageList("완성15신호 매도 : ",완성15신호,완성2신호,"완성15신호값 :",완성15신호값); } if ( Signal.signalKind == 4 ) { 완성15신호 = 44 ; 완성15신호값 = Signal.price ; exl3.SetData(1, "i26",완성15신호값 ); exl3.SetData(1, "i27",완성15신호 ); Main.MessageList("완성15신호 매도청산 : ",완성15신호,완성2신호,"완성15신호값 :",완성15신호값); } } //미완성 120 ------------------------------------------------------------ function c3_OnRiseIncompleteSignal(IncompleteSignal) { 미완성120신호값 = IncompleteSignal.price ; if ( IncompleteSignal.signalKind == 1 ) { 미완성120신호 = 1 ; exl3.SetData(1, "m29",미완성120신호 ); exl3.SetData(1, "m28",미완성120신호값 ); Main.MessageList("미완성120신호 매수 : ",IncompleteSignal.signalKind,"미완성120신호값 :",미완성120신호값); } if ( IncompleteSignal.signalKind == 2 ) { 미완성120신호 = 2 ; exl3.SetData(1, "m29",미완성120신호 ); exl3.SetData(1, "m28",미완성120신호값 ); Main.MessageList("미완성120신호 매수청산 : ",IncompleteSignal.signalKind,"미완성120신호값 :",미완성120신호값); } if ( IncompleteSignal.signalKind == 3 ) { 미완성120신호 = 3 ; exl3.SetData(1, "m29",미완성120신호 ); exl3.SetData(1, "m28",미완성120신호값 ); Main.MessageList("미완성120신호 매도 : ",IncompleteSignal.signalKind,"미완성120신호값 :",미완성120신호값); } if ( IncompleteSignal.signalKind == 4 ) { 미완성120신호 = 4 ; exl3.SetData(1, "m29",미완성120신호 ); exl3.SetData(1, "m28",미완성120신호값 ); Main.MessageList("미완성120신호 매도청산 : ",IncompleteSignal.signalKind,"미완성120신호값 :",미완성120신호값); } } // 미완성 2----------------------------------------------------- function c2_OnRiseIncompleteSignal(IncompleteSignal) { 미완성2신호값 = IncompleteSignal.price ; if ( IncompleteSignal.signalKind == 1 ) { 미완성2신호 = 1 ; exl3.SetData(1, "k29",미완성2신호 ); exl3.SetData(1, "k28",미완성2신호값 ); Main.MessageList("미완성2신호 매수 : ",IncompleteSignal.signalKind,"미완성2신호값 :",미완성2신호값); } if ( IncompleteSignal.signalKind == 2 ) { 미완성2신호 = 2 ; exl3.SetData(1, "k29",미완성2신호 ); exl3.SetData(1, "k28",미완성2신호값 ); Main.MessageList("미완성2신호 매수청산 : ",IncompleteSignal.signalKind,"미완성2신호값 :",미완성2신호값); } if ( IncompleteSignal.signalKind == 3 ) { 미완성2신호 = 3 ; exl3.SetData(1, "k29",미완성2신호 ); exl3.SetData(1, "k28",미완성2신호값 ); Main.MessageList("미완성2신호 매도 : ",IncompleteSignal.signalKind,"미완성2신호값 :",미완성2신호값); } if ( IncompleteSignal.signalKind ==4 ) { 미완성2신호 = 4 ; exl3.SetData(1, "k29",미완성2신호 ); exl3.SetData(1, "k28",미완성2신호값 ); Main.MessageList("미완성2신호 매도청산 : ",IncompleteSignal.signalKind,"미완성2신호값 :",미완성2신호값); } } // 미완성 15-------------------------------------------------------- function c1_OnRiseIncompleteSignal(IncompleteSignal) { 미완성15신호값 = IncompleteSignal.price ; if ( IncompleteSignal.signalKind == 1 ) { 미완성15신호 = 1 ; exl3.SetData(1, "i29",미완성15신호 ); exl3.SetData(1, "i28",미완성15신호값 ); Main.MessageList("미완성15신호 매수 : ",IncompleteSignal.signalKind,"미완성15신호값 :",미완성15신호값 ); } if ( IncompleteSignal.signalKind ==2 ) { 미완성15신호 =2 ; exl3.SetData(1, "i29",미완성15신호 ); exl3.SetData(1, "i28",미완성15신호값 ); Main.MessageList("미완성15신호 매수청산 : ",IncompleteSignal.signalKind,"미완성15신호값 :",미완성15신호값 ); } if ( IncompleteSignal.signalKind == 3 ) { 미완성15신호 = 3 ; exl3.SetData(1, "i29",미완성15신호 ); exl3.SetData(1, "i28",미완성15신호값 ); Main.MessageList("미완성15신호 매도 : ",IncompleteSignal.signalKind,"미완성15신호값 :",미완성15신호값 ); } if ( IncompleteSignal.signalKind ==4 ) { 미완성15신호 = 4 ; exl3.SetData(1, "i29",미완성15신호 ); exl3.SetData(1, "i28",미완성15신호값 ); Main.MessageList("미완성15신호 매도청산 : ",IncompleteSignal.signalKind,"미완성15신호값 :",미완성15신호값 ); } } 즐거운 하루되세요 > 파일럿 님이 쓴 글입니다. > 제목 : 1777번 질의 관련입니다 > 1777번에 올린 스팟식으로 출력대는 내용을 첨부파일로 올렸읍니다. 미완성신호값이 제대로 않나오는데요 다시한번 확인부탁드립니다 혹시 미완성신호가 두개가 동시에 발생될 경우에 이런 문제가 발생하는 건 아닌지요 ?