커뮤니티

예스스팟 Q&A

답변완료

예스스팟 자동주문

아래는 현재 제가 쓰고있는 예스스팟입니다. 현재는 같은종목은 매수치 않게 되어 있는데 이것을 계좌에 있더라도 중복매수되게 고치고 싶습니다. 수정부탁드립니다. ====================================================================== var timer5 = 2; //5초 var 매수금 = 100000; var OrderList = []; var MKList = []; var req; function Main_OnStart() { //1번 타이머, 1초 Main.SetTimer(1, timer5*1000); // 오늘 매수한 종목 관리 배열 초기화 MKList = []; Main.MessageList("START"); } function Main_OnTimer(nEventID) { var d = new Date(); YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate(); HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (nEventID == 1 && HHMMSS > 090000 && HHMMSS < 150000) { //종목검색 수행 Main.ReqPowerSearch("60분봉 급소2") } if (nEventID == 2) { Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvItemList(aItemList, nCount) { Main.KillTimer(1); Main.MessageList("Main_OnRcvItemList:",nCount); OrderList = []; if (nCount >= 1) { if (MKList.length == 0) { OrderList = aItemList; } else { for (var a = 0; a < nCount; a++) { var Add = true; for (var b = 0; b < MKList.length; b++) { if (aItemList[a] == MKList[b].code) { Add = false; } } if (Add == true && !IsStockInAccount(aItemList[a])) { OrderList.push(aItemList[a]); } } } } if (OrderList.length == 0) { Main.SetTimer(1, timer5*1000); } else { req = 0; Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == OrderList[req]) { MKList.push(MarketData); // 계좌에 같은 종목이 있는지 확인 if (!IsStockInAccount(MarketData.code)) { // 계좌에 없는 경우에만 매수 //Account1.OrderBuy(MarketData.code,1,0,1); Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(3)),0,1); // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); //지정가로 주문하고자 하시면 주문함수 내용을 위와 같이 변경하시면 됩니다. Main.MessageList(MarketData.code + " 주식을 매수합니다."); } else { Main.MessageList( MarketData.code + " 주식은 이미 계좌에 있으므로 매수하지 않습니다."); } req = req+1; if (req < OrderList.length) { var aa = Main.ReqMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, timer5*1000); } } } function IsStockInAccount(stockCode) { // 계좌에 해당 종목이 있는지 확인하는 함수 var numberOfBalances = Account1.GetTheNumberOfBalances(); for (var i = 0; i < numberOfBalances; i++) { Account1.SetBalance(i); if (stockCode == Account1.Balance.code) { return true; // 계좌에 같은 종목이 있으면 true 반환 } } return false; // 계좌에 같은 종목이 없으면 false 반환 }
프로필 이미지
ksks
2024-08-08
743
글번호 226071

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

프로필 이미지
ksks
2024-08-07
3
글번호 226070
답변완료

ai code program

yl로 코드 작성에 알맞는 국내외 ai로 코드를 완성하는 ai 무유료 프로그램들?
프로필 이미지
aw
2024-08-06
561
글번호 226069
답변완료

book discovery

'「한권으로 끝내는 시스템 트레이딩`」 책을 구하는 방법?
프로필 이미지
aw
2024-08-06
479
글번호 226068
답변완료

파워종목검색에서 총거래대금? 거래대금? 무슨 차이일까요?

파워종목검색에서 총거래대금, 거래대금이 나뉘어져 있는데, 둘간 차이가 무엇일까요?
프로필 이미지
푸른비행
2024-07-30
501
글번호 226061
답변완료

정정주문 테스트 하다가 발생한 에러

var ID; var Number; function Main_OnStart() { ID = A1.OrderSell(MarketData1.code, 1, MarketData1.Ask(9),0); } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID ) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if ( nEventID ==1 ) { ID = A1.OrderReplacePrice(Number,MarketData1.Ask(10)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } 해외선물 유가로 했는데 호가유형 구분값 오류라고 하는데 이게 무엇일까요?
프로필 이미지
2024-07-26
607
글번호 226060
답변완료

Option.GetATMCallRecent(-1) 테스트중 행사가 변경 이유 문의

예스스팟 모의 테스트 하는 데 갑자기 콜옵션 행사가 다른게 잡혀서 문의드립니다. 372.5 -> 370 왜그런걸까요? function C1_OnRiseSignal(Signal) { if ( Signal.signalKind == 1) { Main.OrderBuy( A1.number,Option.GetATMCallRecent(-1),1, 0, 1); } if ( Signal.signalKind == 3 ) { Main.OrderSell(A1.number,Option.GetATMCallRecent(-1), 1, 0, 1); } Main.MessageLog(Signal.signalKind); }
프로필 이미지
2024-07-26
608
글번호 226059
답변완료

MarketData.GetPrevClose(1) 의미 확인 부탁드려요

MarketData의 prevClose와 GetPrevClose(1)은 같은게 아닌가요? 전일 종가, 전일봉 종가.. 두 값이 다르게 나와서 문의드려요. 특히나 GetPrevClose는 값이 영 이상하네요.ㅠ 각각의 의미, 차이 문의드립니다
프로필 이미지
푸른비행
2024-07-26
535
글번호 226058

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

프로필 이미지
1000djr
2024-07-25
1
글번호 226057
답변완료

예스스팟 객체 업데이트 요청(ReqDeposit, GetBalanceETCinfo)

한국투자증권 사용중입니다. 1. 계좌객체 중 ReqDeposit(currency)에 통화코드 업데이트 요청 드립니다. 예수금현황 통화코드와 currency 파라미터가 다릅니다. TOT_USD도 필요해서 스팟에 추가부탁드립니다. 수정제안 : TOT -> TOT_KRW, TOT_USD 2. 계좌객체 중 GetBalanceETCinfo(nKind)에 nKind 내용 업데이트 요청 드립니다. nKind에 적혀있는 설명과 실제로 조회되는 내용이 다릅니다. 예를들면 11번 주문가능금액 조회하면 다른 값이 출력됩니다. 수정부탁드립니다.
프로필 이미지
보글
2024-07-25
578
글번호 226056