커뮤니티

문의드립니다.

프로필 이미지
성공시대1
2014-04-01 15:27:35
554
글번호 222898
답변완료
항상 답변감사합니다. 예스스팟식부탁드립니다. 시스템신호에 따라서 옵션매수,매도 1계약씩 체결되도록 하고싶습니다. 시스템은 리버스 매수매도신호만 있는 시스템입니다. 복합차트로 주간과야간 매매신호가 발생합니다. 조건 시스템신호에 따라 매수신호시 옵션 가격 1~1.5 가격중 큰가격 콜옵션매수1계약(풋옵션매수종목은 청산) 매도신호시 옵션 가격 1~1.5 가격중 큰가격 풋옵션매수1계약(콜옵션매수종목은 청산) 당월물 옵션매수는 당월물옵션 시작일부터 그달 말일까지는 당월물옵션만거래 차월물 옵션매수는 옵션만기가 있는달 1일부터 옵션만기시까지는 차월물옵션만거래. 야간장에는 야간선물시간과 야간옵션시간차이가 나는데요... 이때 선물 매수매도신호가나왔다면 야간종료시에 매수신호가 나온건..옵션으로 매수가 안될경우 그담날 시초에 옵션매수가 되도록 부탁드립니다. 즉 옵션거래가 가능한 시간에 매수신호시에 매수가 진입되도록 하였으면 좋겠습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-04-03 18:53:58

안녕하세요 예스스탁입니다. 아래내용 참고하시기 바랍니다. 예스스팟의 답변은 식작성에 대한 가이드 입니다. 식을 테스트 후 수정보완해 사용하셔야 합니다. "당월물 옵션매수는 당월물옵션 시작일부터 그달 말일까지는 당월물옵션만거래 차월물 옵션매수는 옵션만기가 있는달 1일부터 옵션만기시까지는 차월물옵션만거래" 위 내용은 옵션객체에 제공되는 잔존일수로는 파악이 되지 않으므로 스팟에서 당월물만기일을 지정하셔야 합니다. 또한 현재 저희프로그램과 연계되는 증권사 중에서는 야간옵션을 제공하는 증권사가 없습니다. 야간 부분은 제외한 식입니다. 스크립트 객체화면을 아래와 같이 설정하셔야 합니다. 차트객체 추가 --> 객체명 Chart1 계좌객체 추가 --> 객체명 Account1 옵션객체 추가 var CallCode; var CallPrice; var PutCode; var PutPrice; var CC; var PP; var CallOrderCode; var PutOrderCode; var Exdate = 20140508;//당월물옵션만기일 var AA = Math.floor(Exdate/100)%100; var Call,Put,N; function Main_OnStart() { var d = new Date(); var YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate(); if (AA != d.getMonth()+1) { Call = 0; Put = 1; N = 0; } else { Call = 2; Put = 3; N = 1; } } function Chart1_OnRiseSignal(Signal) { if (Signal.signalKind == 1) { CallCode = new Array(101); CallPrice = new Array(101); for (var i = -50; i <= 50; i++) { if (Option.GetCurrent(Call, i) >= 1.0 && Option.GetCurrent(Call, i) <= 1.5) { CallPrice[i+50] = Option.GetCurrent(Call, i); CallCode[i+50] = Option.GetATMCallRecent(i,N); } else { CallPrice[i+50] = -1; CallCode[i+50] = -1; } } var CC = -1; var CallOrderCode = -1; for (var i = -50; i <= 50; i++) { if (CallPrice[i+50] > CC) { CC = CallPrice[i+50]; CallOrderCode = CallCode[i+50]; } } if (CC > 0) { Account1.OrderBuy(CallOrderCode, 1, Option.GetAskByCode(CallOrderCode, 3),0); } } if (Signal.signalKind == 2) { Account1.OrderSell(CallOrderCode, 1, Option.GetBidByCode(CallOrderCode, 3),0); } if (Signal.signalKind == 3) { PutCode = new Array(101); PutPrice = new Array(101); for (var i = -50; i <= 50; i++) { if (Option.GetCurrent(Put, i) >= 1.0 && Option.GetCurrent(Put, i) <= 1.5 ) { PutPrice[i+50] = Option.GetCurrent(Put, i); PutCode[i+50] = Option.GetATMPutRecent(i,N); } else { PutPrice[i+50] = -1; PutCode[i+50] = -1; } } var PP = -1; var PutOrderCode = -1; for (var i = -50; i <= 50; i++) { if (PutPrice[i+50] > PP) { PP = PutPrice[i+50]; PutOrderCode = PutCode[i+50]; } } if (PP > 0 ) { Account1.OrderBuy(PutOrderCode, 1, Option.GetAskByCode(PutOrderCode, 3),0); } } if (Signal.signalKind == 4) { Account1.OrderSell(PutOrderCode, 1, Option.GetBidByCode(PutOrderCode, 3),0); } } 즐거운 하루되세요 > 성공시대1 님이 쓴 글입니다. > 제목 : 문의드립니다. > 항상 답변감사합니다. 예스스팟식부탁드립니다. 시스템신호에 따라서 옵션매수,매도 1계약씩 체결되도록 하고싶습니다. 시스템은 리버스 매수매도신호만 있는 시스템입니다. 복합차트로 주간과야간 매매신호가 발생합니다. 조건 시스템신호에 따라 매수신호시 옵션 가격 1~1.5 가격중 큰가격 콜옵션매수1계약(풋옵션매수종목은 청산) 매도신호시 옵션 가격 1~1.5 가격중 큰가격 풋옵션매수1계약(콜옵션매수종목은 청산) 당월물 옵션매수는 당월물옵션 시작일부터 그달 말일까지는 당월물옵션만거래 차월물 옵션매수는 옵션만기가 있는달 1일부터 옵션만기시까지는 차월물옵션만거래. 야간장에는 야간선물시간과 야간옵션시간차이가 나는데요... 이때 선물 매수매도신호가나왔다면 야간종료시에 매수신호가 나온건..옵션으로 매수가 안될경우 그담날 시초에 옵션매수가 되도록 부탁드립니다. 즉 옵션거래가 가능한 시간에 매수신호시에 매수가 진입되도록 하였으면 좋겠습니다.