커뮤니티

예스스팟 Q&A

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

프로필 이미지
dean
2018-10-31
1
글번호 224650
답변완료

종목관계 없이 몇일 후 잔고 청산

1.앞에 주신 1797번 답변은 매수는 되나 청산이 안되어 2.종목 선택하여 저장했다 청산 되는 수식이나 또는 청산 신호시 종목 관계없이 잔고 있으면 5계약식 5초 간격으로 청산되는 수식 원합니다. var CallOrderCode, PutOrderCode; var&nbsp;Direction,Code,BEcnt,BXcnt,SEcnt,SXcnt; var&nbsp;MaxEntryVol&nbsp;=&nbsp;5; var&nbsp;MaxExitVol; function&nbsp;Main_OnStart() { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.MessageList("시작"); } function&nbsp;C1_OnRiseSignal(Signal) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Signal.signalKind&nbsp;==&nbsp;1&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.MessageList("매수진입신호발생"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//내부파일에서&nbsp;DD와&nbsp;CC라는&nbsp;이름으로&nbsp;저장된&nbsp;값을&nbsp;가져와&nbsp;Direction,Code변수에&nbsp;저장 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Direction&nbsp;=&nbsp;Main.GetUserValue("DD"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Code&nbsp;=&nbsp;Main.GetUserValue("CC"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Direction이&nbsp;1이나&nbsp;-1이&nbsp;아닐때&nbsp;수행 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Direction&nbsp;!=&nbsp;1&nbsp;||&nbsp;Direction&nbsp;!=&nbsp;-1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Direction&nbsp;=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Code&nbsp;=&nbsp;Option.GetATMCallRecent(0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//방향과&nbsp;종목코드를&nbsp;내부파일에&nbsp;DD,CC라는&nbsp;이름으로&nbsp;저장 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetUserValue("DD",&nbsp;Direction); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetUserValue("CC",&nbsp;Code); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//매수주문 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var UNum = Option.uppersATM; var LNum = Option.lowersATM; //콜옵션중 1.0에 가장 가까운 종목 //콜옵션 모든 종목을 현재가-1.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)-1.0); CallCode[i+LNum] = Option.GetATMCallRecent(i); } //저장된 절대값중 가장 작은 종목의 값과 종목코드 계산 var AA = 99999999; CallOrderCode = ""; for (var i = -LNum; i <= UNum; i++) { if (CallPrice[i+LNum] < AA) { AA = CallPrice[i+LNum]; CallOrderCode = CallCode[i+LNum] } } A1.OrderBuy(CallOrderCode,&nbsp;1,&nbsp;Option.GetAskByCode(Code,2),&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEcnt&nbsp;=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//1번&nbsp;타이머&nbsp;5초&nbsp;셋팅 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetTimer(1,5000); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Signal.signalKind&nbsp;==&nbsp;2&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.MessageList("매수청산신호발생"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//내부파일에서&nbsp;DD와&nbsp;CC라는&nbsp;이름으로&nbsp;저장된&nbsp;값을&nbsp;가져와&nbsp;Direction,Code변수에&nbsp;저장 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Direction&nbsp;=&nbsp;Main.GetUserValue("DD"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Code&nbsp;=&nbsp;Main.GetUserValue("CC"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Direction이&nbsp;1이면 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Direction&nbsp;==&nbsp;1) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Direction을&nbsp;0으로&nbsp;초기화 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Direction&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//내부파일에&nbsp;DD와&nbsp;CC에&nbsp;저장값도&nbsp;초기화 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetUserValue("DD",&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetUserValue("CC",&nbsp;"&nbsp;"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//잔고를&nbsp;세팅 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A1.SetBalance(Code,&nbsp;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//잔고수량이&nbsp;있으면 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(A1.Balance.count&nbsp;>&nbsp;0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//보유수량&nbsp;저장 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxExitVol&nbsp;=&nbsp;A1.Balance.count; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//1계약&nbsp;매도주문 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A1.OrderSell(Code,1,Option.GetBidByCode(Code,&nbsp;2),&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BXcnt&nbsp;=&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//보유수량이&nbsp;2계약&nbsp;이상이면 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(MaxExitVol&nbsp;>=&nbsp;2) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//2번&nbsp;타이머&nbsp;5초&nbsp;셋팅 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main.SetTimer(2,5000); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;중략
프로필 이미지
팡팡
2018-11-12
2711
글번호 224647

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

프로필 이미지
dean
2018-10-23
13
글번호 224642
답변완료

질문드립니다.

질문> 함수객체를 만들어 쓰고 싶습니다. OrderFunction(시그널, 코드, 수량, 호가) 이렇게 만들고 싶은데.. 수량에 따라서 주문이 다르게 들어가는 함수를 만들고 싶습니다. JHoga를 Ask와 Bid의 주문호가로 지정하고 싶습니다. 가이드 식이나 비슷한 수식이 있을런지요? 아래는 만들다가 못만든 수식입니다. function OrderFunction(JSignal, JCode, JCount, JHoga) { var S; var OrderCode; function Main_OnStart() { OrderCode = Main.GetOrderCode(JCode); Main.ReqMarketData(Main.GetOrderCode(JCode)); } function C1_OnRiseSignal(Signal) { S = new OrderFunction(Signal.signalKind,OrderCode,Signal.count); if (Signal.count == 1) { if (Signal.signalKind == 1) { A1.OrderBuy(OrderCode, 2, NextData.Ask(JHoga), 0); Main.MessageList("코드 : ",OrderCode); Main.MessageList("호가 : ",JHoga); } if (Signal.signalKind == 2) { A1.OrderSell(OrderCode, 4, NextData.Bid(JHoga), 0); Main.MessageList("코드 : ",OrderCode); Main.MessageList("호가 : ",JHoga); } } /* if (S.JumunCount == 3) { if (S.JumunSignal == 1) } else { }*/ } function Main_OnRcvMarketData(MarketData) { NextData = MarketData; } } 만들다가 못 만들었는데요. 가이드 식 좀 도와주실수 있는지요?
프로필 이미지
절제9단
2018-11-12
2718
글번호 224636
답변완료

지표수식

1. 선물의 "총매수잔량 - 총매도잔량" 을 bar 차트형태로 나타낼 수 있을까요 2. 프로그램매매의 "차익거래"와 "비차익거래"를 bar 차트형태로 부탁드립니다. 3. 선물의 "체결강도"를 bar차트 형태로 부탁드립니다. 4. 예스스팟에서 dde 연동시키는 방법을 부탁드립니다.
프로필 이미지
마추피추
2018-10-22
2810
글번호 224635
답변완료

지표수식

1. 선물의 "총매수잔량 - 총매도잔량" 을 bar 차트형태로 나타낼 수 있을까요 2. 프로그램매매의 "차익거래"와 "비차익거래"를 bar 차트형태로 부탁드립니다. 3. 선물의 "체결강도"를 bar차트 형태로 부탁드립니다. 4. 예스스팟에서 dde 연동시키는 방법을 부탁드립니다.
프로필 이미지
마추피추
2018-10-22
2939
글번호 224634
답변완료

엑셀파일에서 종목코드를 읽어와서 사용할수 있나요?

제3의 외부 프로그램에서, 매수/매도신호가 발생했을때, 해당 종목코드명,수량 등을 엑셀파일에 입력하도록 프로그램한 뒤에, 예스스팟에서 그 엑셀파일을 읽어서 종목코드 등을 가져와서 주문을 낼 수 있는지요..? 가능하다면 간단한 예제를 보여주시면 감사하겠습니다~ ----- var 코드; 코드 = Excel1.GetData(1, "A1"); Main.ReqMarketData(코드,0); A1.OrderBuy(MarketData.code, 1, 0, 1);
프로필 이미지
sahajata
2018-10-19
3043
글번호 224633
답변완료

질문드립니다.

1. 당일 손실금액이 100만원이상이면 더이상 매매X 2. 당일 스탑로스가 2회발생시 더이상 매매X
프로필 이미지
stockric
2018-10-15
3183
글번호 224629
답변완료

안녕하세요....예스스팟 코드에 대해 질문이 있습니다.

파워종목검색으로 종목을 하여 자동주문까지는 완성이 되었는데요.... 진입한 이후 1시간이 지나면 무조건 청산을 하고 싶습니다. 코드를 해보려는데 진도가 나가지를 않네요... 어찌 코드를 짜보면 될까요? 부탁드립니다.
프로필 이미지
신혜아빠
2018-10-15
3088
글번호 224628
답변완료

문의있습니다

Input : Period(5); Var : value(0); value = ma(bids,period)-ma(asks,period); if value > value[1] Then var1 = 1; Else var1 = -1; if var1 == 1 and var1[1] != 1 Then buy("매수"); if var1 == -1 and var1[1] != -1 Then sell("매도"); 위의 수식은 예스트레이더 수식입니다 이를 예스스탁으로 활용해서 옵션매매에 적용하려고 합니다. 위 수식에서( 위수식은 연결선물 270틱에 적용한 신호가 나와야 합니다) 선물로 매수신호가 나올때 옵션가격 5만원에서 10만원 사이의 풋옵션가격중 제일큰값의 풋션을 선택해서 매도들어가도록 선물로 매도신호가 나올때 옵션가격 5만원에서 10만원 사이의 콜옵션가격중 제일큰값의 콜옵션을 선택해서 매도들어가도록 예스스탁의 수식을 짜주십시요 그리고 제가 스팟은 처음이라 자동매매를 위해 제 계좌를 연계하는 방법도 모릅니다. 그것도 수식에 넣어 주십시요 항상 감사드립니다 문의사항 010 3231 4592 유원장드림
프로필 이미지
sefswef
2018-10-12
3047
글번호 224627