커뮤니티

예스스팟 Q&A

답변완료

데이타매니저

엑셀과 연계해서 데이타매니저에서 종목생성후 데이타를 받을때 수치만 엑셀에서 받을수있나요? 예를들어 엑셀 특정 셀의 진입이라는 텍스트를 데이타매니저에서 받아 예스차트에 표현할수는 없나요?
프로필 이미지
9회말2아웃
2013-01-18
2088
글번호 221966
답변완료

차트가 연결이 안됩니다.

대소문자 구분해서 차트아이디 주고 차트객체에서도 아이디를주었는데 연결이 안되네요 ㅠㅠ 아래분들도 같은 오류인거같은데 어떻게 해야되는지요. 예제대로 소스 그대로 넣고 차트아이디도 그대로 했습니다 그리고 차트에 이름이 빨갛게도 나오구요 근데도 전혀 동작하지 않습니다 ㅠ
프로필 이미지
QQQ
2013-01-18
2190
글번호 221965
답변완료

예스스팟 주문

첨부 파일과 같이 예스스팟 매매를 준비하였으나 매매 신호가 나와도 스팟에서는 아무런 주문메세지도 뜨지 않습니다. 뭐가 잘 못 된건지 살펴봐주세요.
프로필 이미지
디노
2013-01-18
2104
글번호 221964
답변완료

[파워종목검색] 검색 오류

아침 시간(주로 장시작전)에 파워종목검색 실행시 다음과 같은 내용의 팝업창이 출력되고 검색이 진행되지 않습니다. "검색에 필요한 데이터가 부족합니다(10313)" 확인 부탁 드립니다.
프로필 이미지
hugnkiss
2013-01-18
1906
글번호 221963
답변완료

체결문의 (재문의)

해당 차트아이디는 동일한것으로 확인되었습니다. 첨부파일에 스크린샷을 올렸습니다. 왜 신호완성 로그가 안찍히는지, 확인부탁드립니다. 감사합니다. --------------------------------------------------- 안녕하세요 예스스탁입니다. 차트에서 신호가 발생했는데 신호완성이라는 메세지로그가 동작하지 않는다면 차트객체와 차트가 연결이 되어 있지 않기 때문입니다. 차트객체 속성화면에서 차트아이디와 신호를 받고자하는 차트의 아이디를 동일하게 부여하셔야 합니다. 대소문자를 엄격히 구분하므로 대소문자 유의하셔서 지정해 보시기 바랍니다. 즐거운 하루되세요 > 별이777 님이 쓴 글입니다. > 제목 : 체결 문의 > 선물신호참조해서, 스팟으로 주문나가는데요. 선물신호에서 신호가 나왔는데도. 스팟으로 주문이 안나갑니다. 스크립트메세지에는 '시작' 만 찍히고, 그뒤는 안찍힙니다. 그뒤 아무런 로그도 없습니다. "신호완성" 로그가 안찍힙니다. 답변 부탁드립니다. yt 선물신호는 '시험'모드로 적용해놓은상태이고, 예스스팟은 '자동'모드를 적용해놓은 상태입니다. yt는 선물계좌, 스폿은 현물계좌로 세팅한 상태입니다. 스팟로직은 아래와 같습니다. var ID; var Number; function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { A1.OrderReplacePrice(Number,F2.Ask(2)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } var Position; var OrdeCode; var BID; var SID; var Snum; var Bnum; var BuyFill; var SellFill; function Main_OnStart() { Main.MessageLog("시작"); Position = 0; OrdeCode = Main.GetOrderCode(F2.code); // OrdeCode = Option.GetATMCallRecent(0); } // if (Signal.signalKind == 1) // { // ID = Main.OrderBuy(A2231.number, Option.GetATMCallRecent(0), 1, 0, 1); // } //A1.Orderbuy(Option.GetATMCallRecent(0),1,0,1) function C1_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); // Vol = A1.balance / F2.current / 20 Vol = 1; if (Signal.signalKind == 1 ) { Position = 1; BID = A1.OrderBuy(OrdeCode, Vol,F2.current, 0); // BID = A1.OrderBuy(OrdeCode, Signal.count,F1.current, 0); // BID = A1.Orderbuy(Option.GetATMCallRecent(0),1,0,1) Main.MessageLog("매수진입"); BuyFill = 0; } if (Position == 1 && Signal.signalKind == 2 ) { if (BuyFill == 1) { A1.OrderSell(OrdeCode, Vol,F2.Bid(2), 0); Main.MessageLog("매수청산실행"); } if (BuyFill == 0) { A1.OrderCancel(BNum); Main.MessageLog("매수청산취소"); } } if (Signal.signalKind == 3 ) { Position = -1; SellFill = 0; SID = A1.OrderSell(OrdeCode, Vol, F2.current, 0); Main.MessageLog("매도진입"); } if (Position == -1 && Signal.signalKind == 4 ) { if (SellFill == 1) { A1.OrderBuy(OrdeCode, Vol,F2.Ask(2), 0); Main.MessageLog("매도청산"); } if (SellFill == 0) { A1.OrderCancel(SNum); Main.MessageLog("매도청산취소"); } } } function Main_OnOrderResponse(OrderResponse) { if (Position == 1 && OrderResponse.orderID == BID) { BNum = OrderResponse.orderNum; } if (Position == -1 && OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { if (Position == 1 && NotifyFill.orderNum == BNum) { BuyFill = 1; } if (Position == -1 && NotifyFill.orderNum == SNum) { SellFill = 1; } }
프로필 이미지
별이777
2013-01-17
1953
글번호 221959
답변완료

[파워종목검색] 결과 오류 문의

아래 검색식 결과를 보면 조건을 만족하지 않는(태산엘시디, 케이디씨와 같은 거래 정지 포함) 종목이 도출됩니다. 확인 부탁 드립니다. Input : BB80Period(80), BB240Period(240), D(2); Variable : BB80up(0), BB240up(0); BB80up = BollBandUp(BB80Period,D); BB240up = BollBandUp(BB240Period,D); If (BB80up < BB240up) and (C > BB80up*0.95) Then { Find(1); }
프로필 이미지
hugnkiss
2013-01-15
1959
글번호 221953
답변완료

체결 문의

선물신호참조해서, 스팟으로 주문나가는데요. 선물신호에서 신호가 나왔는데도. 스팟으로 주문이 안나갑니다. 스크립트메세지에는 '시작' 만 찍히고, 그뒤는 안찍힙니다. 그뒤 아무런 로그도 없습니다. "신호완성" 로그가 안찍힙니다. 답변 부탁드립니다. yt 선물신호는 '시험'모드로 적용해놓은상태이고, 예스스팟은 '자동'모드를 적용해놓은 상태입니다. yt는 선물계좌, 스폿은 현물계좌로 세팅한 상태입니다. 스팟로직은 아래와 같습니다. var ID; var Number; function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { A1.OrderReplacePrice(Number,F2.Ask(2)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } var Position; var OrdeCode; var BID; var SID; var Snum; var Bnum; var BuyFill; var SellFill; function Main_OnStart() { Main.MessageLog("시작"); Position = 0; OrdeCode = Main.GetOrderCode(F2.code); // OrdeCode = Option.GetATMCallRecent(0); } // if (Signal.signalKind == 1) // { // ID = Main.OrderBuy(A2231.number, Option.GetATMCallRecent(0), 1, 0, 1); // } //A1.Orderbuy(Option.GetATMCallRecent(0),1,0,1) function C1_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); // Vol = A1.balance / F2.current / 20 Vol = 1; if (Signal.signalKind == 1 ) { Position = 1; BID = A1.OrderBuy(OrdeCode, Vol,F2.current, 0); // BID = A1.OrderBuy(OrdeCode, Signal.count,F1.current, 0); // BID = A1.Orderbuy(Option.GetATMCallRecent(0),1,0,1) Main.MessageLog("매수진입"); BuyFill = 0; } if (Position == 1 && Signal.signalKind == 2 ) { if (BuyFill == 1) { A1.OrderSell(OrdeCode, Vol,F2.Bid(2), 0); Main.MessageLog("매수청산실행"); } if (BuyFill == 0) { A1.OrderCancel(BNum); Main.MessageLog("매수청산취소"); } } if (Signal.signalKind == 3 ) { Position = -1; SellFill = 0; SID = A1.OrderSell(OrdeCode, Vol, F2.current, 0); Main.MessageLog("매도진입"); } if (Position == -1 && Signal.signalKind == 4 ) { if (SellFill == 1) { A1.OrderBuy(OrdeCode, Vol,F2.Ask(2), 0); Main.MessageLog("매도청산"); } if (SellFill == 0) { A1.OrderCancel(SNum); Main.MessageLog("매도청산취소"); } } } function Main_OnOrderResponse(OrderResponse) { if (Position == 1 && OrderResponse.orderID == BID) { BNum = OrderResponse.orderNum; } if (Position == -1 && OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { if (Position == 1 && NotifyFill.orderNum == BNum) { BuyFill = 1; } if (Position == -1 && NotifyFill.orderNum == SNum) { SellFill = 1; } }
프로필 이미지
별이777
2013-01-14
2147
글번호 221947
답변완료

1틱챠트 지연현상

첨부된 엑셀파일은 2013-01-10 일 선물의 1틱챠트에 아래의 지표를 적용하여 실제시각과 챠트에서 처리하는 데이타의 시각을 비교하여 지연시간을 알아본 것입니다. 예스트레이더4 버전을 사용한 것이고 최초봉의 수를 5000으로 잡았읍니다. 최초 5000개 봉을 그린 이후에, 지연이 5분이상 되는 부분도 있고, 지연이 거의0 인 부분도 있는데, 이런 지연이 생기는 원인은 무엇입니까? 네트웍 문제는 아닙니다. 데이타를 지연되어 보내주거나, 예스트레이더4 소프트웨어의 챠트에 봉을 그릴 수 있는 속도의 한계로 생각되는데, 초당 몇개의 봉을 지연없이 그릴 수 있는지 자체평가한 결과를 공개해 주시면 사용에 도움이 되겠읍니다. PC는 intel i5-2500K 3.3GHz, 1GB RAM 에 예스트레이더4 만 실행하는 상태에서 만든 것입니다. (4MB 이상의 파일은 첨부가 안되어 일부 지연과 관련없는 데이타를 지웠읍니다.) =============== 지표 ====================== Var: strFileName(""), ctime(0), delay(0); if index == 0 then { strFileName = "chart_" + NumToStr(CurrentDate, 0) + "_" + NumToStr(CurrentTime, 0) + ".csv"; print(strFileName, ",cTime,delay,sDate,sTime,index,open,high,low,close,openinterest,bids,asks,ticks,upticks,downticks,volume,upvol,downvol"); } ctime = CurrentTime; delay = (int(ctime/10000)*3600+(mod(ctime,10000)-mod(ctime,100))/100*60+mod(ctime,100)) - (int(sTime/10000)*3600+(mod(sTime,10000)-mod(sTime,100))/100*60+mod(sTime,100)); print(strFileName, ",%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.2f,%8.2f,%8.2f,%8.2f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f,%8.0f", CurrentTime, delay, sDate, sTime, index, open, high, low, close, openinterest, bids, asks, ticks, upticks, downticks, volume, upvol, downvol);
프로필 이미지
actaus
2013-01-14
2230
글번호 221943
답변완료

문의

예스스팟 6131 화면에 관한 질문입니다. 로그아웃후에 재로그인하면, 자동이 시험으로 바뀌어져 있습니다. 로그인시마다 매일 바꾸어야 한다는 얘기인가요? 자동으로 계속 설정되 있도록 하려면 어떻게 해야하나요? 감사합니다.
프로필 이미지
별이777
2013-01-14
2281
글번호 221942
답변완료

차트툴 추가 건의

안녕하세요? 일전에 다음과 같은 차트툴을 건의드렸고 https://www.yesstock.com/board/view.asp?db=board100070&num=244 추세선의 표시기능을 이용하여 아쉬운대로 쓰고 있었습니다만 추세선과 등락률을 하나의 툴로 병행하려니 표시옵션이나 자석기능등을 껏다 켰다해야 해서 굉장히 불편합니다 위 건의대로 별도의 등락률 툴을 만들어주셨으면 합니다. 늘 감사드립니다.
프로필 이미지
hex
2013-01-13
2407
글번호 221941