커뮤니티

예스스팟 Q&A

답변완료

해당 서비스를 찾을수 없습니다.... 라고 뜹니다.

안녕하세요. 언제나 친절한 답변에 감사드립니다. 지난 주까지 아무 문제 없던 수식이 변한게 아무것도 없는데 오늘 해보니 안됩니다. "해당 서비스를 찾을수 없습니다."라는 오류 메세지가 뜹니다. 확인 부탁드립니다.
프로필 이미지
로봇짱
1243
글번호 225699

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

프로필 이미지
tktmsl
1012
글번호 225697

라스트전투 님에 의해서 삭제되었습니다.

프로필 이미지
라스트전투
11
글번호 225696
답변완료

종목의 현재금액, 누적거래량을 가져올때

안녕하세요 특정 종목의 현재금액, 누적 거래량을 계속 업데이트 받고자 하는데요, 예를 들어, 아래와 같이 호출하면, Main.ReqMarketData(308100); //종목코드 이런식으로 정보를 받아오는것으로 아는데요. function Main_OnRcvMarketData(MarketData) { MD = MarketData; } 이후 언제든 원하는 시점에 MD.current, MD.volumeTotal 통해 원하는 값을 가져올수 있나요? 아니면, Main_OnU*pdateMarket(sItemCode, U*pdateID) event 수신을 통해 업데이트를 해줘야 할까요? 아니면, 매번 원하는 시점에 Main.ReqMarketData(308100); 을 다시 호출해서 현재가격, 누적거래량을 새로 받아와야 하는지요? 감사합니다. 즐거운 한주 되세요~
프로필 이미지
edan
1153
글번호 225695

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

프로필 이미지
tktmsl
10
글번호 225694

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

프로필 이미지
tktmsl
12
글번호 225693

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

프로필 이미지
oldforce
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); } } } }
프로필 이미지
아무다
1381
글번호 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]); } } } } } } }
프로필 이미지
헝글베리핀
1391
글번호 225684
답변완료

예스트레드

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