커뮤니티

예스스팟 Q&A

답변완료

수정부탁드려요

검색된 각 종목마다 현 잔고의 10분의 1만큼만 사고 싶은데 수정부탁드려요 function Main_OnStart() { //1번 타이머, 60초 Main.SetTimer(1, 2000); } function Main_OnTimer(nEventID) { if (nEventID == 1) { //종목검색 수행 Main.ReqPowerSearch("3") } } //종목검색 완료 function Main_OnRcvItemList(aItemList, nCount) { //1종목 이상 검색되면 if (nCount >= 1) { //리스트 첫종목부터 마지막종목까지 순차적으로 //1번 타이머 동작 for (var i = 0; i < nCount; i++) { //잔고를 셋팅 Account1.SetBalance(aItemList[i],0); //보유수량이 없으면 if (Account1.Balance.count < 1) { //매수주문 Account1.OrderBuy(aItemList[i], 3,0,1); } } } }
프로필 이미지
아무다
2024-03-12
579
글번호 225962

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다

프로필 이미지
미시타이
2024-03-04
16
글번호 225961
0
답변완료

위클리 옵션 주체별 동향

언제쯤 탑재될까요?
프로필 이미지
오해피데이
2024-03-02
547
글번호 225960
답변완료

자동주문 프로그램 실행중 나온 에러 의미 ?

안녕하세요. 스팟 프로그램 실행 중 "ERROR code return -21" 라는 에러메시지 나왔는데 원인이 뭘까요 ?
프로필 이미지
기계학습
2024-02-28
621
글번호 225958
답변완료

매도수식 문의 드립니다.

기존에는 예스스팟 종목검색으로 매수를 하고 2103 TS창에서 신규편입종목 TS를 설정했는데 TS내 기능이 좀 부족해서 수식을 만들었습니다. 그런데 작동이 안돼서 수정좀 문의 드립니다. 1. 2103 TS창내 기능은 4% 수익이던 10%수익이던 제가설정한 익절 2%에서 매도를 하는데 저는 직장인이라 차트를 자주 못봐서 수익의 N%를 익절 라인으로 설정 하고 싶습니다. 2. N%를 40%설정시 4%수익일때 1.6% , 10%수익일때 4% 로 익절 라인을 설정하고 싶습니다. 3.신규종목, 기존종목 모두 N%를 설정 하고 싶습니다. 4.TS 시작 수익을 A%로 설정 하고 싶습니다. 아래는 제가 게시판 내용 찾아 가면서 작성해본 예스스팟입니다. 현재 작동을 안하는데 수정좀 부탁드릴께요. up*date는 금지어라 *처리 했습니다. var Rcv = 0; var Item = []; var EP = []; // 진입가격 var HH = []; // 최고가 var lastRequestTime = 0; // 마지막 요청 시간을 추적하기 위한 변수 function Main_OnStart() { Rcv = 0; // 기존 보유 종목에 대한 정보 초기화 및 요청 for (var j = 0; j < Account1.Balance.count; j++) { var sItemCode = Account1.Balance[j].code; EP[Rcv] = Account1.Balance[j].avgUnitCost; HH[Rcv] = Account1.Balance[j].avgUnitCost; // 초기 최고가를 진입가로 설정 Main.ReqMarketData(sItemCode, 0, 0); } } function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) { // 잔고에 새로운 종목 편입 if (sAccntNum == Account1.number && lUp*dateID == 30001) { // 편입된 종목의 진입가와 최고가를 구할 기초값 저장 후 종목객체 요청 Account1.SetBalance(sItemCode, 0); if (Account1.Balance.count) { EP[Rcv] = Account1.Balance.avgUnitCost; HH[Rcv] = Account1.Balance.avgUnitCost; // 초기 최고가를 진입가로 설정 Main.ReqMarketData(sItemCode, 0, 0); } } } function Main_OnRcvMarketData(MarketData) { Item[Rcv] = MarketData; Rcv++; } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { var currentTime = new Date().getTime(); if (currentTime - lastRequestTime >= 5000) { // 5초가 지났는지 확인 lastRequestTime = currentTime; // 마지막 요청 시간 업데이트 processMarketUp*date(sItemCode, lUp*dateID); } else { setTimeout(function() { Main_OnUp*dateMarket(sItemCode, lUp*dateID); }, 5000 - (currentTime - lastRequestTime)); } } function processMarketUp*date(sItemCode, lUp*dateID) { if (lUp*dateID == 20001) { for (var i = 0; i < Item.length; i++) { if (Item[i].code == sItemCode) { // 잔고편입 이후의 최고가 계산 if (Item[i].current > HH[i]) { HH[i] = Item[i].current; var profitRate = (HH[i] - EP[i]) / EP[i]; if (profitRate >= 0.0382) { var tsRate = profitRate * 0.30; if (Item[i].current <= HH[i] * (1 - tsRate)) { Account1.SetBalance(Item[i].code, 0); if (Account1.Balance.count > 0) { Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, Item[i].Ask(5), 0); Main.RemoveMarketData(Item[i]); } } } } } } } }
프로필 이미지
카진
2024-02-28
622
글번호 225957

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

프로필 이미지
카진
2024-02-27
0
글번호 225956
답변완료

[글번호 1034] 관련 추가 질문

안녕하세요? 1034에서 요청하신 아래 내용으로 ----------------------------------------------------- 2. 당일 매매를 원칙으로 작성을 하려고 합니다. A. 매도 조건은 (Timer는 어떤 단위가 좋을 것 같은지요?) 손절은 -3% - 보유수량 30%, -5% - 보유수량 40%, -7% - 보유수량 전량 수익은 3% - 보유수량 30%, 5% - 보유수량 40%, 7% - 보유수량 전량 Trailing Stop 매도: 당일 고점 대비 -3% (보유수량 50%) - 스팟으로 가능 할까요? 전일 종가 이하 : 매수가 전일 종가 이상 이면 보유수량 50% 손절 - 스팟으로 가능 할까요? B. 장종료 동시호가 전량 매도(수익,손해 나더라도) C. 상한가 전량매도(수익에 상관없이) ------------------------------------------------------------------------- 수식을 변경 요청 드립니다. 윗글의 경우는 종목이 검색되면 function Main_OnRcvMarketData(MarketData) 함수 내에서 매수를 실행하는 경우에 대해서 작성이 되었는데, 저는 파워검색으로 검색된 종목에 확장차트 시스템식을 적용해서 나오는 매수/매도 시그날을 이용해서 매매하게 코드가 되어 있습니다. 위의 예제를 참고해서 변경해 보려고 시도해 보고 있는데, 아직 실력이 미천하여 잘 안 되고 있습니다. 변경 부탁 드립니다. 아래는 제가 사용하고 있는 코드의 function Main_OnRiseSignal(ChartEx, Signal) 부분입니다. ---------------------------------------------------------------------------------- function Main_OnRiseSignal(ChartEx, Signal) { var d = new Date(); HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //신호발생 종목에 대해 잔고셋팅 종목코드 = Main.GetOrderCode(Signal.code) Account1.SetBalance(종목코드 ,0); var buyable = 1; // 매수가능 종목으로 설정, 당일 매수 리스트에 있으면 아래 구문에서 0으로 설정 if (BuyList.length > 0) { for (var i = 0; i < Buylist.length; i++) { if (BuyList[i] == 종목코드) { buyable = 0; // 당일 매수했던 종목 재매수 금지 } } } //매수신호이고 잔고가 없고, 당일 매수한 적이 없을 때 매수한다. if (Signal.signalKind == 1 && Account1.Balance.count == 0 && buyable == 1) { //Account1.OrderBuy(Main.GetOrderCode(ChartEx.GetCode(1)),1,0,1); // Account1.OrderBuy(Main.GetOrderCode(Signal.code),1,0,1); // Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(100000/ChartEx.GetClose(1,0)),0,1); Account1.OrderBuy(종목코드, 1, 0,1); //단주 매수 1: 시장가 BuyList.push(종목코드); // 종목코드를 저장한다. Main.MessageList(HHMMSS,"매수주문s1 : ",종목코드); // Main.MessageLog("매수주문"); //1주종목 0현재봉 0주문가격 1시장가 } if (Signal.signalKind == 2) { //전체미체결주문 갯수 var num = Account1.GetTheNumberOfUnfills(); //전체 미체결수 만큼 루프를 돌면서 for (var i = 0; i < num; i++) { //미체결을 하나씩 셋팅하고 Account1.SetUnfill(i); //미체결종목이 신호종목과 같고 미체결수량이 있으면 if (Account1.Unfill.code == Main.GetOrderCode(Signal.code) && Account1.Unfill.count > 0) { Account1.OrderCancel(Account1.Unfill.orderNum); } } //잔고수량만큼만 매도 if (Account1.Balance.count > 0) { //Account1.OrderSell(Main.GetOrderCode(ChartEx.GetCode(1)),1,0,1); // Account1.OrderSell(Main.GetOrderCode(Signal.code),Account1.Balance.count,0,1); Account1.OrderSell(Main.GetOrderCode(Signal.code),Account1.Balance.count,0,1); // 1: 시장가 Main.MessageList(HHMMSS, "매도주문s2 : ",Main.GetOrderCode(Signal.code),Account1.Balance.count); } } } --------------------------------------------------------------------------------- 바쁘시겠지만, 수정 부탁 드립니다.
프로필 이미지
원초로
2024-02-24
549
글번호 225955
답변완료

확장차트에 시스템 적용 시 진입조건 만족 시점 관련 질문입니다.

시스템식을 확장차트에 적용해서 단주매수 테스트 중입니다. 예를 들어 파워검색 조건을 10:00에 만족해서 확장차트를 생성하였는데, 확장차트에서 매수 조건은 이미 9:30봉에서 만족한 경우 파워검색식에 검색되자마자 매수를 하는 것 같습니다. 이런 경우는 매수하지 않고 파워검색식 조건 만족 이후에 발생한 매수시그날에서만 매수하게 하려면 어떻게 해야 하는지 알려주시면 감사하겠습니다.
프로필 이미지
원초로
2024-02-23
528
글번호 225954

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

프로필 이미지
카진
2024-02-23
9
글번호 225953

구름달 님에 의해서 삭제되었습니다.

프로필 이미지
구름달
2024-02-22
4
글번호 225952