커뮤니티
예스스팟 Q&A
답변완료
예스스팟 StopLoss 또는 SystemInfo 사용방법 문의
예스스팟 StopLoss 또는 SystemInfo 사용방법 문의드립니다.
예를들어, 예스스팟에서 매수/매도를 수행한 경우 손절을 StopLoss 를 활용하는 방법에 대해서 문의드립니다.
감사합니다.
2020-11-07
2803
글번호 225350
답변완료
예스스팟 수식 부탁드립니다.
수고가 많으십니다.
예스스팟 수식을 부탁드립니다.
내용은 첨부파일로 올려드렸습니다.
말이 길고 복잡해보여도
각기 패턴은 비슷합니다.
좋은 하루 되세요!
2020-11-03
2788
글번호 225346
답변완료
SendInterests 오작동 문의
안녕하세요.
// 관종 비우기
Main.SendInterests("test", false, false);
// 관종 넣기
list = ['006050', '004270'];
Main.SendInterests("test", list, false);
// 관종 교체
list = ['005930'];
Main.SendInterests("test", list, false);
이렇게 하면 test 라는 관종에 최종적으로 '005930' 하나만 들어가야 하는데
'006050', '004270', '005930' 세개가 들어가 있습니다.
언제부터 인지 SendInterests 의 bAddGroup 인자가 제대로 처리가 안되는 것 같은데 확인 부탁드립니다.
2020-11-02
2679
글번호 225345
답변완료
하나의 예스스팟 코드로 2개 이상의 예스랭귀지-파워종목검색을 돌릴수 있나요?
아직 초보라 질문이 매끄럽지 못한 점 양해부탁드립니다.
제가 하이투자증권에서 예스스팟을 이용해 매매하는 방식은 다음과 같습니다.
1. 예스랭귀지에서 수식작성해서 파워종목검색으로 불러와 해당종목을 특정시간에 검색하고
2. 그 종목들을 예스스팟 매매기로 매매실행
제가 구현하고 싶은 것은
예스랭귀지에서 작성한 2개 이상의 수식(수식1,수식2)을
각각 개별의 파워종목검색에서 검색되고
그 각각의 종목들이 "하나의" 예스스팟 매매기로로 불려와서 각각 매매 (수식1에 현금50%배분/수식2에 현금50%배분)
요렇게 만들고싶은데
일단 Q&A검색을 통해서 파워종목검색창이 2개이상 열리지 않는다는건 확인했습니다.
질문1) 파워종목검색창은 자동매매가 진행될동안 예스트레이더에서 꼭 켜져있어야하는지 궁금합니다.
질문2) 위에서 말씀드린 "예스랭귀지-파워종목검색을 사용하는 2가지 이상의 로직"을 하나의 예스스팟매매기로 구현가능한지 문의드립니다. 매매기에서는 아래 함수를 사용하고 있는데 요걸로 방법이 있을지요
Main.ReqPowerSearch();
OnRcvItemList(aItemList, nCount)
2020-10-28
3018
글번호 225344
답변완료
종목검색한 결과에서..
안녕하세요,
1분에 한번씩 종목검색한 결과를 엑셀로 업데이트 할수 있을까요?
1분에 한번씩 자동으로 종목검색을 하고
그 결과를 엑셀로 업데이트 하도록 구현할 수 있을까요?
표시하는것 뿐 아니라 그전 결과와 비교하여 색강조 까지 생각하고 있습니다.
예스스팟으로 구현가능한지, 간단한 예시를 주시면 도움이 많이 될것 같습니다.
감사합니다.
2020-10-19
2803
글번호 225341
답변완료
피라미딩 진입 수정 부탁드립니다.
첫 진입이후 3% 하락시 추가 피라미딩 진입하는 식인데, 작동을 안하네요.
수정 부탁드립니다.
var BL = [],req=0,step;
var CT = [];
function Main_OnStart()
{
//처음 시작시 step은 0
step = 0;
//시작시점의 보유종목수
var num1 = Account1.GetTheNumberOfBalances();
//보유종목이 1개 이상이면 보유종목의 종목코드를 BL변수에 순차적으로 저장
if (num1 > 0)
{
step = 1;
for(var i = 0 ; i < num1 ; i++)
{
Account1.SetBalance(i);
BL[i] = Account1.Balance.code;
}
if (BL.length >= 1)
{
req = 0;
var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT,
1, // 거래수량
123456789, // 자산
1, // 단위수량
0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료
0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지
PYRAMIDING_ENTRY, // 피라미딩 설정여부
1000, // 최대진입수량
2); // 최대진입횟수
var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false);
var SymSet = new SystemInfo("Signal전략");
Main.ReqChartEx(ChartSet, SymSet);
}
}
else //보유종목이 없으면 바로 1분 타이머 시작
{
step = 2;
Main.MessageList("보유종목없음");
Main.SetTimer(1, 100000);//1번 타이머, 60초
}
}
function Main_OnRcvChartEx(ChartEx)
{
if (step == 1 && ChartEx.GetCode(1) == BL[req])
{
step = 1;
CT[req] = ChartEx;
req = req+1;
if (req < BL.length)
{
var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT,
1, // 거래수량
123456789, // 자산
1, // 단위수량
0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료
0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지
PYRAMIDING_ENTRY, // 피라미딩 설정여부
1000, // 최대진입수량
2);
var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false);
var SymSet = new SystemInfo("Signal전략");
Main.ReqChartEx(ChartSet, SymSet);
}
else
{
step = 2;
Main.SetTimer(1, 100000);//1번 타이머, 60초
Main.MessageList("보유종목차트생성완료");
}
}
if (step == 2 && ChartEx.GetCode(1) == BL[req])
{
CT[req] = ChartEx;
req = req+1;
if (req < BL.length)
{
var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT,
1, // 거래수량
123456789, // 자산
1, // 단위수량
0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료
0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지
PYRAMIDING_ENTRY, // 피라미딩 설정여부
1000, // 최대진입수량
2);
var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false);
var SymSet = new SystemInfo("Signal전략");
Main.ReqChartEx(ChartSet, SymSet);
}
else
{
Main.MessageList("종목검색후차트생성완료");
//차트생성 완료하면 타이머 다시 셋팅
Main.SetTimer(1, 100000);//1번 타이머, 60초
}
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
//타이머 종료
Main.KillTimer(1);
Main.ReqPowerSearch("종목검색")
}
}
function Main_OnRcvItemList(aItemList, nCount)
{
//검색된 종목이 없으면
if (nCount == 0)
{
//타이머 다시 셋팅
Main.SetTimer(1, 100000);//1번 타이머, 60초
}
//검색된 종목이 있으면
if (nCount >= 1)
{
//검색된 종목과 기존 만든 차트들의 종목코드를 비교해
//차트가 만들어 지지 않은 종목이면 BL변수에 종목코드 추가
var cnt = 0;
for(var i = 0 ; i < aItemList.length ; i++)
{
var add = true;
for(var z = 0 ; z < CT.length ; z++)
{
if (aItemList[i] == CT[z].GetCode(1))
{
add = false;
break;
}
}
if (add == true)
{
cnt = cnt+1;
BL.push(aItemList[i]);
}
}
Main.MessageList("BL : ",req,BL);
//차트 생성해야할 종목이 있으면 차트요청
if (cnt >= 1)
{
//차트 요청
var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT,
1, // 거래수량
123456789, // 자산
1, // 단위수량
0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료
0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지
PYRAMIDING_ENTRY, // 피라미딩 설정여부
1000, // 최대진입수량
2);
var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false);
var SymSet = new SystemInfo("Signal전략");
Main.ReqChartEx(ChartSet, SymSet);
}
else //없으면 타이머 다시 셋팅
{
Main.SetTimer(1, 100000);//1번 타이머, 60초
}
}
}
//생성된 차트들에서 신호가 발생하면
function Main_OnRiseSignal(ChartEx, Signal)
{
//매수신호 발생
if (Signal.signalKind == 1)
{
//잔고셋팅
Account1.SetBalance(Signal.code,0);
//보유수량이 없으면
if (Account1.Balance.count == 0)
{
//EntryVol주 시장가 매수
Account1.OrderBuy(Signal.code, EntryVol,Signal.price,1);
}
}
//매수청산신호 발생
if (Signal.signalKind == 2)
{
//잔고셋팅
Account1.SetBalance(Signal.code,0);
//보유수량이 있으면
if (Account1.Balance.count > 0)
{
//전량 시장가 매도
Account1.OrderSell(Signal.code, Account1.Balance.count,Signal.price,1);
}
}
}
function Main_OnUp*dateMarket(sItemCode, lUp*dateID)
{
//체결데이터 수신 업데이트
if (lUp*dateID == 20001)
{
//루프를 돌아 생성된 종목중 어떤 종목인지 파악
for (i = 0; i < Math.min(itemcnt,100); i++)
{
//어떤 배열방의 종목인지 찾았으면
if (sItemCode == BL[i])
{
//해당 종목 잔고셋팅
Account1.SetBalance(BL[i].code, 0);
//잔고 수량이 있을때만
if (Account1.Balance.count > 0)
{
//하락시 매수할 가격이하 3% 하락이면 추가매수
if (BL[i].current <= Signal.Price[i]*0.97)
{
Account1.OrderBuy(BL[i].code,EntryVol,Signal.Price[i]*0.97, 0);
}
}
}
}
}
}
2020-10-17
2864
글번호 225340
답변완료
유진예스스탁 옵션 가격 조회
해외옵션에서 가격 조회시 정상적으로 조회되지 않아 질문드립니다.
2020-10-17
2784
글번호 225339
답변완료
유진예스스탁 Option 시세 관련
국내 옵션과 해외 옵션의 함수 파라미터가 다르네요.
그에 따른 Option 시세표를 한번 만들어보는 중에 오류가 있어 질문 드립니다.
2020-10-17
2795
글번호 225338
답변완료
유진예스스탁 잔고 내역 관련 문의.
구동프로그램 : 유진 예스트레이더 해외선물
전략 실행과 동시에 for문을 돌면서 주문을 넣었는데,, 잔고 수량이 이상하게 잡히네요.
2020-10-17
2757
글번호 225337
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2020-10-13
11
글번호 225336