커뮤니티

예스스팟 Q&A

답변완료

1020 질문에 사용된 수식

안녕하세요? 아래 1020 질문 관련하여 사용한 수식입니다. 수식은 지극히 초보적인 것으로 예스스탁에서 초기에 올려주신 수식입니다. 1020질문 답변 바랍니다. 문제는 장 초반에 매수가 4주 정도는 되야 하는데 주문 수량이 0으로 찍히면서 주문이 안되었다는 겁니다. 거기다가 장 중반에는 프로그램이 잘 작동하는 것을 확인했습니다. 감사합니다. //스크립트 객체 화면에서 아래와 같이 지정하고 식적용하시면 됩니다. //계좌객체 추가 --> 속성에서 객체명은 Account1, 주문할 계좌번호 지정 //차트객체 추가 --> 속성에서 객체명은 Chart1, 차트아이디를 부여후 차트에 동일아이디 지정 //종목객체 추가 --> 속성에서 객체명은 MarketData1, 종목은 코덱스 레버리지로 지정 //종목객체 추가 --> 속성에서 객체명은 MarketData2, 종목은 코덱스 레버리지로 지정 //각 객체에 대한 설명은 예스스팟 도움말 참고하시기 바랍니다. var Money = 50000;//금액 var Start; var Bcode,Bprice,Bvol; var Scode,Sprice,Svol; function Main_OnStart() { Start = 0; } //신호발생 function Chart2_OnRiseSignal(Signal) { //차트 Buy 신호 발생 if (Signal.signalKind == 1) { Start = 1; //매수종목코드 Bcode = MarketData1.code; //매수종목 매도5호가 Bprice = MarketData1.Ask(5); //지정한 금액으로 수량계산 Bvol = Math.floor(Money/Bprice); //매도 5호가에 지정한 수량 매수 Account1.OrderBuy(Bcode, Bvol,Bprice, 0); } //차트 Exitlong 신호 발생 if (Signal.signalKind == 2 && Start == 1) { //매수5호가 매도 Account1.OrderSell(Bcode,Bvol,MarketData1.Bid(5), 0) } //차트 Sell 신호 발생 if (Signal.signalKind == 3) { Start = 1; //매수주문종목 Scode = MarketData2.code; //매수종목 매도 5호가 Sprice = MarketData2.Ask(5); //지정한 금액으로 수량계산 Svol = Math.floor(Money/Sprice); //매도5호가에 매수주문 Account1.OrderBuy(Scode, Svol,Sprice, 0); } //차트 Exitshort 신호 발생 if (Signal.signalKind == 4 && Start == 1) { //매수5호가에 매도 Account1.OrderSell(Scode, Svol, MarketData2.Bid(5), 0); }
프로필 이미지
소총부대
2015-06-19
937
글번호 223534

자오지환웅 님에 의해서 삭제되었습니다.

프로필 이미지
자오지환웅
2015-06-18
32
글번호 223531
답변완료

NH트레이더 테스트중 예스스팟의 Account1.Balance.position 이상 발견

NH트레이더 테스트중 예스스팟의 Account1.Balance.position 이상 발견 대량거래를 하는 옵션 아이디어를 모의 투자용 NH트레이더을 이용하여 테스트중에 있읍니다. 그런데 모의 NH 예스스팟의 Account1.Balance.position 에 오류가 잇는것으로 보입니다 모의계좌 잔고와 Account1.Balance.position 간에 포지션 불일치가 발생하여 주문이 무한루프 돕니다. 체크 부탁드립니다 구체적인 상황은 다음과 같습니다 1. 콜옵션 매수 주문 발생 => 정상적으로 포지션 진입하고 미결제 잔고 발생 2. 콜옵션 포지션 미결제 있는 상태에서 콜옵션 매도 주문 발생 (즉 청산 주문) ==> 정상 청산되었으나 Account1.Balance.position = 2 로 인식함
프로필 이미지
경복궁
2015-06-18
1125
글번호 223528
답변완료

질문 두가지

1. 장 초반에 선물 신호 보고 레버리지를 매수 하는데 주문수량 0으로 에러가 나옵니다. 05050 주문수량을 확인하세요. [-1]... 시간이 좀 지나서 비슷한 시스템을 돌리면 주문 수량이 제대로 찍히는데 이유가 뭔가요? 주문은 예스스탁에서 예를 보인 것 같이 5호가로 하고 있습니다. 장 초반에 5호가가 형성안되서 그럴 수 도 있을까요? 2. 예스스팟 실행창에 "자동"이라고 빨간 표시 옆에 채워진 사각형이 있습니다. 이것을 클릭하면 채워진 삼각형으로 바뀌는데 차이가 뭔가요?
프로필 이미지
소총부대
2015-06-18
1264
글번호 223527

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

프로필 이미지
sonamoo
2015-06-17
0
글번호 223526
답변완료

수식문의

안녕하세요? 지금 예스트레이더로 자동거래를 하고 있습니다. 현재 예스트레이더로부터 발생하는 신호를 바탕으로 예스스팟 옵션 거래를 하려고 합니다. 수식 부탁드립니다. =================== 1.예스트레이더에서 매수신호 발생시 콜옵션중 가격이 2.5에 가장 근접한 종목 1계약 매수 2.예스트레이더에서 매수청산신호 발생시 콜옵션 0.01에 청산 3.예스트레이더에서 매도신호 콜옵션중 가격이 2.5에 가장 근접한 종목 1계약 매수 4.예스트레이더에서 매도청산신호 발생시 풋옵션 0.01에 청산 5.장시작 30초후에 계좌잔고 리플레쉬합니다. 8.진입가격은 현재가+0.1로 주문을 넣습니다. ================= 미리감사드립니다.
프로필 이미지
sonamoo
2015-06-17
1355
글번호 223525
답변완료

궁금한 거 하나

예스스팟이 윈도우 서버 2012 같은 NT계열 서버에서도 작동하나요? 리눅스에서도 돌아가는지 궁금함다 ^^ 보통 윈도우 XP, 비스타, 7, 8.1 등의 운영체제에서 돌아가는 걸로 아는데, 문득 궁금해서 문의드립니다. 그리고 1193번 글 재문의한것 확인 좀 부탁드립니다
프로필 이미지
김태희
2015-06-15
1353
글번호 223522
답변완료

수식문의

예제 합성선물 에서 미완성신호에 주문 나가게 하려면 어떻게 수정해야하나요? 또 동시호가 청산 수식은 아래와 같이 연결해서 붙여쓰면 되나요? ** 미완성신호에 합성선물(call은 ATM+1 , put은 ATM-1) 주문내고 14시50분에 청산하는식 부탁합니다 ===================================== /*스크립트시작-----------------------------------------------------*/ var Start; var BuyCallCode; var BuyPutCode; var SellCallCode; var SellPutCode; function Main_OnStart() { Main.MessageLog("시작"); Start = 0; } function C1_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); if (Signal.signalKind == 1 ) { Start = 1; BuyCallCode = Option.GetATMCallRecent(0); BuyPutCode = Option.GetATMPutRecent(0); var BuyCallPrice = Option.GetAskByCode(BuyCallCode,2); var BuyPutPrice = Option.GetBidByCode(BuyPutCode,2); A1.OrderBuy(BuyCallCode, Vol, BuyCallPrice, 0); A1.OrderSell(BuyPutCode, Vol, BuyPutPrice, 0); Main.MessageLog("합성선물매수"); } if (Start == 1 && Signal.signalKind == 2 ) { var BxCallPrice = Option.GetBidByCode(BuyCallCode, 2); var BxPutPrice = Option.GetAskByCode(BuyPutCode, 2); A1.OrderSell(BuyCallCode, Vol, BxCallPrice, 0); A1.OrderBuy(BuyPutCode, Vol, BxPutPrice, 0); Main.MessageLog("합성선물매수청산"); } if (Signal.signalKind == 3 ) { Start = 1; SellCallCode = Option.GetATMCallRecent(0); SellPutCode = Option.GetATMPutRecent(0); var SellCallPrice = Option.GetBidByCode(SellCallCode,2); var SellPutPrice = Option.GetAskByCode(SellPutCode,2); A1.OrderSell(SellCallCode, Vol, SellCallPrice , 0); A1.OrderBuy(SellPutCode, Vol, SellPutPrice, 0); Main.MessageLog("합성선물매도"); } if (Start == 1 && Signal.signalKind == 4 ) { var SxCallPrice = Option.GetAskByCode(SellCallCode, 2); var SxPutPrice = Option.GetBidByCode(SellPutCode, 2); A1.OrderBuy(SellCallCode, Vol, SxCallPrice, 0); A1.OrderSell(SellPutCode, Vol, SxPutPrice, 0); Main.MessageLog("합성선물매도청산"); } } /*스크립트끝-------------------------------------------------------*/ // 동시호가청산 function Main_OnStart() { Main.MessageLog("시작") Main.SetTimer(1, 5000); } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMDD = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (nEventID == 1 && HHMMDD >= 150600) { Main.KillTimer(1); num = A1.GetTheNumberOfBalances(); for(var i = 0; i < num; i++) { A1.SetBalanceIndex(i); if (A1.Balance.position == 1) A1.OrderBuy(A1.Balance.code,A1.Balance.count,0,1); if (A1.Balance.position == 2) A1.OrderSell(A1.Balance.code,A1.Balance.count,0,1); } } } /*스크립트끝-------------------------------------------------------*/
프로필 이미지
쏘로스
2015-06-15
1437
글번호 223519

자오지환웅 님에 의해서 삭제되었습니다.

프로필 이미지
자오지환웅
2015-06-12
18
글번호 223518
답변완료

현대 Yes가 실행 중 오류 발생합니다.

첨부처럼 현대 YesTrader를 실행중에 오류가 발생하고 있습니다. 최근 1주일 이내에 동일한 오류가 3번 정도 발생했습니다. 점검 및 조치해 주시기 바랍니다.
프로필 이미지
richon
2015-06-12
1480
글번호 223517