커뮤니티

예스스팟 Q&A

답변완료

수정부탁드려요

밑의 수식에서 재진입을 안하고 싶은데 부탁드려요 //스팟 첫 실행시 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); } } } }
프로필 이미지
아무다
526
글번호 225874
답변완료

스팟 종목객체 질문 입니다.

현재 매수 / 매도 2개의 프로그램을 돌리고 있습니다. 2개의 코드에서 ReqMarketData로 마켓데이터를 둘다 요청하고, 둘다 Main_OnUp*dateMarket에서 최신정보를 유지하고 있습니다. 서로 영향이 없는지 궁금합니다. 그리고 마켓데이터를 지울때 배열에 들어간 마켓데이터는 잘 지워지나 객체안에 객체로 저장된 마켓데이터는 지워지지 않는거 처럼 보이던데 맞나요?
프로필 이미지
올드송
586
글번호 225873
답변완료

질문입니다

예스스팟인데 Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); 최소한 4개이상 매개변수가 필요하다고 하는데 뭐가 잘못됐나요?
프로필 이미지
234fsdae
514
글번호 225867

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

프로필 이미지
tktmsl
61
글번호 225865

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

프로필 이미지
tktmsl
40
글번호 225864
답변완료

OnOrderReponse에서 OrderNum 값이 return되지 않습니다.

안녕하세요. 오랜만에 인사드립니다. 환절기 건강 유의하시기바랍니다. 다름아아니라 OnOrderResponse 기능에서 OrderNum의 값이 Return되지 않아 혹시 시스템상 어떤 특정 조건이 만족되어야 해당 값이 나오는 것인지 문의드리고자 합니다. 아래와 같은 코드로 주문시 응답 메세지를 보면 OnOrderResponse에서 OrderID값은 보이는데, OrderNum 값은 아무값도 Return되지 않습니다. (MessageList 표시 예: 체결정보 1 function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.MessageList("체결정보", OrderResponse.orderID, OrderResponse.orderNum); var RowN = 0; RowN = Excel1.GetRowCount(2); //엑셀에 매수주문 정보 기록: 일자,시간, 종목명, 종목코드, 매매종류, 가격, 수량, 금액 Excel1.SetArrayToRow(2, 'K'+RowN, [Number]); } } 제 시스템의 현재 흐름은 아래와 같습니다. 혹시 아래 흐름에서 OrderNum를 Return 받는데 문제가 되는 부분이 있을까요? 1. function Main_OnRiseSignal(ChartEx, Signal) 를 통해 Account1.OrderBuy를 사용하여 매수/매도 주문 ID = Account1.OrderBuy(Main.GetOrderCode(Signal.code),SplitCount,BuyPrice,0); 2. 위 function Main_OnOrderResponse(OrderResponse) 를 통해 동일한 ID의 값을 Return 받아 엑셀에 저장함 여기서 MessageList에서 OrderID만 표시됨 3. function Main_OnNotifyFill(NotifyFill) 를 통해 체결정보 저장 궁극적으로 주문정보와 체결정보를 OrderNum를 통해 데이터를 연결하고자 함. 아무리 가이드라인을 보고 관련 질의응답을 봐도 관련 내용이 없어서 격무로 바쁘시겠지만 도움을 주시면 정말 감사하겠습니다.
프로필 이미지
기사단장
730
글번호 225862
답변완료

자동구동프로그램문의

파워종목검색 파일명이 나다라야종목검색 입니다 예스스팟 프로그램을 실행하려는데 파일을 열수없다고 메시지가 뜹니다 알려주심 감사하겠습니다.
프로필 이미지
높은뫼
789
글번호 225861
답변완료

풋스프레드 매수

아래식은 하방 Put 스프레드 수식입니다 차트1에서 매도 신호가 나오면 1.00 과 가장 가까운 Put 옵션을 매수하고 동시에 바로 아래 외가격(Put종목-1)은 매도합니다. 과거 게시글의 상방 콜 스프레드 수식을 참조하여 작성하여 보았습니다. 진입은 되는데 청산이 안됩니다. 수식이 맞는지 살펴주시기 바랍니다. ************************************************************************ var S1= 0,S2 = 0,PutCode1,PutCode2; var RemainDays,entry; function Main_OnStart() { Main.MessageList("Start"); RemainDays = Option1.GetRemainDays(0,0); entry = true; if (RemainDays == 1) { Main.SetTimer(1, 1000); } } function Chart1_OnRiseSignal(Signal) { S2 = S1; S1 = Signal.signalKind; if (S1 == 3 && entry == true) { if (S2 != 3) { var HNum = Option1.uppersATM; var LNum = Option1.lowersATM; var CP = []; var PD1 = []; var PD2 = []; for (var i = -LNum; i <= HNum; i++) { CP[i+LNum] = Math.abs(Option1.GetCurrent(0, i)-1); PD1[i+LNum] = Option1.GetATMPutRecent(i); PD2[i+LNum] = Option1.GetATMPutRecent(i+1); } var MinV = CP[0]; PutCode1 = PD1[0]; PutCode2 = PD2[0]; for (var i = 0; i < CP.length; i++) { if (CP[i] < MinV) { MinV = CP[i]; PutCode1 = PD1[i]; PutCode2 = PD2[i]; } } Account1.OrderBuy(PutCode1, 1, Option1.GetAskByCode(PutCode1, 5), 0); Account1.OrderSell(PutCode2, 1, Option1.GetBidByCode(PutCode2, 5), 0); } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { var d = new Date(); var T1 = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (T1 >= 150000) { Main.KillTimer(1); entry = false; Account1.SetBalance(PutCode1); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { var vol1 = Account1.Balance.count; Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } Account1.SetBalance(PutCode2); if (Account1.Balance.count > 0 && Account1.Balance.position == 1) { var vol2 = Account1.Balance.count; Account1.OrderBuy(Account1.Balance.code,Account1.Balance.count,0,1); } } } }
프로필 이미지
좌오비우오비
737
글번호 225860

멋진감자 님에 의해서 삭제되었습니다.

프로필 이미지
멋진감자
1
글번호 225859

좌오비우오비 님에 의해서 삭제되었습니다.

프로필 이미지
좌오비우오비
4
글번호 225858