커뮤니티

예스스팟 Q&A

답변완료

2508번 재질문에 대한 수식.부탁드려요

안녕하세요 2508번 재질문에 대한 검토 수정 부탁합니다
프로필 이미지
하늘구름
2024-04-23
572
글번호 225997
답변완료

차트신호시 특정가격 옵션 현재가 매수

답변 수식 고맙습니다. 아래수식은 특정시간대, 특정조건에서 주문이 나가는 수식입니다. 이 수식을 특정시간, 특정조건은 사용하지 않고 차트신호로 진입하고 차트신호로 청산하는 것으로 교체하고 싶습니다. //차트에서 신호가 발생하면 function Chart1_OnRiseSignal(Signal) { //해당 신호가 매수신호이면 if (Signal.signalKind == 1) { OrderBuy } } if (Signal.signalKind == 2) { OrderSell } 차트에서 진입신호 발생 후 실시간으로 0.05 체결이 발생한 행사가를 찾아 주문을 내고 익절하는 내용까지는 spot 수식 그대로 보존해 주십시오. 다만, 차트신호에 포함되는 내용인 재진입 건 내용과 142500 시간대 청산주문 내용은 삭제해 주십시요. 그리고 진입주문과 청산주문에 시장가 주문을 주석으로 병행하여 주시기 바랍니다. 시세가 빠르게 갈 때는 지정가로는 체결이 안되더군요. 항상 고맙습니다. *********************************************************************************** 안녕하세요 예스스탁입니다. 스팟수식은 가이드입니다. 아래 가이드 내용 참고하시기 바랍니다. 1 스크립트 객체설정 옵션객체 추가 --> 객체명 Option1, 월물선택 종목객체 추가 --> 객체명 MarketData1, 연결선물로 지정 계좌객체 추가 --> 객체명 Account1, 주문낼 계좌번호 지정 2 영문 업데이트가 게시판 금침어라 중간에 *이 삽입되어 있습니다. * 제거하시고 적용하셔야 합니다. 3 var BuyPrice = 0.05, ExitPrice = 0.5; var StartTime = 103000, EndTime = 142500; var List = [],MK = [],OD = []; var req, Exit, ReqCom; function Main_OnStart() { List = []; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { List.push(Option1.GetATMCallRecent(i)); } Main.MessageList("콜옵션종목수:",List.length); req = 0; if (List.length > 0) { Main.MessageList("종목객체요청:",req,List.length); Main.ReqMarketData(List[req]); } Exit = false; ReqCom = false; } function Main_OnRcvMarketData(MarketData) { if (List[req] == MarketData.code) { Main.MessageList("종목객체생성:",req,MarketData.code); MK.push(MarketData); OD.push(0); req = req+1; if (req < List.length) { Main.MessageList("종목객체요청:",req,List[req]); var S = Main.ReqMarketData(List[req]); if (S == -1) { Main.SetTimer(1, 15000); Main.MessageList("종목객체생성 제한 --> 15초 뒤 다시 요청:"); } } else { Main.MessageList("종목객체생성완료"); ReqCom = true; } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.KillTimer(1); Main.MessageList("종목객체 재요청:",req,List[req]); Main.ReqMarketData(List[req]); } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (HHMMSS >= StartTime && HHMMSS < EndTime && MarketData1.current <= MarketData1.open - 2.5 && ReqCom == true && Exit == false && lUp*dateID == 20001 )//*제거 { Main.MessageList(HHMMSS,Exit); for (var i = 0; i < MK.length; i++) { if (OD[i] == 0) { if (MK[i].current == BuyPrice) { OD[i] = 1; Account1.OrderBuy(MK[i].code, 1,MK[i].current,0); } } else { if (MK[i].current == ExitPrice) { OD[i] = 0; Account1.SetBalance(MK[i].code,0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(MK[i].code, 1,MK[i].current,0); } } } } } if (HHMMSS >= EndTime && Exit == false) { Main.MessageList(HHMMSS,Exit); Exit = true; //미체결주문수 var UF = Account1.GetTheNumberOfUnfills(); Main.MessageList(HHMMSS,"미체결수",UF); if (UF > 0) { //모든 옵션 미체결 취소 for (var i = 0; i < UF; i++) { Account1.SetUnfill(i) if (Account1.Unfill.code != MarketData1.code && Account1.Unfill.count > 0) { Account1.OrderCancel(Account1.Unfill.orderNum); Main.MessageList(HHMMSS,"OrderCancel",Account1.Unfill.orderNum); } } } //보유종목수 var BB = Account1.GetTheNumberOfBalances() Main.MessageList(HHMMSS,"보유종목수",BB); if (BB > 0) { //잔고의 모든 옵션매수청산 for (var i = 0; i < BB; i++) { Account1.SetBalance(i); if (Account1.Balance.code != MarketData1.code && Account1.Balance.count > 0 && Account1.Balance.position == 2) { //매수3호가로 잔고잔량 매수청산(매도주문) Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,Option1.GetBid(Account1.Balance.code, 5) ,0); Main.MessageList(HHMMSS,"OrderSell",Account1.Balance.code); } } } } } 즐거운 하루되세요
프로필 이미지
좌오비우오비
2024-11-15
587
글번호 225996
답변완료

업비트 종목 지워주세요

업비트 종목 지워주세요 안녕하세요 귀사에 무궁한 발전을 기원합니다 어풀 잘사용하고있어요 빛섬은 종목업데이터가 바른데 업비트는 이야기하는분이 없나봐요 상장 취소된 종목들 거슬립니다 썸씽 풀레이템 두종목 지원주세여 부탁드립니다
프로필 이미지
노령
2024-04-21
592
글번호 225995
답변완료

보완 부탁드립니다...^^

다음 조건에 보유종목 수를 원하는 대로 수정하여 사용 할 수 있게 보완하여 주십시요? 예를 들어 10개로 제한할 경우, 10개 종목이 매수되어 잔고로 남아 있을 경우에는 더 이상 매수되지 않게 하고, 만약 2종목이 매도되어 8종목 남아 있다면, 2종목이 추가로 매수되어 10종목을 유지할 수 있게 할 수 있을까요? 가능하다면 보완 부탁드립니다. 감사합니다... -다음- var 타이머간격 = 5; // 5초 var 매수금 = 100000 var OrderList = []; var MKList = []; var req; function Main_OnStart() { // 1번 타이머, 5초 Main.SetTimer(1, 타이머간격*1000); } 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 >= 90000 && HHMMSS < 151500) { // 종목검색 실행 Main.ReqPowerSearch("00. 예스스팟_Rsi 다이버전스"); } if (nEventID == 2) { Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvItemList(aItemList, nCount) { Main.KillTimer(1); 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) { OrderList.push(aItemList[a]); } } } } if (OrderList.length == 0) { Main.SetTimer(1, 타이머간격*1000); } else { req = 0; Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == OrderList[req]) { MKList.push(MarketData); Account1.OrderBuy(MarketData.code,1,0,1); // 1주를 시장가 주문 // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); // 10만원 시장가 주문 // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); // 10만원 지정가 주문 // 지정가로 주문하고자 하시면 주문함수 내용을 위와 같이 변경하시면 됩니다. req = req+1; if (req < OrderList.length) { var aa = Main.ReqMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, 타이머간격*1000); } } }
프로필 이미지
비밀통로
2024-04-16
609
글번호 225987
답변완료

전송오류 주문 확인 요청

주문메시지에 아래의 메시지가 뜨는 경우는 어떤 이유인가요? [전송오류][G50210]해당 거래소에 발가능한 주문유형입니다.
프로필 이미지
minve
2024-04-13
493
글번호 225982
답변완료

Database의 저장프로시져를 call 하려면

안녕하세요? Database의 저장프로시져를 call 하려면 어떻게 해야 하나요?
프로필 이미지
하얀햇살
2024-04-11
604
글번호 225981
답변완료

예스트레이터 프로그램이 자꾸 꺼집니다.

수고 많으십니다. 전화로 상담드렸던 회원입니다. 제가 예스트레이더를 6년째 사용하고 있는데, 보통 6시 40분에 로그인 하고 프로그램을 구동합니다. 그런데 최근 1달전부터 장 시작전에 예스트레이더 프로그램이 꺼지는 현상이 반복적으로 생기는데 점점 그 빈도가 잦아져서 요 며칠 사이에는 하루에도 몇번 씩 꺼지고 있습니다. 오늘 아침에도 6시 40분에 로그인 했다가 7시 30분 경에 확인해보니 꺼져 있어서 다시 로그인 했는데 8시 50분경에 확인해보니 또 꺼져 있었습니다. 그래서 전화드려 문의한 것입니다. 원격으로 살펴보시고 .dmp파일을 올리면 검토해 보시겠다고 하여 파일 첨부해서 올립니다. 참고로 제가 사용하는 컴퓨터는 아마존 웹 써비스(AWS)에서 윈도우 2022 서버를 사용하고 있습니다. 같은 프로그램을 다른 AWS에서 두개 돌리고 있는데 거기서는 전혀 문제가 없습니다. 아마존 기술지원팀에서는 프로그램 문제라고 프로그램 회사에 문의하라고 한 상태입니다. 이 문제 꼭 해결해주시기 바랍니다. 부탁드립니다. 감사합니다.
프로필 이미지
엄지아빠
2024-03-29
659
글번호 225979
답변완료

문의드립니다.

안녕하세요. 만약 옵션을 매수 중인 상황(1종목)에서, 계좌평가손익이 -30%인 경우 보유 옵션을 매도하라는 로직을 하고 싶은데, 다음과 같이 수식을 작성해 보았는데, 괜찮은지 확인 부탁드립니다. 감사합니다. if ( A1.Balance.count > 0 && A1.Balance.position == 2 ) { if ( A1.Balance.current <= A1.Balance.avgUnitCost*0.7 ) { A1.OrderSell(A1.Balance.code, A1.Balance.count, 0, 1); } }
프로필 이미지
지나리
2024-03-29
576
글번호 225978
답변완료

문의드림니다

선물 분봉 당일매매 수식을 이용해서 옵션매수하는 수식부탁드림니다 즉 선물 매수신호시 콜옵션(3.0이하 중 3.0에 가장 가까운 가격) 매수하고 선물 매도신호시 풋옵션(3.0이하 중 3.0에 가장 가까운 가격) 매수하고 선물 매수청산 신호시 콜옵션 매수청산 선물 매도청산 신호시 풋옵션 매수청산 하는 수식 부탁드림니다
프로필 이미지
mao
2024-03-26
549
글번호 225977
답변완료

장후시간외 샘플코드 요청

안녕하세요, 바쁘신 와중에도 이 글을 읽어주셔서 진심으로 감사드립니다. 요청을 하나 드리고 싶습니다. 장 마감 후 시간외 거래 시간인 오후 4시부터 6시 사이에, 10분 간격으로 진행되는 동시호가 체결 시점 1분 전에 예상 체결 가격이 상한가에 도달하는 종목들을 자동으로 탐지하고, 해당 종목에 대해 매수 주문을 실행하는 프로그램을 개발하고 싶습니다. 예를 들어, 오후 4시 9분에 시간외 거래에서 예상 체결 가격이 상한가인 종목들을 찾아내고 바로 매수 주문을 넣는 로직을 구현하고 싶어요. 이러한 기능을 구현하는 것이 가능할까요? 가능하다면, 관련된 샘플 코드를 제공해주시면 정말로 큰 도움이 될 것 같습니다.
프로필 이미지
깅창
2024-03-25
577
글번호 225976