커뮤니티
예스스팟 Q&A
답변완료
주문에러에 따른 주문수정 문의
안녕 하세요
스팟 사용중에 문의사항 있습니다.
주문 후 에러발생시 OnOrderResponse 에서
OrderResponse.error 로 에러내용은 확인 가능하지만
OrderResponse.orderNum 이나 OrderResponse.orderID 등 어떤 정보도 나오지 않아
어느 주문의 에러인지 파악할 수 가 없어 주문수정을 할 수 가 없습니다.
주문 후 에러발생시(OrderResponse.orderKind 값 -1) 어느 주문의 에러인지 알 수 있는 방법이 있을까요?
orderNum 또는 orderID 만 알 수 있어도 수정주문이 가능 할텐데요.
2019-04-04
3237
글번호 224772
답변완료
파워종목 검색시 질문입니다.
2개 이상의 파워종목 검색식을 돌릴때 하나는 코스피만 검색하고 다른 하나는 코스닥만 검색할수 있는 기능이 있나요? 파워종목 검색창에서 설정창에서 설정하면 모든 파워종목 검색에 다 한가지로만 적용될 수 밖에 없는 건가요? 그리고 ETF도 검색이 가능한지 답변 부탁드릴게요!!~ 감사합니다
2019-04-04
3163
글번호 224771
몬스터 님에 의해서 삭제되었습니다.
2019-03-25
11
글번호 224770
몬스터 님에 의해서 삭제되었습니다.
2019-03-22
1
글번호 224769
답변완료
수식 작성 부탁드립니다ㅜㅜ
매번 많은 도움 미리 감사드립니다.
아래와 같은 spot 수식 작성 부탁드립니다.
1. 예트 차트 매수신호 발생 즉시,(현재가 < 예트 매수신호 가격+2호가) 이면 바로 spot 매수 주문
2. spot 매수 주문 이후 10초 이내에 주문수량 전부 체결 시 --> 매수 체결 즉시, 실제 체결된 가격에 1호가 더해서 spot 매도 주문
3. spot 매수 주문 이후 10초 이내에 일부 체결 시: 매수 체결 즉시, 미체결 수량은 취소 and 실제 체결된 가격에 1호가 더해서 매수 체결된 수량을 매도
4. spot 매수 주문 이후 10초내에 미체결 시 --> 매수주문 취소
여기서, "매수 체결 즉시" 는 스팟으로 구현이 안되면 0.1초 후로 바꾸어도 괜찮을듯 합니다.
바쁘시더라도 도움 부탁드려요.
감사합니다.
2019-03-16
3159
글번호 224768
답변완료
질문드립니다.
var ItemList;
var Count;
var ReqCount;
//#종목검색 실행
function Main_OnStart()
{
Main.MessageLog("스팟시작");
Main.ReqPowerSearch("검색");
Start = 0;
Main.SetTimer(1, 1000);
}
function Main_OnRcvItemList(aItemList, nCount)
{
Main.MessageList("추가완료 : ",nCount);
if (nCount >= 1)
Main.SendInterests("테스트",aItemList, true);
Main.MessageLog("관심종목생성시작");
Count = Main.GetItemCountOfInterest("테스트");
Main.MessageList("지정관심그룹 종목수 : ", Count);
ItemList = [];
for(var i = 0 ; i < Count ; i++)
{
ItemList.push(Main.GetItemCodeInInterest("테스트", i));
}
Main.SetTimer(1, 1000);
ReqCount = 0;
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var StopSet = new SystemStopInfo(new StopLoss(5, CALCMETHOD_PERCENT, 0xFFDA93),
// new StopTrailing(2, 5, CALCMETHOD_PERCENT, 0),
new StopProfitTarget(20, CALCMETHOD_PERCENT, 0xFFDA93),
//new StopInactivity(0.5, 6, CALCMETHOD_PERCENT, 0xFFDA93),
//new StopEndOfDay(151500));
var ChartSet = new ReqChartItem(ItemList[ReqCount],3,CHART_PERIOD_MINUTE,5000,CHART_REQCOUNT_BAR,false,StopSet);
Main.ReqChartEx(ChartSet);
Main.MessageLog("확장차트생성_"+ItemList[ReqCount]);
ReqCount = ReqCount+1;
if (ReqCount == Count)
{
Main.KillTimer(1);
Main.MessageLog("start system trading");
}
//신호발생
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(100000/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("매도주문");
}
}
}
1. 관종 추가된종목에 위와같이 차트셋팅하고나서
고가가 시가보다 10%미만으로 크고, 저가가 시가보다 7% 이상 작지않으며((DayOpen*1.10 > DayHigh and DayOpen*1.7 > DayLow)),
종가가 10이동평균선 값보다 n%위에 있다면
최대5회 피라미딩진입을 3시20분 동시호가에 진입하게할 수 있게 부탁드립니다.다만 20이평밑으로 종가가 8%내려가면 진입신호 중지라는 신호
소중한 시간 내어주시어 제게는 너무나도 필요하고 소중한 수식부탁드리겠습니다.
2. 아래 신호 변환 부탁드립니다.
Var : profit(10),loss(5);
if MarketPosition == 1 Then
{
ExitLong("매수익절",Atlimit,AvgEntryPrice*(1+profit/100)); //매입10%수익청
ExitLong("손절",AtStop,AvgEntryPrice*(1-loss/100)); //매입가5%손절청
}
#14%수익이후 50% 수익 감소하면 청산
Var : UPrate(14),Dnrate(50);
if MarketPosition == 1 Then{
Var5 = highest(H,BarsSinceEntry);
if Var5 >= EntryPrice*(1+UPrate/100) then
exitlong("전량14%-하락50%",AtStop,Var5-(Var5-EntryPrice)*(Dnrate/100));
}
3. 최초진입신호이후 10일이 지나면 전량청산 수식부탁드립니다.
4. 위의 손절, 익절, 제가 만든 신호(기타등등) 이후 당일 동시호가 진입x 신호부탁드립니다.
5. 종목에서 10%수익시 물량의 20% 청산식 부탁드립니다.
위 수식에서는 예스시스템없이 오로지 스팟에서만 진입청산수식이 나가게하고 있습니다만.. 예스랭귀지에서는 동시호가 주문이 안되다보니...
자바스크립트에 적응하는게 표본이 적다보니 여간 쉬운게 아니네요.
소중한 답변 긴 시간 기다리고 있습니다. 기다리는 만큼 답변 역시 제게는 너무 소중하고 감사한 답변입니다. 꼭 부탁드리겠습니다.
질문사항이 길어 누가 될 수 있지만, 답변의 속도가 예스랭귀지 수식보다 느리기도하고, 오래걸림을 아는지라 정말 필요하고 부족한지식으로 작성하기 어려운 부분들이 있어 어쩔 수 없음을 양해바랍니다.
수식짜주시는데에 항상 감사한 마음을 가지고있는 고객들이 많이 있습니다.
감사합니다.
2019-04-13
3358
글번호 224767
답변완료
스팟 수식에 관하여
안녕하세요
예스스팟을 열심히 스터디 중입니다.
샘플 수식이 예스랭귀지와 달리 많이 없네요, 찿기도 어렵구요....
그래서, 아래의 2개의 간단한 예스랭귀지 샘플 수식을 예스스팟으로 변환을 부탁드립니다.
감사합니다.
// --------------------------------------------------------
// (1) 이동평균(단순) Golden_Dead
// --------------------------------------------------------
Input : shortPeriod(5), longPeriod(20);
value1 = ma(C, shortPeriod);
value2 = ma(C, longPeriod);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
Sell();
}
// --------------------------------------------------------
// --------------------------------------------------------
// (2) 20일 고가를 상향 돌파할 때 매수, 20일 저가를 하향이탈할 때 매도
// --------------------------------------------------------
input : Period(20);
var1 = highest(H,Period)[1];
var2 = Lowest(L,Period)[1];
if CrossUp(C, var1) Then
buy();
if CrossDown(C, var2) Then
sell();
// --------------------------------------------------------
-끝.-
2019-03-13
3125
글번호 224761
에이드 님에 의해서 삭제되었습니다.
2019-03-12
0
글번호 224759
SetTimer 의 의미가 궁금합니다.
안녕하세요.
초보적인 질문 드립니다.
Main 객체의 SetTimer 라는 함수 관련해서요.
타이머의 반복 주기를 설정하는 것이라고 설명에 써있는데요.
이 타이머라는 것이 어떤 역할인가요?
스팟이 전체 수식을 한사이클 돌리는 주기인가요?
감사합니다.
2019-03-10
3119
글번호 224758
답변완료
문의드립니다.
항상 감사합니다.
아래 수식은 현재가 기준으로 수익을 계산하였습니다. 하지만....
과도한 슬리피지 발생으로
매수호가 1단계를 기준으로 수익을 계산하고 싶습니다.
수정부탁드립니다.
if (step == 1)
{
var tick = 1;//1틱값 지정
//손익틱수 저장할 변수는 초기값 0
var sum = 0;
var PL1 = 0;
var PL2 = 0;
Account1.SetBalanceItem(put, 0);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
PL1 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick;
}
Account1.SetBalanceItem(put, 0);
if (Account1.Balance.count > 0 && Account1.Balance.position == 2)
{
PL2 = (Account1.Balance.current - Account1.Balance.avgUnitCost)/tick;
}
sum = PL1+PL2;
}
2019-03-08
3136
글번호 224757