커뮤니티

예스스팟 Q&A

지나리 님에 의해서 삭제되었습니다.

프로필 이미지
지나리
2025-02-06
2
글번호 226201
답변완료

수식 문의드립니다.

안녕하세요. 시스템 전략A를 모니터링하고 있다가.. 수익거래후 손실거래를 하면 다음신호에 진입하는 수식 부탁드립니다. 전략A는 청산을 SetStopProfittarget와 SetStopLoss 으로만 하고 있습니다. 진입신호만 참조해서 청산은 예스스팟에서 따로 명령할수 있으면 좋겠습니다. 예스스팟에서 전략실행할때 변수로 익절과 손절 틱으로 조절했음합니다.
프로필 이미지
율담
2025-02-04
393
글번호 226199
답변완료

수식 수정 부탁합니다

수고하십니다. 1. 옵션 종목을 매수하고 청산신호 발생시 아래(예시1)와 같이 잔고 모든종목을 청산하는데 2종목을 매수한 경우 해당 종목만 청산하는 수식 부탁합니다. 예를 들어 시스템1 325.0 매수, 시스템2 327.5 매수 일 경우 시스템1은 325.0 만 청산되는 수식, 시스템2는 327.5만 청산 각자 독립적 청산되는 수식 2. 양매수, 매수 경우 잔고 손익 일정금액 초과시 청산되는 수식으로 수정 부탁합니다. 작동 안됨(예시 2) 예시1)---------------------------- if (Signal.signalKind == 2 ) { Main.MessageList("매수청산신호발생"); { //잔고를 세팅 A1.SetBalance(CallOrderCode, 0); //보유종목수 var num = A1.GetTheNumberOfBalances(); if (num > 0) { for (var i = 0; i < num; i++) { A1.SetBalance(i); if (A1.Balance.count > 0) { if (A1.Balance.position == 2) { A1.OrderSell(A1.Balance.code,A1.Balance.count,0,1); } } } } } } 예시2)---------------------------- // 옵션매수포지션 전체 손익계산 var num = A1.GetTheNumberOfBalances(); var PLsum = 0; for(var i = 0; i < num; i++) { //잔고셋팅 A1.SetBalanceIndex(i); //매수포지션이고 옵션종목이고 if (A1.Balance.position == 2 && (A1.Balance.code.substring(0,1) == "2" || A1.Balance.code.substring(0,1) == "3")) { //각 옵션매수종목의 (평균단가-현재가)*수량*50만원을 누적 PLsum = PLsum + ((A1.Balance.avgUnitCost - A1.Balance.current)*A1.Balance.count)*250000; } } //손익이 +50만원이상이거나 -50만원 이하이면 if (PLsum >= 500000 || PLsum <= -500000) { for(var i = 0; i < num; i++) { //잔고셋팅 A1.SetBalanceIndex(i); //매수포지션이고 옵션종목이고 if (A1.Balance.position == 2 && (A1.Balance.code.substring(0,1) == "2" || A1.Balance.code.substring(0,1) == "3")) { A1.OrderSell(A1.Balance.code, A1.Balance.count, 0,1); } } } }
프로필 이미지
팡팡
2025-02-03
337
글번호 226198

하루삼프로 님에 의해서 삭제되었습니다.

프로필 이미지
하루삼프로
2025-02-03
24
글번호 226197
답변완료

주문수량 잘못입력이라고 오류가 뜹니다.

안녕하세요. 사진상에서 주문수량을 잘못입력하셨습니다라는 메세지와 함께 빨간색 동그라미 안의 오류코드같은 것이 뜨면서 잘되던 매수주문이 갑자기 안되었는데 어떤의미 인가요? 도와주세요. 감사합니다.
프로필 이미지
iinnn
2025-02-03
310
글번호 226196
답변완료

자동매도 코드 추가 부탁드려요

var timer5 = 2; // 2초 var 매수금 = 100000; var OrderList = []; var MKList = []; var req; // 종목 제한 수 (변수로 설정) var 종목제한수 = 1; function Main_OnStart() { // 1번 타이머, 1초 Main.SetTimer(1, timer5 * 1000); // 오늘 매수한 종목 관리 배열 초기화 MKList = []; } 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 < 151800) { // 종목검색 수행 Main.ReqPowerSearch("자동매수"); } 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.slice(0, 종목제한수); // 한정된 수만 가져오기 } 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]); // 제한 수를 넘는 경우 break if (OrderList.length >= 종목제한수) { break; } } } } 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(1)), 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 반환 } ---------------------------------------------------------------- 자동매도 할쑤있게 코드 추가 부탁드림미다 건강하세요
프로필 이미지
뽀스뽀스
2025-02-03
347
글번호 226195
답변완료

개인설정정보 저장 오류

안녕하세요. 제 노트북에서 개인설정정보 서버 저장하기 후 데스탑에서 개인설정정보 내려받기를 하면 파워종목 검색의 사용자 검색조건이 하나도 저장되지 않고 아무것도 없는 상태로 표시가 됩니다. 왜 그런지요?
프로필 이미지
카카피피
2025-01-31
299
글번호 226192
답변완료

수식 문의드립니다.

안녕하세요. 수식 문의드립니다. 예스트레이더로 전략A를 시험 운영중입니다. 예스스팟으로 전략A의 성능보고서를 불러올수가 있는지요? 예를들어 전략A의 승률이 50% 이상이면 자동매매시작, 50%이하로 떨어지면 자동매매중지. 혹은, 전략A의 거래내역을 불러와서 매매 신호로 사용할수 있을까요.
프로필 이미지
율담
2025-01-30
290
글번호 226191

하루삼프로 님에 의해서 삭제되었습니다.

프로필 이미지
하루삼프로
2025-01-24
41
글번호 226190

파라독스 님에 의해서 삭제되었습니다.

프로필 이미지
파라독스
2025-01-20
2
글번호 226188