커뮤니티

예스스팟 Q&A

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

프로필 이미지
tktmsl
2022-07-30
10
글번호 225694

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

프로필 이미지
tktmsl
2022-07-29
12
글번호 225693

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

프로필 이미지
oldforce
2022-07-29
17
글번호 225691
답변완료

수식 변경부탁드려요

종목 20개 설정해서 예수금/종목수로 매수 금액 설정하고 싶어요 그리고 주문이 들어가 있고 사지지 않으면 매수 금지 설정 부탁드려요( 예로 VI 걸렸을때 계속 주문이 들어가는 현상을 막고 싶어요) //스팟 첫 실행시 function Main_OnStart() { //1번 타이머, 60초 Main.SetTimer(1, 10000); } function Main_OnTimer(nEventID) { //1번 타이머 동작 if (nEventID == 1) { //종목검색 수행 Main.ReqPowerSearch("1") } } //종목검색 완료 function Main_OnRcvItemList(aItemList, nCount) { //1종목 이상 검색되면 if (nCount >= 1) { //리스트 첫종목부터 마지막종목까지 순차적으로 for (var i = 0; i < nCount; i++) { //잔고를 셋팅 account1.SetBalance(aItemList[i],0); //보유수량이 없으면 if (account1.Balance.count == 0) { //매수주문 account1.OrderBuy(aItemList[i], 1,0,1); } } } }
프로필 이미지
아무다
2022-08-12
1420
글번호 225685
답변완료

청산수식 부탁 드려요.

안녕하세요. 매뉴얼이나 게시판을 봐도 이해하기 어렵고, 답답해서 도움 부탁드립니다. 수동진입후 청산하는 수식인데 유로달러 선물 기준으로 1. 수동진입후 0.001 포인후 이익이면 매수, 매도 포지션 청산 2. 수동진입후 0.003 포인트 손해면 매수 매도 포지션 청산 3. 트레일링 스탑 - 0.001포인트 상승후 0.001포인트 하락하면 매수 매도 포인트 청산 이 세가지입니다. 도움주시면 감사하겠습니다. 아래 수식 게시판 보고 작성해봤습니다. var Rcv = 0; var Item = []; var EP = []; function Main_OnStart() { Rcv = 0; } //계좌에 변동이 생김 function Main_OnUp*dateAccount(sAccntNum, sItemCode, lUp*dateID) {AccountAccount //잔고에 새로운 종목편입 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 = Rcv+1; } //시세변 function Main_OnU*pdateMarket(sItemCode, lUp*dateID) { if (lUp*dateID == 20001) { for(var i = 0; i < Item.length ; i++) { if (Item[i].code == sItemCode) { if (Account1.Balance.position == 2) { //잔고편입 이후의 최고가 계산 if (Item[i].current > HH) { HH = Item[i].current; } //최고가가 진입단가 대비 0.001 이상이고 //현재가가 진입단대 대비 0.001 이하이면 매도 if (HH >= EP[i]+0.001 && Item[i].current <= HH[i]+0.001) { 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]); } } //현재가가 진입단대 대비 0.001 이상이면 매도 청산 if (Item[i].current >= HH[i]+0.001) { 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]); } } //현재가가 진입단대 대비 0.003 이하이면 매도 if (Item[i].current <= HH[i]+0.003) { 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]); } } } if (Account1.Balance.position == 1) { //잔고편입 이후의 최고가 계산 if (Item[i].current < LL) { LL = Item[i].current; } //최고가가 진입단가 대비 + 0.001이하이고 //현재가가 진입단대 대비 + 0.001 이상이면 매도 if (LL <= EP[i]+0.001 && Item[i].current >= LL[i]+0.001) { Account1.SetBalance(Item[i].code, 0); if (Account1.Balance.count > 0) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,Item[i].Ask(5),0); Main.RemoveMarketData(Item[i]); } } //현재가가 진입단대 대비 + 0.001 이상이면 매도 청산 if (Item[i].current >= LL[i]+0.001) { Account1.SetBalance(Item[i].code, 0); if (Account1.Balance.count > 0) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,Item[i].Ask(5),0); Main.RemoveMarketData(Item[i]); } } //최고가가 진입단가 대비 + 0.003이하이면 매도 청산 if (LL <= EP[i]+0.003 ) { Account1.SetBalance(Item[i].code, 0); if (Account1.Balance.count > 0) { Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,Item[i].Ask(5),0); Main.RemoveMarketData(Item[i]); } } } } } } }
프로필 이미지
헝글베리핀
2022-07-20
1442
글번호 225684
답변완료

예스트레드

예스트레드로 사용중인 챠트와 참조챠트, 지표를 변경없이 그대로 이용해서 주문부분만 예스팟으로 작성 가능한가요? 예스트레드로 불가능 한부분이 많아서 예스팟을 추가해 수정해 보려합니다. 혹, 예스팟에서 프로그램 동작 중 시작/종료 또는 수량등의 버튼 입력을 받아 처리할 수 있는 기능은 없나요?
프로필 이미지
와글이
2022-07-18
1341
글번호 225683
답변완료

예스스팟 전략 실행시키면 버벅댑니다. 오늘부터 갑자기 그럽니다.

안녕하세요. 언제나 친절한 답변에 감사드립니다. 어제와 동일한 예스스팟 수식을 실행중입니다. 어제는 속도에 아무 문제 없이 잘 돌아갔는데 오늘부터 갑자기 연산량이 밀리는 듯한 모습(버벅대기)을 보이면 속도가 느려지고 그에 따라 hts가 잘 응답하지 못합니다. 한국투자증권이프렌드 예스트레이더 내의 예스스팟 사용중입니다. 다음은 제가 실행한 수식들 입니다. 수식1을 오일,골드,유로 종목 별로 변형해 3개 동시 실행중이고 수식2도 오일,골드,유로 종목 별로 변형해 3개 동시 실행하여 매매하는 방식입니다.
프로필 이미지
로봇짱
2022-07-26
1300
글번호 225682
답변완료

예스스팟에서 예스랭귀지로 객체를 넘겨줄 수 있을까요?

안녕하세요. 전략실행차트에 외부 DB에서 넘겨받은 값을 예스랭귀지에 있는 plot 함수를 이용해서 추세선을 표시하고 싶은데 예스스팟에서는 외부 DB와 연동하여 데이터를 넘겨받을 수는 있지만 예스랭귀지의 plot 함수같은 추세선을 그릴수가 없고 예스랭귀지에서는 외부 DB와 연동하여 데이터를 받을 수가 없는데 혹시 예스스팟에서 외부DB로 연동된 데이터 객체를 예스랭귀지쪽으로 넘겨줄 수 있는지요? 혹은 예스스팟에서 추세선을 그릴 수 있는지요?
프로필 이미지
캐논유저
2022-07-06
1379
글번호 225681
답변완료

주문가격 수정 문의드립니다.

var BuyPositionCount; var SellPositionCount; var BID, SID; var Buy_price,Sell_price,Center_price; var C1_low,C1_high,C1_current; function Main_OnStart() { Main.MessageLog("시작"); Main.MessageLog(M1.code); Main.SetTimer(1, 5000); Buy_price = 0; Sell_price = 0; BID = 0; SID = 0; } function Main_OnTimer(nEventID) { if (nEventID == 1) { BuyPositionCount = A1.GetTotalCount(0, 2); // 매수수량 체크 SellPositionCount = A1.GetTotalCount(0, 1); // 매도수량체크 C1_OnBarAppended(); if ( SellPositionCount == 0 && SID == 0 ) { SID = A1.OrderSell(M1.code, Vol,Sell_price,1); } if ( SID > 0 && Sell_price != ) { SID = A1.OrderReplacePrice(SID,Sell_price); } } } function C1_OnBarAppended(ndata) { var UP_exCenterZone = C1.GetIndicatorData("3L chart - 480", 6, 0); var DN_exCenterZone = C1.GetIndicatorData("3L chart - 480", 7, 0); var Center = C1.GetIndicatorData("3L chart - 480", 1, 0); var bar_close = C1.GetClose(1,0); var bar_high = C1.GetHigh(1, 0); var bar_low = C1.GetLow(1, 0); Buy_price = UP_exCenterZone; Sell_price = DN_exCenterZone; Center_price = Center; C1_low = bar_low; C1_high = bar_high; C1_current = bar_close; } 주문을 최초로 넣고 현재 진입조건가격이 최초 주문했던 가격과 비교해서 달라질 경우 어떻게 해야하는지 모르겠습니다. 도움좀 부탁드리겠습니다.
프로필 이미지
토그
2022-06-20
1430
글번호 225680
답변완료

문의드립니다

아직 초보라서 잘 몰라서 그러는데 예스트레이더로 코스닥과 코스피를 거래를하는데 전체 종목에 관해서 자동매매가 되는지 궁금합니다??? 쉽게 5일 20일 골든크로스시 매수라고 한다면 코스피나 코스닥에 상장된 종목중 골든크로스가 발생한 종목들을 매수 할수 있는지 궁금합니다
프로필 이미지
비스코
2022-06-16
1375
글번호 225679