커뮤니티

수식요청드립니다.

프로필 이미지
dandy
2016-03-05 21:55:23
2395
글번호 223850
답변완료
안녕하세요. 오버포지션 시스템 신호을 예스스팟을 이용 당일청산 데이시스템 매매로 전환하는 시스템 수식입니다. 코스피 200 연결선물이용한 5분봉 오버형 피라미딩적용 시스템신호을 예스스팟을이용 동일방향 동일갯수로 장시작 시초가에 진입 하고, 장중신호 동일갯수 방향전환, 15:00 당일청산, 데이전환 시스템 요청드립니다. (예 1일 장중 매수진입 누적수량 3개일경우 -> 당일 15:00 3개청산 -> 전일 매수신호 유지일경우 -> 2일시초가 매수3개진입 -> 오버 매수신호 유지일경우 당일 15:00 3개청산 -> 3일 시초가 매수3개진입 -> 오버 장중 매도신호 4개 전환시 매도 4개 진입 -> 오버 매도신호 유지일경우 당일 15:00 4개청산 -> 3일 시초가 매도 4개진입 -> 장중에는 오버형과 동일신호 동일갯수 전환진입) 장중에는 연결선물 오버형 신호, 수량으로 진입 및 스위칭 하고, 장시작 진입은 오버형 시스템과 동일방향 동일갯수로 시초가에 진입하고, 당일정산은 15:00 에 전체청산하는 예스스팟 시스템 입니다. 추가수식 주석요청 드립니다. 감사합니다. # 아래 예스스팟 기본시스템 수식으로 변경요청드립니다. //차트에서 신호발생 function Chart1_OnRiseSignal(Signal) { //매수진입신호 발생 if (Signal.signalKind == 1) { //MarketData1종목을 매도5호가로 1계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } //매수포지션 청산신호 발생 if (Signal.signalKind == 2) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 진입신호 발생 if (Signal.signalKind == 3) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 포지션 청산신호 발생 if (Signal.signalKind == 4) { //MarketData1종목을 매도5호가로 1계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-03-21 14:53:50

안녕하세요 예스스탁입니다. 아래 내용 참고하시기 바랍니다. 차트의 신호는 오버포지션 시스템인데 스팟에서만 당일청산하고 다음날 시가에 포지션 수량만큰 진입하는 것이므로 Chart1_OnRiseSignal에는 변경할 내용이 없고 당일 시가 수신시 진입주문식과 15시 청산주문식만 추가하시면 됩니다. var Xcond; function Main_OnStart() { Xcond = false; Main.SetTimer(1, 5000);//타이머 5초 } //봉완성(다음봉 시가수신) function Chart1_OnBarAppended(nData) { //data1 봉완성이고 현재봉 날짜와 전봉 날짜가 다름(당일 첫봉) if (nData == 1 && Chart1.GetSDate(1, 0) != Chart1.GetSDate(1, 1)) { //차트가 매수포지션이면 if (Chart1.GetOpenContracts() > 0) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),Math.abs(Chart1.GetOpenContracts()), MarketData1.Ask(5), 0); } //차트가 매도포지션이면 if (Chart1.GetOpenContracts() < 0) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Math.abs(Chart1.GetOpenContracts()), MarketData1.Bid(5), 0); } } } //차트에서 신호발생 function Chart1_OnRiseSignal(Signal) { //매수진입신호 발생 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } //매수포지션 청산신호 발생 if (Signal.signalKind == 2) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 진입신호 발생 if (Signal.signalKind == 3) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 포지션 청산신호 발생 if (Signal.signalKind == 4) { //MarketData1종목을 매도5호가로 1계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } } //타이머 동작 function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //Xcond가 false이고 현재 시각이 15시 이후이면 //Xcond를 true로 변경하여 이하 실행문이 한번만 동작하게 함. if (Xcond == false && HHMMSS >= 150000) { Xcond = true; //차트가 매수포지션이면 if (Chart1.GetOpenContracts() > 0) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code),Math.abs(Chart1.GetOpenContracts()), MarketData1.Bid(5), 0); } //차트가 매도포지션이면 if (Chart1.GetOpenContracts() < 0) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Math.abs(Chart1.GetOpenContracts()), MarketData1.Ask(5), 0); } } } 즐거운 하루되세요 > dandy 님이 쓴 글입니다. > 제목 : 수식요청드립니다. > 안녕하세요. 오버포지션 시스템 신호을 예스스팟을 이용 당일청산 데이시스템 매매로 전환하는 시스템 수식입니다. 코스피 200 연결선물이용한 5분봉 오버형 피라미딩적용 시스템신호을 예스스팟을이용 동일방향 동일갯수로 장시작 시초가에 진입 하고, 장중신호 동일갯수 방향전환, 15:00 당일청산, 데이전환 시스템 요청드립니다. (예 1일 장중 매수진입 누적수량 3개일경우 -> 당일 15:00 3개청산 -> 전일 매수신호 유지일경우 -> 2일시초가 매수3개진입 -> 오버 매수신호 유지일경우 당일 15:00 3개청산 -> 3일 시초가 매수3개진입 -> 오버 장중 매도신호 4개 전환시 매도 4개 진입 -> 오버 매도신호 유지일경우 당일 15:00 4개청산 -> 3일 시초가 매도 4개진입 -> 장중에는 오버형과 동일신호 동일갯수 전환진입) 장중에는 연결선물 오버형 신호, 수량으로 진입 및 스위칭 하고, 장시작 진입은 오버형 시스템과 동일방향 동일갯수로 시초가에 진입하고, 당일정산은 15:00 에 전체청산하는 예스스팟 시스템 입니다. 추가수식 주석요청 드립니다. 감사합니다. # 아래 예스스팟 기본시스템 수식으로 변경요청드립니다. //차트에서 신호발생 function Chart1_OnRiseSignal(Signal) { //매수진입신호 발생 if (Signal.signalKind == 1) { //MarketData1종목을 매도5호가로 1계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } //매수포지션 청산신호 발생 if (Signal.signalKind == 2) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 진입신호 발생 if (Signal.signalKind == 3) { //MarketData1종목을 매수5호가로 1계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Bid(5), 0); } //매도 포지션 청산신호 발생 if (Signal.signalKind == 4) { //MarketData1종목을 매도5호가로 1계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1, MarketData1.Ask(5), 0); } }