커뮤니티

챠트 신호와 관련하여

프로필 이미지
최강투자
2014-04-07 17:25:40
182
글번호 74199
답변완료
안녕하세요 매번 Q&A 답변하시느라 고생이 많으시네요. 다름이 아니라 예스스팟을 통해 Chart1이 신호가 발생을 하면 매수 매도를 하게 되는데요. 매일 데이트레이딩을 하다 보니 강제로 청산을 하게 됩니다. 다음날 다시 실행을 할 경우 챠트상 이미 매수나 매도 상태인 경우 다음 반대신호가 발생할 때까지 진입을 하지 않게됩니다. 예스스팟 상으로 Onsignal 신호를 통해서 signalkind에 따라서 신호 발생시 진입을 하기 되는데 기존에 매수상태이면 장시작과 동시에 매수를 하고자 하면 Onsignal 정보가 아닌 기존 챠트의 signalkind의 상태를 읽어오는 이벤트가 있을 것으로 보이는데요. 해당 방법 좀 알려주시면 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-04-07 18:26:57

안녕하세요 예스스탁입니다. 예스스팟의 차트객체의 함수 중에 Chart1.GetOpenContracts() 라는 함수가 있습니다. 해당 함수가 현재차트의 포지션 상태를 진입된 수량과 같이 리턴하게 됩니다. 만약 현재 차트가 무포지션이면 --> 0 차트가 매수포지션 상태(수량1)이면 --> 1 차트가 매도포지션 상태(수량1)이면 --> -1 과 같이 리턴됩니다. 아래 내용 참고하시기 바랍니다. 게시판 금칙어가 있어 영문 업데이트가 Up*date로 중간에 *이 있습니다. 스크립트 객체 차트객체 : Chart1 종목객체 : MarketData1 계좌객체 : Account1 function Main_OnStart() { OpenStart = 0; } function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { //종목객체의 시초가는 정규장이 수신되면 0에서 값이 변경이 됩니다. if (MarketData1.open > 0 and OpenStart == 0) { OpenStart = 1;//시초가수신되면 한번만 동작하게 하기 위한 용도 //차트의 포지션 상태가 매수이면 if (Chart1.GetOpenContracts() > 0) Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Math.abs(Chart1.GetOpenContracts()),MarketData1.Ask(3), 0); //차트의 포지션 상태가 매도이면 if (Chart1.GetOpenContracts() < 0) Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Math.abs(Chart1.GetOpenContracts()),MarketData1.Bid(3), 0); } } 즐거운 하루되세요 > 최강투자 님이 쓴 글입니다. > 제목 : 챠트 신호와 관련하여 > 안녕하세요 매번 Q&A 답변하시느라 고생이 많으시네요. 다름이 아니라 예스스팟을 통해 Chart1이 신호가 발생을 하면 매수 매도를 하게 되는데요. 매일 데이트레이딩을 하다 보니 강제로 청산을 하게 됩니다. 다음날 다시 실행을 할 경우 챠트상 이미 매수나 매도 상태인 경우 다음 반대신호가 발생할 때까지 진입을 하지 않게됩니다. 예스스팟 상으로 Onsignal 신호를 통해서 signalkind에 따라서 신호 발생시 진입을 하기 되는데 기존에 매수상태이면 장시작과 동시에 매수를 하고자 하면 Onsignal 정보가 아닌 기존 챠트의 signalkind의 상태를 읽어오는 이벤트가 있을 것으로 보이는데요. 해당 방법 좀 알려주시면 감사하겠습니다.