커뮤니티

부탁드립니다...

프로필 이미지
시온사랑
2025-02-25 10:29:43.0
312
글번호 220589
답변완료
수고하십니다... 문의내용은, 스팟에서 딱, 지정가에 매수하는 방법은 없나요? 예를 들어, 금일고가+1호가에 매수하는 방법은 없나요? 예를 들어, 금일고가가 9800원이면, 종목검색에서 (C >= DayHigh*0.997) 이렇게 검색하는데, 검색이 되면, 9810원에 지정해서, 그이상이나, 그이하가 아니라, 딱 9810원에 매수하는 방법은 없나요? 자동감시주문, 뭐이런거 안되나요??? 금일고가를 돌파하는 종목의 매수를 원하는데... 찾아보니, 예스는 안되는거 같아서요... 안되면, 안되는데... 9810원에 매수를 걸어놓는 방법은 정녕 없나요??? 있어야 됩니다...어떤방법이라도 좋으니, 갈켜주세요... 미리, 감사합니다... 수고하세요...ㅎ
예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-02-26 15:26:06.0

안녕하세요 예스스탁입니다. 1 해당 조건으로 종목검색하신 후에 검색된 종목에 대해 종목객체를 생성하시면 종목객체에 당일고가를 리턴해 주는 함수가 있습니다. 주문시 아래와 같이 지정하시면 당일고가+1틱 위 가격으로 지정가로 매수주문이 실행됩니다. Account1.OrderBuy(MarketData1.code, 1, MarketData1.high + MarketData1.GetTickSize()*1 , 0); 2 금일고가가 갱신이 될때 주문을 내시려면 종목검색 후 종목객체를 생성하고 각 종목객체의 실시간 체결이 발생할 때마다 금일고가 변동을 체크해서 금액고가에 변동이 있으면 매수주문 하게 하시면 됩니다. 아래는 간단한 가이스 수식입니다. 종목검색 --> 종목객체 생성 --> 시세변동 감시 --> 당일고가 변동이 있으면 주문 var MKList = []; var MK = [],DH1 = [], DH =[]; var OrderCount = []; var req; function Main_OnStart() { aa = 0; Main.ReqPowerSearch("사용자검색조건명"); } function Main_OnRcvItemList(aItemList, nCount) { Main.MessageList("OnRcvItemList",nCount); if (nCount >= 1) { MKList = []; if (MK.length == 0) { MKList = aItemList; } else { for (var a = 0; a < nCount; a++) { var Add = true; for (var b = 0; b < MK.length; b++) { if (aItemList[a] == MK[b].code) { Add = false; } } if (Add == true) { MKList.push(aItemList[a]); } } } Main.MessageList(MKList.length); Main.MessageList(MKList); if (MKList.length == 0) { Main.SetTimer(1, 5000); } else { req = 0; Main.MessageList(req,"종목객체요청",MKList[req]); Main.ReqMarketData(MKList[req]); } } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == MKList[req]) { Main.MessageList(req,"종목객체생성",MarketData.code); MK.push(MarketData); //해당종목 주문 단계는 0 OrderCount.push(0); DH = MarketData.high; //매수주문 Account1.OrderBuy(MarketData.code,1,MarketData.Ask(1) ,0); Main.MessageList(req,"매수주문",MarketData.code,MarketData.Ask(1)); req = req+1; if (req < MKList.length) { Main.MessageList(req,"종목객체요청",MKList[req]); Main.ReqMarketData(MKList[req]); } else { Main.MessageList(req,"종목객체생성끝"); Main.SetTimer(1, 5000); } } } function Main_OnTimer(nEventID) { var d = new Date(); HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (nEventID == 1) { Main.KillTimer(1); Main.ReqPowerSearch("사용자검색조건명1"); } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) //*체거 { //체결시세 수신 if (lUp*dateID == 20001) //*체거 { for (var i = 0; i < MK.length; i++) { //종목별 당일최고가 저장 if (sItemCode == MK[i].code) { //직전체결시세시 당일최고가 DH1[i] = DH[i]; //현재체결시세시 당일최고가 DH[i] = MK[i].high //당일최고가 갱신 if (OrderCount[i] == 0 && DH[i] > DH1[i]) { //당일최고가로 매수주문 Account1.OrderBuy(MarketData1.code, 1,DH[i] , 0); //해당 종목 매수했다는 의미로 1 OrderCount[i] = 1; } } } } } 즐거운 하루되세요 > 시온사랑 님이 쓴 글입니다. > 제목 : 부탁드립니다... > 수고하십니다... 문의내용은, 스팟에서 딱, 지정가에 매수하는 방법은 없나요? 예를 들어, 금일고가+1호가에 매수하는 방법은 없나요? 예를 들어, 금일고가가 9800원이면, 종목검색에서 (C >= DayHigh*0.997) 이렇게 검색하는데, 검색이 되면, 9810원에 지정해서, 그이상이나, 그이하가 아니라, 딱 9810원에 매수하는 방법은 없나요? 자동감시주문, 뭐이런거 안되나요??? 금일고가를 돌파하는 종목의 매수를 원하는데... 찾아보니, 예스는 안되는거 같아서요... 안되면, 안되는데... 9810원에 매수를 걸어놓는 방법은 정녕 없나요??? 있어야 됩니다...어떤방법이라도 좋으니, 갈켜주세요... 미리, 감사합니다... 수고하세요...ㅎ