커뮤니티

예스스팟 Q&A

답변완료

다중 종목검색

안녕하세요. 스팟으로 실전매매 경험이 없고 공부하고 있습니다. 종목검색 하나 실행하면 5~10초(그때그때 다름) 걸리는데 스팟식으로 종목검색식 여러개를 순서대로 검색할 수 있는지요? 만약 가능하다면 다음과 같은 동작을 구현하고 싶습니다. 가이드 수식 부탁드립니다. 감사합니다. ■ 동작순서 1. 타이머지정(9시부터 1시간 간격) 2. 타이머 동작(9시) ☞ 사용자종목검색1~3 검색 ☞ 검색된 종목 모두 차트객체생성(중복제거) ☞ 전체 차트객체 매수신호 대기 ☞ 매수신호 발생시 주문 3. 타이머 동작(10시) ☞ 사용자종목검색1~3 재검색 ☞ 검색된 종목 다음과 같이 판단하여 차트객체생성 - 이미 생성된 차트객체와 동일한 종목은 차트객체 유지 - 기존에 없던 종목은 차트객체 생성 - 9시에 검색된 종목이 10시에 검색된 종목에 없으면 차트객체 삭제 - 새로 검색된 종목에 없어졌더라도 이미 주문이 들어간 종목은 차트객체 유지 (계좌확인으로 해야하는지??) ☞ 전체 차트객체 매수신호 대기 ☞ 매수신호 발생시 주문
프로필 이미지
순두부남
2019-09-30
3599
글번호 225016
답변완료

수식부탁드립니다.

예스랭귀지에서 종목 선정 로직과 매매방법 로직을 만들었는데 예스스팟에서 종목선정로직의 이름이 123 이라고하면 123을 사용해서 검색을하고 매순간 검색된 조건의 종목이 나타나면 매매방법(456)을 사용해서 매매가 이뤄지도록 할수있는지 궁금합니다. 가능하다면 수식부탁드려도 될까요?
프로필 이미지
하얀귤
2019-09-28
3509
글번호 225015
답변완료

1928 답글에 대한 추가 질문

답변으로 작성해 주신 코드 감사드립니다. 1928번의 내용은 검색된 종목으로 하는 방식인 것 같습니다. 종목검색 대신 관심종목에 있는 종목을 이용하는 방식으로 변형 부탁드리겠습니다. 감사합니다.
프로필 이미지
cs아빠
2019-09-27
3653
글번호 225014

오라클 님에 의해서 삭제되었습니다.

프로필 이미지
오라클
2019-09-27
0
글번호 225013
답변완료

위클리 옵션

Weekly 옵션은 언제 불러올 수 있나요? Monthly 옵션에서 최근월물을 찾아서 불러오는 함수가 있듯이, weekly 옵션도 최근 주의 옵션이 불러지는 함수가 필요합니다. Weekly 옵션이 상장되지 않는 monthly 옵션의 만기주에는 만기주가 불러져야 하구요. 언제 적용 예정이신지 궁금합니다.
프로필 이미지
idnotbe
2019-09-26
3742
글번호 225012
답변완료

확장차트 지원 갯수문의

확창 차트를 수백개 요청하면 프로그램이 에러가 납니다. 정확히 몇개까지 확창차트를 요청할 수 있는지 알고 싶습니다.
프로필 이미지
빠삐
2019-09-24
3670
글번호 225008
답변완료

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

매수 종목 선정 1. tt5~tt6에 검색식1에서 xx1 개의 종목이 검색될 때까지 반복조회한다. (xx1 개 검색되면 검색종료) 종목 매수 방법 2. 1에서 1종목 이상 검색되면 검색된 종목이 아래 조건이 되면 매수한다. if (현재가 >= 어제종가의 10% - nn틱) ==> oderbuy((어제종가의 10% - mm틱), 지정가) (xx2 개의 종목이 매수되면 매수 종료) 3. tt6 직후 미체결 매수 취소한다. 매도 종목 선정(매수 다음날 매수한다.) 4. 보유종목 모두 5. 보유종목 중 관심종목1에 있는 종목만 종목 매도 방법 6. 4와 5중 선택한 방법으로 매도 종목을 선정한다. 7. if (시가 >= 매수단가) ==> tt1 ~ tt2 에 nn1회 분할매도 if (시가 < 매수단가) ==> tt3 ~ tt4 에 nn2회 분할매도 분할매도 방법 총 cnt회 매도 마지막 매도는 시장가, 나머지회차는 최우선 1회차 보유량/cnt --2회차 직전 미체결 매도 취소 2회차 (새로 갱신된 보유량)/(cnt - 1) . . --m회차 직전 미체결 매도 취소 m회차 (새로 갱신된 보유량)/(cnt - m + 1) . . --cnt회차 직전 미체결 매도 취소 cnt회차 (새로 갱신된 보유량)/1
프로필 이미지
cs아빠
2019-09-26
3697
글번호 225007

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

프로필 이미지
wait113
2019-09-24
1
글번호 225006
답변완료

체결내역 데이터베이스 저장 관련 문의

질문 있습니다. for 문을 돌아가면서 분할매수한 종목들을 데이터베이스에 저장하는 코드를 작성했는데, 각 분할 차수의 마지막 종목만 들어가네요? for (var i = 1 ; i < buycount+1 ; i++) { ID = A1.OrderBuy(Main.GetOrderCode(ItemCode[i]), Math.floor(EachBal/ItemPrice[i]/InputVar1)- Math.floor((EachBal/ItemPrice[i])/InputVar1)%ItemUnits[i],Item[i].Bid(1),0); Main.MessageLog("ID: "+ ID +" 분할 매수 종목 : "+ Item[i].code + " 매수가: " + Item[i].Bid(1)); } 위와 같이 for문 돌면서 주문을 내고요, ID 정상적으로 찍히는 것은 로그로 확인했습니다. 한 종목 주문이 들어갈 때마다 주문응답객체가 생성되고, 체결되면 체결통보객체가 생성되므로, 아래 코드처럼 처리하면 데이터베이스에 순차적으로 저장될 것이라고 생각했습니다. function Main_OnOrderResponse(OrderResponse) { if(OrderResponse.orderID == ID && OrderResponse.orderKind == 1) { OrderNum_s.push(OrderResponse.orderNum); //매도주문 목록에 주문번호 저장 } else if(OrderResponse.orderID == ID && OrderResponse.orderKind == 2) { OrderNum_b.push(OrderResponse.orderNum); //매수주문 목록에 주문번호 저장 } } function Main_OnNotifyFill(NotifyFill) { var checkOrderBuy = OrderNum_b.indexOf(NotifyFill.orderNum); var checkOrderSell = OrderNum_s.indexOf(NotifyFill.orderNum); if( checkOrderSell != -1 && NotifyFill.orderKind == 1) //주문번호가 매도주문목록에 있으면 진행 { var stockcode = NotifyFill.code; var sellcount = NotifyFill.fillCount; var sellprice = NotifyFill.fillPrice; var orderkind = 1; var ordernumber = NotifyFill.orderNum; D1.Inse rt("db_fill VALUES (" + y_date + ", '"+ stockcode +"', 'A" + stockcode +"', "+ sellcount +", "+ sellprice +", " + orderkind + ", "+ ordernumber +")"); } else if(checkOrderBuy != -1 && NotifyFill.orderKind == 2) //주문번호가 매수주문목록에 있으면 진행 { var stockcode = NotifyFill.code; var buycount = NotifyFill.fillCount; var buyprice = NotifyFill.fillPrice; var orderkind = 2; var ordernumber = NotifyFill.orderNum; D1.Inse rt("db_fill VALUES (" + logdate + ", '"+ stockcode +"', 'A" + stockcode +"', "+ buycount +", "+ buyprice +", " + orderkind + ", "+ ordernumber +")"); } } 실제로 돌려보니까 각 회차 마지막 종목만 기록이 됩니다. 질문 1) 마지막 회차만 기록되는 원인이 혹시 for 문을 다 돌고 나서야 Main_OnOrderResponse가 작동하기 때문인가요? 질문 2) 주문응답객체와 체결통보객체는 새로운 주문/체결이 나올 때마다 기존의 것이 삭제되고 갱신되나요? 아니면 스팟 종료 시까지 축적되나요? 질문 3) 위의 경우처럼 for 문을 돌면서 주문이 들어가는 경우, 구동되는 다른 스팟 전략과 구별해서 이 스팟에서 체결된 주문만 데이터베이스에 기록되게 하려면, 어떤 방법을 추천하시나요? 질문 4) 혹시 OrderReplace로 정정 주문이 들어간 경우에도 주문응답객체가 생성되나요?
프로필 이미지
다인아빠
2019-09-23
3566
글번호 225005

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

프로필 이미지
토그
2019-09-20
3
글번호 225004