커뮤니티

미완성신호 객체

프로필 이미지
새로운세상
2013-02-06 10:17:34
2173
글번호 222077
답변완료
안녕하세요~ 미완성신호 객체에 대한 다음 예제수식 부탁드립니다. [ 기준 ] 1) YT 연결선물 5분봉 사용 (차트신호 기준, YesSpot 주문) 2) YT 수식 if Kospi200지수의 당일시가 >= 전일종가 --> 매수 Kospi200지수의 당일시가 < 전일종가 --> 매도 setstopendofday(1445); * Kospi200지수는 data2로 처리 * 연결선물지수는 09:00에 시초가가 발생하는 반면 Kospi200지수는 1분후인 09:01에 시초가가 발생함 3) 위의 내용에서 알 수 있듯이 Kospi200지수의 시초가 발생시점인 09:01에 매수 또는 매도 신호가 이미 결정되나, YT 연결선물 5분봉을 사용하기 때문에 09:05에 완성신호가 발생함 4) YesSpot으로 차트신호 기준으로 매매를 할 때 위의 경우 Kospi200 시초가 발생시점에서 미완성신호에 대한 주문체결이 되려면 어떻게 수식을 작성해야 하는지요? 즉, 09:01에 YT의 미완성신호 상태에서 YesSpot에 의하여 주문이 체결되고, 09:05에는 YT신호가 완성되었지만 이미 YesSpot에서 주문이 체결이 되었기 때문에 해당주문에 대한 체결은 발생하지 않아야 함 (동일신호에 대하여 YesSpot에서 미완성신호 상태에서 한번, YT에서 신호완성 상태에서 한번, 이렇게 두번 체결이 되면 안되므로...) 5) 주의할 점은 4)의 경우 최초 시초가 발생시점인 첫 진입에만 해당이 되고, 이후에는 YT 5분봉 차트 완성신호기준으로 YesSpot도 주문발생합니다. 그럼 오늘도 즐거운 시간되시기를 바라며, 감사합니다 !!!
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-02-06 16:01:49

안녕하세요 예스스탁입니다. 아래식 참고하셔서 테스트 후 사용하시기 바랍니다. 차트객체명 Chart1 계좌객체명 Account1 종목객체명 MarketData1 --> 차트주종목과 같은 종목,주문시 주문종목코드와 주문가격설정할 때 사용됩니다. var incomplete; function Main_OnStart() { incomplete = 0; } function Chart1_OnRiseIncompleteSignal(IncompleteSignal) { //미완성신호 횟수 incomplete = incomplete+1; //첫번째 미완성신호이고 신호의 시간은 90000( // 에스스팟에는 1/10000초 단위까지 시간이 표시되므로 예스랭귀지에서 사용하는 시간 *10000입니다) if (incomplete == 1 && IncompleteSignal.time == 900000000) { Main.MessageLog("미완성신호횟수"+incomplete+" /미완성신호시간 : "+IncompleteSignal.time); //미완성신호가 Buy이면 매도3호가로 매수주문 if (IncompleteSignal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(3), 0); } //미완성신호가 sell이면 매수3호가로 매도주문 if (IncompleteSignal.signalKind == 3) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(3), 0); } } } function Chart1_OnRiseSignal(Signal) { //신호의시간이 9시 봉 이후의 신호만 주문 if (Signal.time > 900000000) { if (Signal.signalKind == 1) { //완성신호가 Buy이면 매도3호가로 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(3), 0); } if (Signal.signalKind == 2) { //완성신호가 Exilong이면 매수3호가로 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(3), 0); } if (Signal.signalKind == 3) { //완성신호가 Sell이면 매수3호가로 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(3), 0); } if (Signal.signalKind == 4) { //완성신호가 ExitShort이면 매도3호가로 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(3), 0); } } } 예스랭귀지 수식은 아래와 같이 작성하시면 됩니다. 주종목은 선물(5분봉) 참조데이터 data2는 kospi200지수이고 1분봉으로 적용하시기 바랍니다. 완성된 봉까지만 보게 되므로 최근 완성된 봉이 당일봉이어야 하므로 1분봉으로 적용하시기 바랍니다. if data1(stime == 90000) Then{ if data2(OpenD(0)>=CloseD(1)) Then buy(); if data2(OpenD(0)<CloseD(1)) Then sell(); } if data1(stime > 90000) Then{ if data1(매수조건) Then buy(); if data1(매도조건) Then sell(); } SetStopEndofday(150000); 즐거운 하루되세요 > 새로운세상 님이 쓴 글입니다. > 제목 : 미완성신호 객체 > 안녕하세요~ 미완성신호 객체에 대한 다음 예제수식 부탁드립니다. [ 기준 ] 1) YT 연결선물 5분봉 사용 (차트신호 기준, YesSpot 주문) 2) YT 수식 if Kospi200지수의 당일시가 >= 전일종가 --> 매수 Kospi200지수의 당일시가 < 전일종가 --> 매도 setstopendofday(1445); * Kospi200지수는 data2로 처리 * 연결선물지수는 09:00에 시초가가 발생하는 반면 Kospi200지수는 1분후인 09:01에 시초가가 발생함 3) 위의 내용에서 알 수 있듯이 Kospi200지수의 시초가 발생시점인 09:01에 매수 또는 매도 신호가 이미 결정되나, YT 연결선물 5분봉을 사용하기 때문에 09:05에 완성신호가 발생함 4) YesSpot으로 차트신호 기준으로 매매를 할 때 위의 경우 Kospi200 시초가 발생시점에서 미완성신호에 대한 주문체결이 되려면 어떻게 수식을 작성해야 하는지요? 즉, 09:01에 YT의 미완성신호 상태에서 YesSpot에 의하여 주문이 체결되고, 09:05에는 YT신호가 완성되었지만 이미 YesSpot에서 주문이 체결이 되었기 때문에 해당주문에 대한 체결은 발생하지 않아야 함 (동일신호에 대하여 YesSpot에서 미완성신호 상태에서 한번, YT에서 신호완성 상태에서 한번, 이렇게 두번 체결이 되면 안되므로...) 5) 주의할 점은 4)의 경우 최초 시초가 발생시점인 첫 진입에만 해당이 되고, 이후에는 YT 5분봉 차트 완성신호기준으로 YesSpot도 주문발생합니다. 그럼 오늘도 즐거운 시간되시기를 바라며, 감사합니다 !!!