커뮤니티

예스스팟 Q&A

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

프로필 이미지
idnotbe
2019-08-30
5
글번호 224978
답변완료

조건검색이 안돼요

어제까지 잘쓰던 3-4개의 조건 검색 같은 조건으로 돌려도 결과값이 안 나와요 뭐가 잘못 된거죠?
프로필 이미지
아무다
2019-08-29
3239
글번호 224972
답변완료

수식 수정 부탁드립니다

안녕하세요~ 다음 수식 수정 부탁드립니다. 1) 현재 아래의 수식을 자동으로 설정하였을 경우, 8시30분 이전 주식시장 주문가능시간전에 HTS에 접속을 하면 주문 오류가 발생합니다. ---> 주문가능 시간전이므로 당연함 (8시30분 이후 접속시는 정상주문 됨) ---> 접속시간에 관계없이, 8시45분~ 8시55분 사이에 'test1'의 종목검색 및 매수주문이 발생하도록 수정 부탁드립니다. 2) 장개시전 매수 주문시 다음 조건을 추가하고 싶습니다. * 장개시전 계좌의 D+2 예수금 잔고가 주식평가자산을 포함한 순자산액의 1/10 이상일 때라는 조건 * 매수시 'K200 지수의 전일저가가 전전일저가보다 작을 때' 라는 조건 * 현재 작성된 수식은 검색된 종목들중 전일종가가 가장 높은 종목부터 순차적으로 5종목 이하로 매수하도록 작성되어 있습니다. ---> 이때 만약 잔고에 해당 종목들의 잔고가 미결제 포함하여 100주 미만이라면 매수주문이 발생하고, 100주 이상이라면 건너뛰고 가격이 높은 순으로 검색된 종목중 다음 가격이 높은 종목으로 순연하여 5종목 이하로 주문되도록 하고 싶습니다. 3) 8시45분 ~ 8시55분에 잔고에 있는 종목들중 평균매입가격대비 전일종가 기준으로 30% 이상 상승한 종목들이 있다면, 해당종목들의 전체 수량을 전일종가로 매도주문 내고 싶습니다. ---> 매도시 수량은 3일 결제로 인한 전일의 미결제 수량 포함입니다. 4) 당일 매수 및 매도 주문에 대한 정정과 취소는 없습니다. 즉, 개장전 주문이 장종료시까지 유지됩니다. 차트는 사용하지 않습니다. 다음 수식은 일봉기준으로 종목검색후, 장개시전 고가순으로 5종목 매수주문 < 스크립트 객체 > - Main - Account1 - Vol --------------------- var List; var ListCnt; var RcvCount; var ItemCode = new Array(200); var PPrice = new Array(200); var RcvCount = 0; var Ymoney; function Main_OnStart() { Main.ReqPowerSearch("test1") Ymoney = Account1.GetBalanceETCinfo(0); // D+2 예수금을 불러오는지요? Main.MessageLog("종목검색"); } function Main_OnRcvItemList(aItemList, nCount) { List = aItemList; ListCnt = nCount; for (var i = 0; i < nCount; i++) { Main.ReqMarketData(List[i], 0, 0); } } function Main_OnRcvMarketData(MarketData) { RcvCount = RcvCount+1; ItemCode[RcvCount] = MarketData.code; PPrice[RcvCount] = MarketData.prevClose; if (RcvCount == ListCnt) { for (var ii = 1; ii <= 5; ii++) { var HH = -1; var Hi = -1; for (var iii = 1; iii <= RcvCount; iii++) { if (PPrice[iii] > HH) { HH = PPrice[iii]; Hi = iii; } } //매수주문 if (Hi > -1) { Account1.OrderBuy(ItemCode[Hi], Vol, PPrice[Hi], 0); ItemCode[Hi] = -1; PPrice[Hi] = -1; } } } } 감사합니다 !!
프로필 이미지
새로운세상
2019-09-10
3356
글번호 224971
답변완료

매도, 매도식 부탁드립니다.

=======매수======== 1. a,b,c,d종목의 전일종가대비 n%에 m1 수량만큼 매수주문한다.(장전 주문) 2. a,b,c,d종목 현재가가 전일종가의 n%(==매수가) 보다 p% 낮으면 m2 매수주문한다. 3. t1시에 미체결 매수 취소 (영어는 외부변수로 빠지게 해 주세요) =======매도======== 1. t2시부터 미체결 매도 취소 2. 보유종목 호출 3. s회차 매도 시행(최우선) : 매도량은 (호출시 보유량)/(k-s+1) (총 k회 분할매도) ***매도간격은 t3*** ex) 총10회 매도 예정일 때, 1회차 매도시 (호출된 보유량)/(10-1+1) = (보유량)/10 5회차 매도시 (호출된 보유량)/(10-5+1) = (보유량)/6 4. 마지막 회차에서는 (1번,2번) 진행후 잔량 모두 시장가 매도 ==> 1-3번을 (k-1)회차 진행후 마지막회차 시장가 매도 진행(4번 항목) (영어는 외부변수로 빠지게 해 주세요) 부탁드리겠습니다. 감사합니다.
프로필 이미지
cs아빠
2019-09-05
3409
글번호 224970
답변완료

매도 잔고 평균값

수고하십니다. 예스스팟 해외 선물 거래에서 잔고 평균값을 다음과 같이 읽어 와서 확인해보면 매수일 때는 평균값이 잘 읽히는데 매도일 때는 평균값이 0으로 읽힙니다. A1.SetBalanceItem(F1.code, 0); var avgPrice=A1.Balance.avgUnitCost; 어떻게 해야 매도시 평균값 또는 진입가를 정확하게 확인할 수 있는지 궁금해서 질문 드립니다. 수고하세요.
프로필 이미지
가자빅토리
2019-08-27
3305
글번호 224969
답변완료

파워종목검색후 자동매수 그리고 몇가지

제가 하고 싶은것 1. 파워종목 검색(1분단위) 2. 검색된 종목들을 단주, 시장가로 매수 -단, 기존에 보유종목인 경우에는 매수하지 않음 사실 언어 이런것도 모르고 샘플을 보면서 살짝 살짝 수정하고자 하고 있습니다. 메뉴얼 보면서 공부는 병행하고 있습니다. 아래는 게시판 답변에서 찾은 샘플인데 이 샘플에 위 두가지 조건을 적용한 전략을 부탁드립니다. 감사합니다. var List; var ListCnt; var RcvCount; var ItemCode = new Array(200); var ItemPrice = new Array(200); var ItemUnits = new Array(200); var RcvCount = 0; var Ymoney; //스팟 첫 실행시 function Main_OnStart() { // 파워종목검색의 사용자검색조건 검색 요청 Main.ReqPowerSearch("Winning") //예수금 저장 Ymoney = Account1.GetBalanceETCinfo(0); } //종목검색 완료되어 리스트(검색된 종목코드) 수신 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목코드를 저장 List = aItemList; //검색된 종목수 저장 ListCnt = nCount; //종목코드 디버깅창에 출력 Main.MessageList("전체종목코드",List); //검색된 종목에 대해 종목객체 요청 for (var i = 0; i < nCount; i++) { Main.ReqMarketData(List[i], 0, 0); } } //요청한 종목객체가 생성되면 function Main_OnRcvMarketData(MarketData) { //생성 횟수 카운트 RcvCount = RcvCount+1; //생성된 순서로 1번방부터 종목코드 저장 ItemCode[RcvCount] = MarketData.code; //생성된 순서로 1번방부터 현재가 저장 ItemPrice[RcvCount] = MarketData.current; ItemUnits[RcvCount] = MarketData.tradeUnit; //값저장 후 해당 종목객체는 삭제 Main.RemoveMarketData(ItemCode[RcvCount]); //생성횟수와 해당 종목의 코드와 현재가, 매매단위를 디버깅창에 출력 Main.MessageList("생성순번",RcvCount,"종목코드",ItemCode[RcvCount],"현재가",ItemPrice[RcvCount],"주문수량단위",ItemUnits[RcvCount]); //검색된 종목에 대해 모두 종목객체가 생성되었다면 if (RcvCount == ListCnt) { //현재가가 큰 종목순으로 상위 5개 주문 for (var ii = 1; ii <= 5; ii++) { var HH = -1; var Hi = -1; //각 종목이 현재가를 비교해 가장 큰 종목 선택 for (var iii = 1; iii <= RcvCount; iii++) { if (ItemPrice[iii] > HH) { HH = ItemPrice[iii]; Hi = iii; } } //매수주문 if (Hi > -1) { //수량 계산 var vol; if (ItemUnits[Hi] == 1) //1주단위이면 vol = Math.floor((Ymoney/5)/ItemPrice[Hi]); if (ItemUnits[Hi] == 10)//10주 단위이면 vol = Math.floor(((Ymoney/5)/ItemPrice[Hi])/10)*10; //시장가로 매수주문 Main.MessageList("순번",ii,"매수주문종목",ItemCode[Hi],"현재가",ItemPrice[Hi],"주문수량단위",ItemUnits[Hi]); //디버깅창에 매수 종목의 코드와 현재가,주문수량 표시 Account1.OrderBuy(ItemCode[Hi], vol, 0,1); //해당 종목의 종목코드와 현재가는 다음순위를 찾기위해 -1로 지정 ItemCode[Hi] = -1; ItemPrice[Hi] = -1; } } } }
프로필 이미지
달군
2019-08-26
3468
글번호 224968
답변완료

지정가 매수 주문...

지정가로 매수 주문 했는데 지정가보다 높은 가격으로 매수 체결되는 경우가 발생 합니다. 지정가로 매수 주문하면 지정가보다 높게는 체결 안되는거 아닌가요? 수고하세요.
프로필 이미지
가자빅토리
2019-08-26
3558
글번호 224967
답변완료

수식 부탁드립니다.

안녕하세요 항상 많은 도움에 수고많으십니다. 1) 최종목표가 익절 +50틱 / 손절 -30틱 / 트레일링 시작 +20틱 (5틱 하락시 청산) 2) 진입후 1시간 지나도 청산이 안되는 경우 (이익상태인경우 즉시 청산하고, 손실상태인 경우 5분 마다 체크하여, 이익상태이면 청산하고, 20분이 지나면 현재가에 청산한다.) 3) 거래 1계약으로만 하고, 저녁 8시부터 시작해서 다음날 4시가지만 진행하고, 4시에 잔고가 있으면 즉시 청산한다. 위의 수식을 스팟의 하나의 식으로 큰 그림으로 부탁드립니다. 감사합니다.
프로필 이미지
워싱턴
2019-08-25
3448
글번호 224966
답변완료

수식 작성 부탁드립니다.

9시 10분에 차트 A 에서 매수 신호가 발생하면 스팟에서 1분 간격으로 60계약을 1개씩 매수하게 하고, 9시 30분에 차트 B 에서 매도 신호가 발생하면 A는 매수 B는 매도이니 A에서 발생한 30계약을 1분 간격으로 매도하게 하고 싶습니다. 차트 A에서 매수 발생한 이후 차트 B에서 매도가 발생할 수도 있고, 발생하지 않을 수도 있기 때문에 B에서 매도가 발생하지 않으면 60계약을 계속 매수해야하고 B에서 매도가 발생하면 매수 주문을 멈추고 합산해서 지금까지 들어간 매수 계약을 청산해야 하는 것을 표현하는 것이 어렵습니다. 감사합니다.
프로필 이미지
spotyt
2019-08-25
3566
글번호 224965
답변완료

수식작성 부탁드립니다.

항상 도움에 감사드립니다. 아래와 같이 매도관련하여 스팟 수식작성 부탁드립니다. 잘몰라서 그러니 간단한 설명도 부탁드립니다. * 매수된 주식을 특정시간 경과한 후 매도(예: 3일 경과후 10시) * 계좌내에 다른 주식은 매도하지 않음
프로필 이미지
dayun01
2019-08-20
3376
글번호 224961