커뮤니티

스팟 문의 드립니다.

프로필 이미지
무명
2015-01-27 19:28:02
1830
글번호 223282
답변완료
아래 스팟식을 참고하여 차트에서 매도신호 발생시 콜옵션 2.0이하 최근접가 부터 4개 종목을 찾아 매수(2.0이하 최근접 콜옵션)1계약+매도(1단계외가)2계약+매도(2단계외가)3계약+매수3단계외가)1계약 진입 되도록 수식 변환부탁드립니다. 그리고 차트에서 매수신호시에는 풋옵션 2.0이하 최근접가부터 4개 종목을 찾아 매수(2.0이하 최근접 풋옵션)1계약+매도(1단계외가)2계약+매도(2단계외가)3계약+매수3단계외가)1계약 진입 되도록 수식 변환부탁드립니다. var Start = 0; var B1,B2,B3,B4; var Bcount; var S1,S2,S3,S4; var Scount; function Main_OnStart() { Start = 0; Main.MessageList("시작",Start); } function Chart1_OnRiseSignal(Signal) { //차트에서 매도신호 발생 if (Signal.signalKind == 3) { Start = 1; B1 = Option.GetATMCallRecent(1,0); B2 = Option.GetATMCallRecent(2,0); B3 = Option.GetATMCallRecent(3,0); B4 = Option.GetATMCallRecent(4,0); Bcount = Signal.count; Account1.OrderBuy(B1,Bcount,Option.GetAskByCode(B1,3),0); Account1.OrderSell(B2,Bcount,Option.GetBidByCode(B2,3),0); Account1.OrderSell(B3,Bcount,Option.GetBidByCode(B3,3),0); Account1.OrderBuy(B4,Bcount,Option.GetAskByCode(B4,3),0); } //차트에서 매도청산신호 발생 if (Start == 1 && Signal.signalKind == 4) { Start = 0; Account1.OrderSell(B1,Bcount,Option.GetBidByCode(B1,3),0); Account1.OrderBuy(B2,Bcount,Option.GetAskByCode(B2,3),0); Account1.OrderBuy(B3,Bcount,Option.GetAskByCode(B3,3),0); Account1.OrderSell(B4,Bcount,Option.GetBidByCode(B4,3),0); } //차트에서 매수신호 발생 if (Signal.signalKind == 1) { Start = -1; S1 = Option.GetATMPutRecent(1,0); S2 = Option.GetATMPutRecent(2,0); S3 = Option.GetATMPutRecent(3,0); S4 = Option.GetATMPutRecent(4,0); Scount = Signal.count; Account1.OrderBuy(S1,Scount,Option.GetAskByCode(S1,3),0); Account1.OrderSell(S2,Scount,Option.GetBidByCode(S2,3),0); Account1.OrderSell(S3,Scount,Option.GetBidByCode(S3,3),0); Account1.OrderBuy(S4,Scount,Option.GetAskByCode(S4,3),0); } //차트에서 매수청산신호 발생 if (Start == -1 && Signal.signalKind == 2) { Start = 0; Account1.OrderSell(S1,Scount,Option.GetBidByCode(S1,3),0); Account1.OrderBuy(S2,Scount,Option.GetAskByCode(S2,3),0); Account1.OrderBuy(S3,Scount,Option.GetAskByCode(S3,3),0); Account1.OrderSell(S4,Scount,Option.GetBidByCode(S4,3),0); } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-02-03 18:54:37

안녕하세요 예스스탁입니다. var Start = 0; var B1,B2,B3,B4; var Bcount; var S1,S2,S3,S4; var Scount; function Main_OnStart() { Start = 0; Main.MessageList("시작",Start); } function Chart1_OnRiseSignal(Signal) { //차트에서 매도신호 발생 if (Signal.signalKind == 3) { var UNum = Option.uppersATM; var LNum = Option.lowersATM; var CallCode = new Array(UNum+LNum+1); var CallPrice = new Array(UNum+LNum+1); //콜종목 찾기 for (var i = -LNum; i <= UNum; i++) { if (Option.GetCurrent(0, i) <= 2.0) { CallPrice[i+LNum] = Option.GetCurrent(0, i); CallCode[i+LNum] = i; } else { CallPrice[i+LNum] = -1; CallCode[i+LNum] = -1; } } var CC = -1; var CallOrderCode = -1; for (var i = -LNum; i <= UNum; i++) { if (CallPrice[i+LNum] > CC) { CC = CallPrice[i+LNum]; CallOrderCode = CallCode[i+LNum]; } } Start = 1; B1 = Option.GetATMCallRecent(CallOrderCode,0); B2 = Option.GetATMCallRecent(CallOrderCode+1,0); B3 = Option.GetATMCallRecent(CallOrderCode+2,0); B4 = Option.GetATMCallRecent(CallOrderCode+3,0); Bcount = Signal.count; Account1.OrderBuy(B1,Bcount,Option.GetAskByCode(B1,3),0); Account1.OrderSell(B2,Bcount,Option.GetBidByCode(B2,3),0); Account1.OrderSell(B3,Bcount,Option.GetBidByCode(B3,3),0); Account1.OrderBuy(B4,Bcount,Option.GetAskByCode(B4,3),0); } //차트에서 매도청산신호 발생 if (Start == 1 && Signal.signalKind == 4) { Start = 0; Account1.OrderSell(B1,Bcount,Option.GetBidByCode(B1,3),0); Account1.OrderBuy(B2,Bcount,Option.GetAskByCode(B2,3),0); Account1.OrderBuy(B3,Bcount,Option.GetAskByCode(B3,3),0); Account1.OrderSell(B4,Bcount,Option.GetBidByCode(B4,3),0); } //차트에서 매수신호 발생 if (Signal.signalKind == 1) { var UNum = Option.uppersATM; var LNum = Option.lowersATM; var PutCode = new Array(UNum+LNum+1); var PutPrice = new Array(UNum+LNum+1); //풋종목 찾기 for (var i = -UNum; i <= LNum; i++) { if (Option.GetCurrent(1, i) <= 2.0 ) { PutPrice[i+UNum] = Option.GetCurrent(1, i); PutCode[i+UNum] = i; } else { PutPrice[i+UNum] = -1; PutCode[i+UNum] = -1; } } var PP = -1; var PutOrderCode = -1; for (var i = -UNum; i <= LNum; i++) { if (PutPrice[i+UNum] > PP) { PP = PutPrice[i+UNum]; PutOrderCode = PutCode[i+UNum]; } } Start = -1; S1 = Option.GetATMPutRecent(PutOrderCode,0); S2 = Option.GetATMPutRecent(PutOrderCode+1,0); S3 = Option.GetATMPutRecent(PutOrderCode+2,0); S4 = Option.GetATMPutRecent(PutOrderCode+3,0); Scount = Signal.count; Account1.OrderBuy(S1,Scount,Option.GetAskByCode(S1,3),0); Account1.OrderSell(S2,Scount,Option.GetBidByCode(S2,3),0); Account1.OrderSell(S3,Scount,Option.GetBidByCode(S3,3),0); Account1.OrderBuy(S4,Scount,Option.GetAskByCode(S4,3),0); } //차트에서 매수청산신호 발생 if (Start == -1 && Signal.signalKind == 2) { Start = 0; Account1.OrderSell(S1,Scount,Option.GetBidByCode(S1,3),0); Account1.OrderBuy(S2,Scount,Option.GetAskByCode(S2,3),0); Account1.OrderBuy(S3,Scount,Option.GetAskByCode(S3,3),0); Account1.OrderSell(S4,Scount,Option.GetBidByCode(S4,3),0); } } 즐거운 하루되세요 > 무명 님이 쓴 글입니다. > 제목 : 스팟 문의 드립니다. > 아래 스팟식을 참고하여 차트에서 매도신호 발생시 콜옵션 2.0이하 최근접가 부터 4개 종목을 찾아 매수(2.0이하 최근접 콜옵션)1계약+매도(1단계외가)2계약+매도(2단계외가)3계약+매수3단계외가)1계약 진입 되도록 수식 변환부탁드립니다. 그리고 차트에서 매수신호시에는 풋옵션 2.0이하 최근접가부터 4개 종목을 찾아 매수(2.0이하 최근접 풋옵션)1계약+매도(1단계외가)2계약+매도(2단계외가)3계약+매수3단계외가)1계약 진입 되도록 수식 변환부탁드립니다. var Start = 0; var B1,B2,B3,B4; var Bcount; var S1,S2,S3,S4; var Scount; function Main_OnStart() { Start = 0; Main.MessageList("시작",Start); } function Chart1_OnRiseSignal(Signal) { //차트에서 매도신호 발생 if (Signal.signalKind == 3) { Start = 1; B1 = Option.GetATMCallRecent(1,0); B2 = Option.GetATMCallRecent(2,0); B3 = Option.GetATMCallRecent(3,0); B4 = Option.GetATMCallRecent(4,0); Bcount = Signal.count; Account1.OrderBuy(B1,Bcount,Option.GetAskByCode(B1,3),0); Account1.OrderSell(B2,Bcount,Option.GetBidByCode(B2,3),0); Account1.OrderSell(B3,Bcount,Option.GetBidByCode(B3,3),0); Account1.OrderBuy(B4,Bcount,Option.GetAskByCode(B4,3),0); } //차트에서 매도청산신호 발생 if (Start == 1 && Signal.signalKind == 4) { Start = 0; Account1.OrderSell(B1,Bcount,Option.GetBidByCode(B1,3),0); Account1.OrderBuy(B2,Bcount,Option.GetAskByCode(B2,3),0); Account1.OrderBuy(B3,Bcount,Option.GetAskByCode(B3,3),0); Account1.OrderSell(B4,Bcount,Option.GetBidByCode(B4,3),0); } //차트에서 매수신호 발생 if (Signal.signalKind == 1) { Start = -1; S1 = Option.GetATMPutRecent(1,0); S2 = Option.GetATMPutRecent(2,0); S3 = Option.GetATMPutRecent(3,0); S4 = Option.GetATMPutRecent(4,0); Scount = Signal.count; Account1.OrderBuy(S1,Scount,Option.GetAskByCode(S1,3),0); Account1.OrderSell(S2,Scount,Option.GetBidByCode(S2,3),0); Account1.OrderSell(S3,Scount,Option.GetBidByCode(S3,3),0); Account1.OrderBuy(S4,Scount,Option.GetAskByCode(S4,3),0); } //차트에서 매수청산신호 발생 if (Start == -1 && Signal.signalKind == 2) { Start = 0; Account1.OrderSell(S1,Scount,Option.GetBidByCode(S1,3),0); Account1.OrderBuy(S2,Scount,Option.GetAskByCode(S2,3),0); Account1.OrderBuy(S3,Scount,Option.GetAskByCode(S3,3),0); Account1.OrderSell(S4,Scount,Option.GetBidByCode(S4,3),0); } }