커뮤니티
예스스팟 Q&A
답변완료
전체 챠트에서의 MarketPosition값을 예스스팟에서 조회하는 방법 있나요?
Main.GetGlobalMarketPosition(MPobject) 및 Main_OnMarketPositionChanged(종목, 갯수) 등의 형태로 각 챠트별이 아닌 전체 챠트에서 종목별 OpenContract정보를 조회하는 방법이 있으면 좋겠습니다. 포트폴리오를 운영할때 각 챠트아이디별로 GetOpenContracts를 부르는 것에 비해 효율적인 방법이 아닐까 합니다.
아 그런데 혹시 챠트객체에서 GetOpenInterest와 GetOpenContracts의 차이가 하나는 예스랭귀지의 MarketPosition이랑 동일한 값을 반환하고 하나는 MarketPosition(i)와 같이 과거 봉에서의 MarketPosition값을 조회하는 것인지요?
ps : Main_OnStart에서 Main.ClearMessages()와 같은 걸로 메시지로그창을 로직상에서 초기화 해줄 수 있는게 있으면 좋겠습니다.
2019-02-02
2961
글번호 224725
답변완료
시장검색 거래대금 검색시 순위 10개종목 관심종목에 넣는 로직
시장검색에 거래대금 순위가 나오는데
9시3분이후부터 10분마다
1등에서 10등까지의 신규 종목을 특정 관심종목으로 자동으로 넣는 로직이 가능한지요?
2019-02-04
3163
글번호 224720
답변완료
청산식 부탁합니다
합성전략 ( 선물, 옵션) - 주로 옵션 양매수//
총 수익 금액이 얼마 ( 원 , 포인트, 프로,) 이상이면
절반( 또는 1/3 ,,등 변수) 을 각각에서 같은 수로 청산하고
또 얼마 ( , 원, 포인트, 프로 ) 이상이면 절반 ( 변수 )
각각에서 같은 수로 청산 하시오
손절은 총 수익금액이 얼마 ( 원, 포인트 , 프로 ) 일때 청산 하시오
2019-01-30
3003
글번호 224719
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2019-01-28
6
글번호 224716
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2019-01-28
8
글번호 224715
답변완료
기능 추가 요청
확장차트가 지금 100 개까지로 제한되어 있는데, 너무 많은 부하가 걸리는 것을 막고자 하는 의도는 이해가 갑니다.
그러나 더 많은 종목을 원하는 사용자도 꾸준히 있어왔습니다.
확장차트 개수를 100개로 제한하는 것은 그대로 두더라도,
먼저 만들어놓은 확장차트를 삭제하거나, 기존 확장차트의 종목을 바꿀 수 있게 (새로 데이터 로드) 부탁드립니다.
예트를 개발하시는 분 입장에서도 차트 object 를 하나 없애면 되므로,
구현하기 어려운 작업은 아닐 것으로 추정됩니다.
감사합니다.
2019-01-24
3150
글번호 224714
피셔 님에 의해서 삭제되었습니다.
2019-01-22
1
글번호 224710
답변완료
종목검색_자동매매 후 다음날까지 유지되는지 궁금합니다.
Q&A 에서 봤던 코드를 학습하고있습니다.
차트객체가 다음날 다시켰을때도 유지되는지 궁금합니다.
//
또 종목검색된 종목들을 특정조건에 맞게 순위를 지정하고 싶은데 가능할까요?
-해당 코드
**********************************************
//종목검색 후 자동매매
var ItemList;
var Count;
var ReqCount;
function Main_OnStart()
{
Main.MessageLog("스팟시작");
Main.MessageLog("종목검색시작");
Main.ReqPowerSearch("#파워종목검색명");
}
function Main_OnRcvItemList(aItemList, nCount)
{
ItemList = aItemList;
Count = nCount;
Main.SetTimer(1, 1000);
ReqCount = 0;
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var StopSet = new SystemStopInfo(new StopLoss(4, CALCMETHOD_PERCENT, 0xFFDA93),
new StopTrailing(2, 5, CALCMETHOD_PERCENT, 0),
//new StopProfitTarget(10, CALCMETHOD_PERCENT, 0xFFDA93),
//new StopInactivity(0.5, 6, CALCMETHOD_PERCENT, 0xFFDA93),
new StopEndOfDay(151500));
var ChartSet = new ReqChartItem(ItemList[ReqCount],1,CHART_PERIOD_MINUTE,5000,CHART_REQCOUNT_BAR,false,StopSet);
var SystemSet = new SystemInfo("#시스템전략명", YL_TYPE_NORMAL, null, null, null);
Main.ReqChartEx(ChartSet,SystemSet);
Main.MessageLog("확장차트생성_"+ItemList[ReqCount]);
ReqCount = ReqCount+1;
if (ReqCount == Count)
{
Main.KillTimer(1);
Main.MessageLog("종목검색완료");
}
}
}
//신호발생
function Main_OnRiseSignal(ChartEx, Signal)
{
//신호발생 종목에 대해 잔고셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//매수신호이고 잔고가 없을때만 매수
if (Signal.signalKind == 1 && Account1.Balance.count == 0)
{
Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(50000/ChartEx.GetClose(1,0)),0,1);
Main.MessageLog("매수주문");
}
if (Signal.signalKind == 2)
{
//전체미체결주문 갯수
var num = Account1.GetTheNumberOfUnfills();
//전체 미체결수 만큼 루프를 돌면서
for (var i = 0; i < num; i++)
{
//미체결을 하나씩 셋팅하고
Account1.SetUnfill(i);
//미체결종목이 신호종목과 같고 미체결수량이 있으면
if (Account1.Unfill.code == Main.GetOrderCode(Signal.code) && Account1.Unfill.count > 0)
{
Account1.OrderCancel(Account1.Unfill.orderNum);
}
}
//잔고수량만큼만 매도
if (Account1.Balance.count > 0)
{
Account1.OrderSell(Main.GetOrderCode(Signal.code),Account1.Balance.count,0,1);
Main.MessageLog("매도주문");
}
}
}
*******************************************************************
여기서 차트객체를 생성 하고 나서 이 시스템 차트가 다음날 까지 유지가 되는지 궁금합니다.
2019-01-10
3298
글번호 224708
답변완료
간단한 매수 매도 식 부탁드립니다.
1. 9시 장시작 동시에 a,b,c 종목을 d,e,f 가격으로 g,h,i 수량만큼 지정가로 매수 주문한다.
2. 9시 장시작 동시에 j,k,l 종목을 m,n,o 가격으로 p,q,r 수량만큼 지정가로 매도 주문한다.
3. s=1 이면 보유 종목 모두 t 시간에 시장가 매도 주문한다.
a~t 모두 외부변수로 꺼낸다.
(1,2번의 경우 여러 종목을 주문하기 위해서 입니다.)
부탁드리겠습니다. 감사합니다.
2019-01-09
3328
글번호 224707
답변완료
종목객체 사용과 관련하여 질문드립니다.
늘 도움을 주셔서 고맙습니다.
호가가 다음과 같이 구성되어 있을 때 즉, 실제 호가창이 비어있을 경우에 Ask(1), Bid(1)의 값은 어떤 값이 return되는지요?
(매도호가) (매수호가)
...
매도4호가 1000
매도3호가 900
매도2호가 800
매도1호가 (없음)
(없음)매수1호가
500 매수2호가
400 매수3호가
300 매수4호가
...
2019-01-08
3302
글번호 224706