커뮤니티

예스스팟 Q&A

spotyt 님에 의해서 삭제되었습니다.

프로필 이미지
spotyt
2014-08-19
7
글번호 223134
답변완료

스팟전략문의

수고많으십니다. 예스트레이더 선물 신호를 이용하여 옵션매수전략을 개발하고 있는데요. 신규로 예스랭귀지에 Piramiding 전략을 추가하였고, 개념은 아래와 같습니다. 선물매수신호 -> 콜매수 선물매수신호 -> 콜매수 -> 선물매수청산신호 -> 콜매수청산 선물매수신호 -> 콜매수 -> 선물피라미딩매수신호 -> 콜피라미딩매수 선물매수신호 -> 콜매수 -> 선물피라미딩매수신호 -> 콜피라미딩매수 -> 선물피라미딩매수분청산신호 -> 콜매수청산 선물매수신호 -> 콜매수 -> 선물피라미딩매수신호 -> 콜피라미딩매수 -> 선물매수청산신호 -> 콜매수청산 선물매도신호 -> 풋매수 선물매도신호 -> 풋매수 -> 선물매도청산신호 -> 풋매수청산 선물매도신호 -> 풋매수 -> 선물피라미딩매도신호 -> 풋피라미딩매수 선물매도신호 -> 풋매수 -> 선물피라미딩매도신호 -> 풋피라미딩매수 -> 선물피라미딩매도분청산신호 -> 풋매수청산 선물매도신호 -> 풋매수 -> 선물피라미딩매도신호 -> 풋피라미딩매수 -> 선물매도청산신호 -> 풋매수청산 아래의 스팟수식을 위와같은 Piramiding 신호에 대응할 수 있도록 수정부탁드립니다. //선물매수신호시 콜매수 신호 발생시키기 if (Signal.signalKind == 1) { BuySignalCode = CallOrderCode; CallOrderPrice = Option.GetCurrentByCode(BuySignalCode); BuyID = Account1.OrderBuy(BuySignalCode, Signal.count, Option.GetAskByCode(BuySignalCode, 5), 0); Main.MessageList("콜종목코드 : ",BuySignalCode," 콜현재가 : ",CallOrderPrice); BuyFill = 0; } //선물매수신호후 청산신호가 나오면 청산실행 if (Signal.signalKind == 2) { CallOrderPrice = Option.GetCurrentByCode(BuySignalCode); if (BuyFill == 1) { Account1.OrderSell(BuySignalCode, Signal.count, Option.GetBidByCode(BuySignalCode, 5), 0) Main.MessageList("콜종목코드 : ",BuySignalCode," 콜현재가 : ",CallOrderPrice); } else { Account1.OrderCancel(BuyNum); Main.MessageLog("매수주문취소"); } } //선물매도신호시 풋매수 신호 발생시키기 if (Signal.signalKind == 3) { BuySignalCode = PutOrderCode; PutOrderPrice = Option.GetCurrentByCode(BuySignalCode); Account1.OrderBuy(BuySignalCode, Signal.count, Option.GetAskByCode(BuySignalCode, 5), 0); Main.MessageList("풋종목코드 : ",BuySignalCode," 풋현재가 : ",PutOrderPrice); BuyFill = 0; } //선물매도신호후 청산신호가 나오면 청산실행 if (Signal.signalKind == 4) { PutOrderPrice = Option.GetCurrentByCode(BuySignalCode); if (BuyFill == 1) { Account1.OrderSell(BuySignalCode, Signal.count, Option.GetBidByCode(BuySignalCode, 5), 0); Main.MessageList("풋종목코드 : ",BuySignalCode," 풋현재가 : ",PutOrderPrice); } else { Account1.OrderCancel(BuyNum); Main.MessageLog("매수주문취소"); } } //주문응답 이벤트 function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == BuyID) { BuyNum = OrderResponse.orderNum; } } //체결통보 이벤트 function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == BuyNum) { BuyFill = 1; } }
프로필 이미지
착한이
2014-08-19
1078
글번호 223133

착한이 님에 의해서 삭제되었습니다.

프로필 이미지
착한이
2014-08-18
0
글번호 223132
답변완료

호가잔량 변화 기록

안녕하세요 호가1 잔량 수량이 변화할때마다 호가1잔량을 특정 변수나 배열에 저장하려면 어떻게 해야하나요 예를 들어 호가 1 매수 잔량이 1 2 3 4 5 6 7 8 ... 으로 변하면 변할때 마다 변수에 저장해 특정 개수 (약 20개이상정도) 에 발생순서별로 저장하고 싶습니다
프로필 이미지
fxx
2014-08-18
1101
글번호 223131
답변완료

예스스팟 10분 뒤 매수주문 취소

예스스팟에서 주문 중 일부가 처음 체결 된지 10분이 지난 후에 혹 잔량이 남았을 때 그 잔량을 취소하는 수식 작성법을 알려주시면 감사하겠습니다.
프로필 이미지
대가북극곰
2014-08-13
1261
글번호 223127
답변완료

985 추가문의드립니다.

985번 글과 관련해서 답글 잘 받았습니다. 다만 한가지 질문이 있습니다. 작성해주신 스팟식중 두번째 식과 관련되서 입니다. 이식을 한개의 계좌에서 여러가지 전략에 동시에 적용해도 되는지 궁금합니다. 한계좌에서 2개의 예스차트와 전략에 대해 위식의 스팟을 각각 적용한다고 할때입니다. 왜냐하면 잔고를 체크하기 때문에 다른 전략에서 잔고가 있을 경우 그것때문에 영향을 받는지 궁금합니다. 즉 A와 B전략에서 스팟이 작동되는데 A전략에서 작동하기 전에 B전략이 잔고가 있을 경우 A전략이 영향을 받는가입니다. 만일 영향을 받지 않는다고 하면 단선등으로 재시동(또는 중간에 우연히 잔고조회를 해서 가원장과 실원장이 일치되는 경우) 될경우 잔고가 어떻게 될지 궁금합니다. 즉 잔고가 가원장의 형태로 각각 전략별로 카운트되기 때문에 영향이 없다고하면 만일 단선이 되서 재시동될 경우(또는 중간에 우연히 잔고조회를 해서 가원장과 실원장이 일치되는 경우)잔고조회를 해서 가원장의 잔고와 실제잔고가 일치하게 될테도 그럴경우 어떻게 될지 궁금합니다. 예를 들어 A전략이 매수 B전략이 매도로 가원장에서 각각 관리된다면 A전략에는 매수잔고가 B전략에는 매도잔고가 있다가 단선으로 재시동되어 가원장잔고와 실제잔고 즉 0 이 일치되다면 A전략도 잔고가 0 B전략도 잔고가 0이되는 것 아닌지 입니다. 만일 그렇다면 A전략이 당일 처음신호로 매도신호가 나왔는데 이미 B전략이 매수잔고가 있다가 단선이 되서 재시동(또는 우연히 잔고조회를 해서)되어 A전략이 마치 매수잔고가 있는 것처럼 된다면 매도신호시 매수잔고가 있어 타이머가 작동은 되나 이 매수잔고는 매수청산신호가 안나오므로 계속 타이머만 작동되고 주문이 안나가는 불쌍사가 나오지 않는가 입니다. 요약하면 1. 985번 스팟식이 여러 전략에 동시에 적용될 경우 한전략이 다른 전략에 영향을 주는지 2. 영향을 주지 않는다면 단선후 재시동시(또는 우연히 잔고조회를 했을경우) 가원장잔고와 실제잔고의 일치시 영향은 없는지.
프로필 이미지
뚱띵
2014-08-14
1265
글번호 223126

관리자에 의해 수식작성 QnA로 이동되었습니다

프로필 이미지
jonathan
2014-08-13
17
글번호 223123
0
답변완료

수식 검증 부탁드립니다

항상수고 많으십니다 ChartExe[1]은 매수차트이고 ChartExe[2]는 매도차트입니다. 전일 매도포지션이더라도 종가봉에 매도청산 예비신호 발생 시 동시호가 매도진입 불가입니다. 나머지 변수들은 올바르게 리턴하는데, 미완성봉을 리턴하는 aSignal 이 undefined 가 나오는데 이유를 알수 없습니다. 감사합니다. var aSignal ; var RcvChCount ; var ChartExe = new Array(20); var SystemSet = new Array(20); var ChartSet = new Array(20); function Main_OnStart() { Main.SetTimer(99, 3000); RcvChCount = 0 ; ChartSet[0] = new ReqChartItem( "00000000" ,300 , CHART_PERIOD_TICK, 1000, CHART_REQCOUNT_BAR, false, false); SystemSet[0] = new SystemInfo("매수",YL_TYPE_NORMAL,null,null); Main.ReqChartEx(ChartSet[0],SystemSet[0],null); ChartSet[1] = new ReqChartItem( "00000000" ,300 , CHART_PERIOD_TICK, 1000, CHART_REQCOUNT_BAR, false, false); SystemSet[1] = new SystemInfo("매도",YL_TYPE_NORMAL,null,null); Main.ReqChartEx(ChartSet[1],SystemSet[1],null); } function Main_OnRcvChartEx(ChartEx) { RcvChCount = RcvChCount + 1 ; ChartExe[RcvChCount] = ChartEx ; } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMDD = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); var aSignal = ChartExe[2].GetIncompleteSignal(); Main.MessageList("종목코드1",ChartExe[1].GetCode(1) ); Main.MessageList("종목코드2",ChartExe[2].GetCode(1) ); Main.MessageList("전일포지션",ChartExe[1].GetOpenContracts() ); Main.MessageList("전일포지션",ChartExe[2].GetOpenContracts() ); if ( nEventID == 99 && HHMMDD < 090000 && ( ChartExe[2].GetOpenContracts() < 0 ) //매도청산 예비신호발생시 동시호가 매도진입 불가 && !(aSignal != null && aSignal[0].signalKind == 4 ) ) { Main.KillTimer(99); Main.MessageLog("동시호가매도조건충족:매도실행"); } }
프로필 이미지
재령
2014-08-13
1296
글번호 223122
답변완료

현물 모의투자시 자동매매가 안됩니다.

말그대로 시스템트레이딩 적용하여 설정하면 시험적용만 되고 나머지 경보후 주문이나 자동주문 설정시 확인 버튼이 안눌러져요.ㅜㅜㅜ 현물거래는 시스템거래(자동매매) 모의투자가 안되나요??
프로필 이미지
심리도박사
2014-08-12
1242
글번호 223121

심리도박사 님에 의해서 삭제되었습니다.

프로필 이미지
심리도박사
2014-08-12
0
글번호 223120