커뮤니티

예스스팟 Q&A

답변완료

스팟식 문의드립니다.

한국투자증권에서 해외선물 3종목을 예스트레이더 차트신호에 따라서 매매하는 식인데요 3개차트 신호대로 매매하다가 현재 총 손실이 포지션이 있던 없던간에 현재 예탁자산평가액이 스팟적용했을 시기보다 -200000만원이상 떨어졌을때 모든포지션을 청산하고 차트에 신호가 나 와도 더 이상 매매하지 않게 하려고 합니다. 진입식을 잘 작동하는데 매매정지식이 뭔가 잘못된거 같은데 확인 좀 부탁드립니다. 근데 조회를 원화 기준으로 해야하는 달러기준으로 해야하는지요? -200000만원을 원화 기준으로 해야하나요 달러기준으로 -200으로 해야하나요? 원화기준으로 매매정지 손실금액을 맞추고 싶습니다. 달러기준 조회를 햇을때는 달러로 변하고 원화조회를 햇을때는 원화 기준에 맞춰지는 건가요? var i1; var X; //스팟 시작시 function Main_OnStart() { Main.MessageList("스팟 시작"); //i1에 예수금/예탁총액 저장 i1 = Account1.GetBalanceETCinfo(4); X = 0; Main.SetTimer(1, 1000);//5초 타이머 셋팅 Main.MessageList("예수금", Account1.GetBalanceETCinfo(4)); } //------------------------------------------------------------------------------------- //차트에서 신호나오면 MarketData1 종목에 대해 주문 function Chart1_OnRiseSignal(Signal) //차트1에서 완성신호이벤트가(온라이즈시그널)) 발생하면 시그널에 그정보를 넘겨준다 { //매수진입신호 발생 if (Signal.signalKind == 1 && X == 0) { Main.MessageList("J1매수"); Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Signal.count,0,1); } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅해 매수포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매수청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } //매도진입신호 발생 if (Signal.signalKind == 3 && X == 0) { Main.MessageList("J1매도"); Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Signal.count,0,1); } //매도청산신호 발생 if (Signal.signalKind == 4) { //잔고셋팅해 매도포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J1매도청산"); Account1.SetBalance(Main.GetOrderCode(MarketData1.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } } //------------------------------------------------------------------------------------- //차트에서 신호나오면 MarketData1 종목에 대해 주문 function Chart2_OnRiseSignal(Signal) //차트1에서 완성신호이벤트가(온라이즈시그널)) 발생하면 시그널에 그정보를 넘겨준다 { //매수진입신호 발생 if (Signal.signalKind == 1 && X == 0) { Main.MessageList("J2매수"); Account1.OrderBuy(Main.GetOrderCode(MarketData2.code), Signal.count,0,1); } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅해 매수포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J2매수청산"); Account1.SetBalance(Main.GetOrderCode(MarketData2.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } //매도진입신호 발생 if (Signal.signalKind == 3 && X == 0) { Main.MessageList("J2매도"); Account1.OrderSell(Main.GetOrderCode(MarketData2.code), Signal.count,0,1); } //매도청산신호 발생 if (Signal.signalKind == 4) { //잔고셋팅해 매도포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J2매도청산"); Account1.SetBalance(Main.GetOrderCode(MarketData2.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } } //------------------------------------------------------------------------------------- //차트에서 신호나오면 MarketData1 종목에 대해 주문 function Chart3_OnRiseSignal(Signal) //차트1에서 완성신호이벤트가(온라이즈시그널)) 발생하면 시그널에 그정보를 넘겨준다 { //매수진입신호 발생 if (Signal.signalKind == 1 && X == 0) { Main.MessageList("J3매수"); Account1.OrderBuy(Main.GetOrderCode(MarketData3.code), Signal.count,0,1); } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅해 매수포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J3매수청산"); Account1.SetBalance(Main.GetOrderCode(MarketData3.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } } //매도진입신호 발생 if (Signal.signalKind == 3 && X == 0) { Main.MessageList("J3매도"); Account1.OrderSell(Main.GetOrderCode(MarketData3.code), Signal.count,0,1); } //매도청산신호 발생 if (Signal.signalKind == 4) { //잔고셋팅해 매도포지션 있으면 잔고수량만큼만 청산 Main.MessageList("J3매도청산"); Account1.SetBalance(Main.GetOrderCode(MarketData3.code), 0); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } } //--------------------------------------------------------------------- function Main_OnTimer(nEventID) { //현재 예수금/예탁총액이 스팟시작시값보다 20만원 이상 감소했으면 if (nEventID == 1 && Account1.GetBalanceETCinfo(4) <= i1-200000) { //미체결주문 전체 취소 var num1 = Account1.GetTheNumberOfUnfills(); for(i = 0; i < num1; i++) { Account1.SetUnfillIndex(i) Account1.OrderCancel(Account1.Unfill.orderNum); } //잔고 전체 종목 청산 var num2 = Account1.GetTheNumberOfBalances(); for(i = 0; i < num2; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } X = 1; Main.MessageList("진입금지요건만족"); } }
프로필 이미지
수다리
2017-11-07
2641
글번호 224243
답변완료

당일 마지막 봉을 알 수 있나요?

안녕하세요. 당일 청산을 무조건 하려고 합니다. 동시호가 전 마지막 봉 ADD되면 미체결취소+보유종목 청산을 하려고 하는데.. 질문1. 직접 시간값을 하드코딩하여 15 라는 텍스트 값을 쓰는 방법 말고 당일 장 종료 시간을 어디서 받아오거나, 마지막 봉이라는 값을 특정 변수로 알 수는 없나요? 15시라는 값을 직접 쓰게되면 가끔 특정일에 정규 장 종료 시간보다 빨리 하거나 할 결우 평소에 계속 체크하고 있다가 수정해줘야되서 혹시 다른 방법이 있나 해서 문의드립니다. 질문2. 직접 시간값을 하드코딩 해서 써야된다고 하면 정규시간에 종료되지 않는 경우를 관리할 수 있는 좋은 방법이 있을까요? 방법은 여러가지겠지만, 좋은 방법이 떠오르지 않아서 문의드립니다. 답변 부탁드립니다. 감사합니다.
프로필 이미지
데칸
2017-11-05
2632
글번호 224242
답변완료

청산 수식 수정 요청드림

아래 수식은 2계좌에서 1종목씩 거래시 합산 순수익 날때 동시 청산수식과 합산 순손실시 동시 청산 수식 입니다 그런데 합산 순수익이 날때 동시 청산이 이루어지지 않고 한 계좌만 청산이 되고 다른 계좌는 그대로 남아 있습니다. 2계좌 합산 순수익이나 순손실이 날 때 두계좌가 동시 청산 되도록 수식을 수정 요청드립니다. //계좌객체1 Account1 //계좌객체2 Account2 function Main_OnStart() { Main.SetTimer(1,5000);//5초 단위 체크 } function Main_OnTimer(nEventID) { if (nEventID == 1) { //총수익 누적할 변수 var sumPL = 0; //계좌1의 종목수 var num1 = Account1.GetTheNumberOfBalances(); //계좌2의 종목수 var num2 = Account2.GetTheNumberOfBalances(); //계좌1과 계좌2에 종목이 각 1개 이상일때만 if (num1 >= 1 && num2 >= 1) { //잔고 종목 총손익 계산 for (i = 0; i < num1; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { sumPL = sumPL + (Account1.Balance.avgUnitCost - Account1.Balance.current)*Account1.Balance.count; } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { sumPL = sumPL + (Account1.Balance.current - Account1.Balance.avgUnitCost)*Account1.Balance.count; } } //잔고 종목 총손익 계산 for (i = 0; i < num2; i++) { Account2.SetBalanceIndex(i); if (Account2.Balance.count > 0 && Account2.Balance.position == 1) { sumPL = sumPL + (Account2.Balance.avgUnitCost - Account2.Balance.current)*Account2.Balance.count; } if (Account2.Balance.count > 0 && Account2.Balance.position == 2) { sumPL = sumPL + (Account2.Balance.current - Account2.Balance.avgUnitCost)*Account2.Balance.count; } } //총손익이 특정값(0)보다 크면 전체종목 청산 if (sumPL > 0) { for (i = 0; i < num1;i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,0,1); } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,0,1); } } for (i = 0; i < num2; i++) { Account2.SetBalanceIndex(i); if (Account2.Balance.count > 0 && Account2.Balance.position == 1) { Account2.OrderBuy(Account2.Balance.code, Account2.Balance.count,0,1); } if (Account2.Balance.count > 0 && Account2.Balance.position == 2) { Account2.OrderSell(Account2.Balance.code, Account2.Balance.count,0,1); } } } //총손익이 특정값(0)보다 작으면 전체종목 청산 if (sumPL < 0) { for (i = 0; i < num;i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,0,1); } if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,0,1); } } for (i = 0; i < num;i++) { Account2.SetBalanceIndex(i); if (Account2.Balance.count > 0 && Account2.Balance.position == 1) { Account2.OrderBuy(Account2.Balance.code, Account2.Balance.count,0,1); } if (Account2.Balance.count > 0 && Account2.Balance.position == 2) { Account2.OrderSell(Account2.Balance.code, Account2.Balance.count,0,1); } } } } } }
프로필 이미지
종호
2017-11-03
2669
글번호 224241
답변완료

잔고 확인 청산 방법 문의

매수청산, 매도청산의 상황에서 예를들면 이전에 인터넷이 비정상적으로 끊겨 재접속 되었을시에 잔고가 있어도 청산 주문이 나가지 않습니다. 그래서 저는 청산신호에는 무조건 잔고를 시장가로 청산하는 스팟 로직을 구현하려 하는데 쉽지가 않습니다. 1. 매수(매도)청산 신호가 나왔을때 잔고를 확인하여 모든 잔고를 시장가로 청산하는 로직 제 기존 수식에 청산부분에만 삽입,수정하려고 합니다. 부탁드립니다. 참고 기존 제 수식(선물신호->옵션매수식) //계좌객체 추가 : Account1 //챠트객체 추가 : Chart1 //예트챠트명과 일치 //옵션데이타 추가 : Option //입력변수 추가 : Near //숫자형, 진입하고자 하는 가까운 옵션값 //입력변수 추가 : Vol // 진입수량 var T; var CC, CallOrderCode; var PP, PutOrderCode; var BC, BP; function Main_OnStart() { T = 0; Main.MessageList("옵션매수 전용시작"); } function Chart1_OnRiseSignal(Signal) { // 매수신호 if (Signal.signalKind == 1) { T = 1; Main.MessageList("Buy신호 발생"); 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++) { CallPrice[i+LNum] = Math.abs(Option.GetCurrent(0, i)-Near); CallCode[i+LNum] = Option.GetATMCallRecent(i); } //저장된 절대값중 가장 작은 종목의 값과 종목코드 계산 var CC = 99999999; CallOrderCode = ""; for (var i = -LNum; i <= UNum; i++) { if (CallPrice[i+LNum] < CC) { CC = CallPrice[i+LNum]; CallOrderCode = CallCode[i+LNum] } } //종목을 찾았으면 if (CC < 99999999) { BC = CallOrderCode; Account1.OrderBuy(BC, Vol, Option.GetAskByCode(BC, 5)+2, 0); } } //매수청산 신호 if (T==1 && Signal.signalKind == 2) { T = 0; num = Account1.GetTheNumberOfBalances(); for(var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.position == 2); Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } Main.MessageList("ExitLong신호 발생"); } //매도 신호 if (Signal.signalKind == 3) { T = -1; Main.MessageList("Sell신호 발생"); 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++) { PutPrice[i+UNum] = Math.abs(Option.GetCurrent(1, i)-Near); PutCode[i+UNum] = Option.GetATMPutRecent(i); } //저장된 절대값중 가장 작은 종목의 값과 종목코드 계산 var PP = 99999999; PutOrderCode = ""; for (var i = -UNum; i <= LNum; i++) { if (PutPrice[i+UNum] < PP) { PP = PutPrice[i+UNum]; PutOrderCode = PutCode[i+UNum]; } } //종목을 찾았으면 if (PP < 99999999) { BP = PutOrderCode; Account1.OrderBuy(BP, Vol, Option.GetAskByCode(BP, 5)+2, 0); } } //매도청산 신호 if (T==-1 && Signal.signalKind == 4) { T = 0; num = Account1.GetTheNumberOfBalances(); for(var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.position == 2); Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } Main.MessageList("ExitShort신호 발생"); } }
프로필 이미지
궁금궁금123
2017-11-01
2877
글번호 224237
답변완료

수식 수정 요청드립니다.

아래수식은 무포지션일 때 최초 매수가 들어가고 그 이후에 최초 매수가격에 상방으로 첫진입 체결후 3틱 상승시 마다 매수주문이 들어 가고 있습니다. 그런데 최초 진입이나 중간에서 진입이나 1개가 될 때도 있지만 동시에 여러개가 될 때가 많다는 것을 확인했습니다. 특히 거래량이 많고 순간적인 작은 1틱의 변화에 수 많은 복수 동시 진입이 되는 것을 확인했습니다. 1개의 진입이 체결돨 때까지 복수 진입신호를 허용하지 않아 1개의 수량만 진입이 되도록 부탁드립니다. 그리고 청산후에 다시 무포지션이 되어 재진입이 될 때가 있고 안될 때가 있습니다. 이것도 수정해 주시면 감사하겠습니다. Account1.Refresh() 기능도 추가 되었으면 좋겠습니다. //종목객체 MarketData1 --> 속성에서 주문낼 종목으로 지정 //계좌객체 Account1 --> 주문낼 계좌 var BuyID,BuyNum,FPrice; //스팟시작 function Main_OnStart() { //MarketData1종목 잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //내부파일에 FPrice에 적어놓은 값을 가져와 다시 변수에 저장 var aa = Main.GetUserValue("FPrice"); if (aa == "" || Account1.Balance.count == 0) FPrice = 0; else FPrice = aa; } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { if (lUp*dateID == 20001) { //무포지션에서 첫진입 if (Account1.Balance.count == 0 && FPrice == 0) { BuyID = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1,0,1); } //첫진입 체결후 3틱 상승시 마다 매수주문 if (Account1.Balance.count > 0 && FPrice > 0 && MarketData1.current >= FPrice + MarketData1.GetTickSize()*3) { Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1,0,1); FPrice = FPrice + MarketData1.GetTickSize()*3; Main.SetUserValue("FPrice",FPrice); } } } //주문응답 function Main_OnOrderResponse(OrderResponse) { //주문번호저장 if (OrderResponse.orderID == BuyID ) { BuyNum = OrderResponse.orderNum; } } //체결응답 function Main_OnNotifyFill(NotifyFill) { //첫진입 체결가 저장 if (NotifyFill.orderNum == BuyNum) { FPrice = NotifyFill.fillPrice; Main.SetUserValue("FPrice",FPrice); } } //계좌잔고에서 MarketData1이 완전청산되면 FPrice 변수 0으로 셋팅 function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { if (sItemCode == Main.GetOrderCode(MarketData1.code) && lUp*dateID == 30002) { FPrice = 0; Main.SetUserValue("FPrice",FPrice); } }
프로필 이미지
종호
2017-11-04
2886
글번호 224236

후타리 님에 의해서 삭제되었습니다.

프로필 이미지
후타리
2017-10-26
0
글번호 224235
답변완료

문의드립니다.

안녕하세요. 1번 질문: 해외선물의 경우 장개시 시간이 08시0분에 시작해서 그다음날 07시0분에 장마감됩니다. 제가 데이트레이딩으로 거래하고 싶습니다. 매수 또는 매도가 08:00 부터 거래를 시작해서 익일 04:00 넘어서 거래가 모두 청산이 되면 새로운 매수,또는 매도가 일어나지 않도록 하고 싶습니다. 2번질문 아래 수식에서 어떤 방식으로 수식을 짜야 할까요? 또 모든 거래가 익일 06:00 까지 잔존하고 있다면 익일 06:00에 잔존하는 모든거래를 청산하고 싶습니다. 2번 질문: 아래 매도 수식을 ( 무포지션시 기준가 형성후 그 기준가를 하방으로 돌파시 1계약씩 매도하는 수식) 실행을 시키면 var SSPrice; //스팟시작 function Main_OnStart() { //MarketData1종목 잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //내부파일에 SSPrice에 적어놓은 값을 가져와 다시 변수에 저장 var bb = Main.GetUserValue("SSPrice"); if (bb == "" || Account1.Balance.count == 0) SSPrice = 0; else SSPrice = bb; } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { if (lUp*dateID == 20001) { //무포지션이고 SSPrice가 0이면 기준값 지정 if (Account1.Balance.count == 0 && SSPrice == 0) { SSPrice = MarketData1.current; Main.SetUserValue("SSPrice",SSPrice); } //SSPrice가 0보다 크고 현재가가 SSPrice-3틱 이하이면 1계약 시장가 매도 if (SSPrice > 0 && MarketData1.current <= SSPrice - MarketData1.GetTickSize()*3) { Account1.OrderSell(Main.GetOrderCode(MarketData1.code), 1,0,1); SSPrice = SSPrice - MarketData1.GetTickSize()*3; Main.SetUserValue("SSPrice",SSPrice); } } } //계좌잔고에서 MarketData1이 완전청산되면 SSPrice 변수 0으로 셋팅 function Main_OnU*pdateAccount(sAccntNum, sItemCode, lUp*dateID) { if (sItemCode == Main.GetOrderCode(MarketData1.code) && lUp*dateID == 30002) { SSPrice = 0; Main.SetUserValue("SSPrice",SSPrice); } } 가장 중요한 질문A : 거래가 이루어질 때 거의 동시에 2계약이나 심지어 수십계약이 동시 체결이 될 때가 있습니다..1 계약씩만 매도가 되도록 수식을 보완해 주시면 감사드리겠습니다. 그런데 최초 진입시 SSPrice-3틱 이하이면 1계약 시장가 매도 에서 -1틱 ,-2틱 간격으로 놓으면 진입이 일어나는데 3틱부터는 (큰 수의 4틱 5틱으로) 큰간격을 벌려 놓으면 진입이 아예 안되고 있습니다. 1틱으로 놓으면 동시진입이 6개 ,7개씩 동시진입이 나옵니다. 그리고 잔고 청산후에 다시 재진입시 진입이 되다가 안되다가등 진입이 중구 난방입니다.있던 잔고가 청산후에 재진입이 항상 일어나도록 수식을 수정 요청드립니다. 질문 B : 위에서 진입시 1개씩도 진입되지만 경우에 따라서는 거의 동시에 몇개씩 여러개가 동시진입이 되고 있습니다. 어떤 데이타 기준에 의해서 거래가 이루어지는 것인지도 알고 싶습니다.틱의 최소단위 데이타로 거래가 이루어지는 것인지요? 또 2분봉이나 30초봉, 20틱봉의 특정 분,초, 틱봉 데이타로 이 수식을 적용하는 방법을 가르쳐 주시면 감사드리겠습니다. 질문C : 또 if (sItemCode == Main.GetOrderCode(MarketData1.code) && lUp*dateID == 30002) 에서 lUp*dateID == 30002 의 의미는 어떤 의미인지도 알고 싶습니다. 3번질문 이전 청산 손익에 따른 기준값 변경을 하고 싶습니다. 위의 2번식에서 2번식이 실행되어 잔고가 있게되고 그 잔고가 청산이 되어 다시 무포지션이 될 때 이전 청산이 손실이면 2번식의 //무포지션이고 SSPrice가 0이면 기준값 지정 if (Account1.Balance.count == 0 && SSPrice == 0) { SSPrice = MarketData1.current; 에서 기준값 SSPrice 을 SSPrice = MarketData1.current; 그대로 하고요. 이전 청산이 수익이면 기준값 SSPrice 을 SSPrice = MarketData1.current + MarketData1.GetTickSize()*5; 처럼 변경하고 싶습니다. 수식을 요청드립니다.
프로필 이미지
종호
2017-11-07
2697
글번호 224234
답변완료

문의 드립니다.

항상 답변 감사하게 받아보고 있습니다. 하이투자에서 선물거래를 하고 잇습니다. 질문1 : <<진입식>> 예스트레이더에서 신호발생시, 현재가진입 체결이 안되었으면 30초후 한틱위로 정정 미체결시 180초후에 취소. 일부만 체결되고 미체결된것은 취소 <<청산식>> 예스트레이더에서 신호발생시, 현재가진입 체결이 안되었으면 20초후 시장가청산. 청산식은 매수이든 매도이든 잔고를 확인해서 체결잔고가 있을때만 발생되도록 부탁드립니다. 청산식은 항상 포지션잔고 체크하고 잔고에 있는 전량이 전부 주문이 이루어지게 부탁합니다.
프로필 이미지
지킴이
2017-10-24
2732
글번호 224233
답변완료

수식 부탁 드리겠습니다

등가행사가 기준 위아래 3개씩 행사가의 콜풋 가격을 참고하여 어떤 동일한 행사가의 콜풋 가격이 교차하여 콜이 높아지면 매수 풋이 높아지면 청산하는 수식 부탁드립니다
프로필 이미지
짱구아빠1234
2017-10-21
2536
글번호 224232

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

프로필 이미지
종호
2017-10-20
4
글번호 224231