커뮤니티

예스스팟 Q&A

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

프로필 이미지
훈sys
2015-12-04
7
글번호 223733
답변완료

문의드립니다.

안녕하세요. 콜옵션을 진입한 상황에서, 진입이후 콜옵션 가격이 상승하여 평가이익 중이다가 진입가격+1틱에 도달하면 콜옵션 잔고수량을 청산한다. 감사합니다.
프로필 이미지
지나리
2015-12-03
2133
글번호 223732
답변완료

그리드 객체 문의

수고하십니다. 3번째 row부터 9번째 row까지 삭제하려면 명령어를 어떻게 해야 하나요? Grid1.DeleteRows(3,9)가 아닌가요?
프로필 이미지
아이작
2015-12-02
2129
글번호 223731
답변완료

문의드림니다

수식 문의드림니다 선물신호를 이용하여 미니선물을 매매하고자 합니다 선물시스템 매수신호시 미니선물 매수진입하고, 매수청산시 미니선물 매수청산하고 선물시스템 매도신호시 미니선물 매도진입하고, 매도청산시 미니선물 매도청산하는 수식 부탁드림니다 아래 수식은 이전에 다른 분이 문의드려 작성해 주신건데 포지션시스템으로 작성된 것으로 알고 있읍니다 저는 데이당일매매를 하고자 하는데 아래 수식을 수정하여 선물신호를 이용하여 미니선물을 매매핳 수 있는 스팟수식 부탁 드림니다 수량은 외부변수로 만들어 주시면 좋겠습니다 부탁드림니다 ////////////////////////////////////////////////////////////////////////////////// function Main_OnStart() { Main.MessageList("선물to미니_스팟_시작"); } functionChart1_OnRiseSignal(Signal) { //매수신호 발생 if(Signal.signalKind == 1) { Main.MessageList("Buy_Signal"); //잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //잔고가 매수포지션이 아니면 if (Account1.Balance.position != 2) { //매도5호가로 2계약 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),2, MarketData1.Ask(5),0); } } //매수청산신호발생 if(Signal.signalKind == 2) { Main.MessageList("ExitLong_Signal"); //잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //잔고가 매수포지션이면 if (Account1.Balance.position == 2) { //매수5호가로 잔고수량만큼만 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code), Account1.Balance.count,MarketData1.Bid(5), 0); } } //매도신호 발생 if(Signal.signalKind == 3) { Main.MessageList("Sell_Signal"); //잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //잔고가 매도포지션이 아니면 if (Account1.Balance.position != 1) { //매수5호가로 2계약 매도주문 Account1.OrderSell(Main.GetOrderCode(MarketData1.code),2, MarketData1.Bid(5),0); } } //매도청산신호발생 if (Signal.signalKind== 4) { Main.MessageList("ExitShort_Signal"); //잔고셋팅 Account1.SetBalanceItem(Main.GetOrderCode(MarketData1.code), 0); //잔고가 매도포지션이면 if (Account1.Balance.position == 1) { //매도5호가로 잔고수량만큼만 매수주문 Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), Account1.Balance.count,MarketData1.Ask(5), 0); } } }
프로필 이미지
mao
2015-11-27
2095
글번호 223729
답변완료

양매도 문의

예스트레이더로 매매를 하면서 많이 배우고 매번 많은 도움을 받아갑니다. 제가 구현하려고하는 식이 예스트레이더언어로는 안되는거 같아서 이제부터 예스스팟을 공부하려합니다. 이와 관련해서 도움을 주셨으면 해서 문의 드립니다. 제가 원하는 식은 양매도 식으로 09:10분에 현재 코스피 200의 지수 call 옵션을 매도하고 call 옵션의 현재가와 가장차이가 없는 put 옵션을 검색하여 풋옵션도 매도하여 14:00시에 둘다 청산하는 식입니다. 예를 들면 오늘 09:10 코스피200지수가 140.1이고 이때 콜 140 가격이 3.2이고 풋 140의 가격이 2.5 풋 142,5의 가격이 3.0이라면 콜 140을 매도하고 콜 140이랑 가격이 가장 비슷한 풋 142.5를 매도하게 하는 식입니다. 가능할까요? 바쁘시더라도 자세한 설명 부탁드립니다.
프로필 이미지
고진감래
2015-11-23
2166
글번호 223726

고진감래 님에 의해서 삭제되었습니다.

프로필 이미지
고진감래
2015-11-23
7
글번호 223725

너무조아 님에 의해서 삭제되었습니다.

프로필 이미지
너무조아
2015-11-19
20
글번호 223723
답변완료

수식 추가부탁합니다

전일 매도한 콜매도(예 2.1)와 풋매도(예 3.58) 잔고가 당일 콜매도 가격이 풋매도 가격보다 커지면 콜풋 전량 청산되는 식 즉, 전일 저장된 콜매도, 풋매도를 비교해서 당일 가격이 콜>풋, 풋>콜 등 역전되는 가격 시점에서 청산되는 식 부탁합니다. 전일 저장된 CallOrderCode,PutOrderCode 비교해서 전일 콜가격 > 풋가격 이고, 당일 콜가격 < 풋가격이 커지는 시점(가격역전) 전일 콜가격 < 풋가격 이고, 당일 풋가격 < 콜가격이 커지는 시점(가격역전) var CallOrderCode,PutOrderCode; var Entry, Exit; function Main_OnStart() { Entry = false; Exit = false; Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { if (nEventID <= 1) { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //14시 30분 if (Entry == false && HHMMSS >= 143000 && HHMMSS <= 143100 ) { Entry = true; //차트가 무포지션 if (Chart1.GetOpenContracts() == 0) { Main.SetUserValue("CallOrderCode", ""); Main.SetUserValue("PutOrderCode", ""); } //차트가 매수유지봉 if (Chart1.GetOpenContracts() > 0) { Main.MessageList("--------------------------------------------"); Main.MessageList("매수신호유지"); var UNum = Option.uppersATM; var LNum = Option.lowersATM; //콜옵션중 2.0에 가장 가까운 종목 //콜옵션 모든 종목을 현재가-2.0을 해서 절대값을 취해 저장 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)-3.0); 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] } } //풋옵션중 3.0에 가장 가까운 종목 //풋옵션 모든 종목을 현재가-3.0을 해서 절대값을 취해 저장 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)-3.0); 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 (CC < 99999999 && PP < 99999999) { Account1.OrderSell(PutOrderCode1, Vo1, Option.GetBid(PutOrderCode, 3), 0); Account1.OrderSell(CallOrderCode, Vo1, Option.GetBid(CallOrderCode, 3), 0); Main.SetUserValue("PutOrderCode", PutOrderCode); Main.SetUserValue("CallOrderCode", CallOrderCode); } =================== 중 략 ========================================================= //13시 30분 if (Exit == false && HHMMSS >= 133000 && HHMMSS <= 133100 ) { Exit = true; //내부파일의 값을 가져와 변수에 저장 var PreDayCall = Main.GetUserValue("CallOrderCode"); var PreDayPut = Main.GetUserValue("PutOrderCode"); //PreDayCall에 값이 있으면 if (PreDayCall != "") { //잔고셋팅후 매도포지션이면 청산하고 //내부파일의 값을 빈공간으로 만듬 Account1.SetBalanceItem(PreDayCall,0) if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0, 1); Main.SetUserValue("CallOrderCode", ""); } } //PreDayPut에 값이 있으면 if (PreDayPut != "") { //잔고셋팅후 매도포지션이면 청산하고 //내부파일의 값을 빈공간으로 만듬 Account1.SetBalanceItem(PreDayPut,0) if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count, 0, 1); Main.SetUserValue("PutOrderCode", ""); } } //모두 수행후 값을 빈공간으로 만듬 Main.SetUserValue("CallOrderCode", ""); Main.SetUserValue("PutOrderCode", ""); }
프로필 이미지
팡팡
2015-11-18
2183
글번호 223722
답변완료

수식 변경 요청 드립니다.

안녕하세요 아래 코스피 200 연결선물 다수(5개이상)의 시스템을 예스스팟을 이용 미니선물로 운용 진입 청산하는 수식에, 동일계좌내 다수의 손익의 합이 목표수익 50만원 달성시 일괄청산 당일 매매종료 수식 추가, 내용 설명 요청 드립니다. 감사합니다. ------------------------------------------------------------------------------------- //차트에서 신호발생 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); } }
프로필 이미지
dandy
2015-11-18
2203
글번호 223721
답변완료

예스스팟 해외선물 문의

FuturesCount = ACC.GetTotalCount(2,0); 해외 선물 종목별 개수를 가져오고 싶은데 위와 같은 식은 모든 종목의 합산을 가져오게됩니다. 크루드 오일이면 오일만 골드면 골드만 따로 현재 선물 잔고를 가져오려면 어떻게 표현해야 하는지요?
프로필 이미지
spotyt
2015-11-16
2067
글번호 223720