커뮤니티
예스스팟 Q&A
율담 님에 의해서 삭제되었습니다.
2017-01-11
3
글번호 224091
답변완료
확장차트 제거 또는 종목변경
아래도 어떤 분이 요청하셨지만...
차트나 확장차트를 제거하거나,
종목을 변경하여 확장차트 데이터를 새로 로딩하는 기능이 있었으면 합니다.
수고하세요.
2017-01-10
2165
글번호 224090
답변완료
Main.PrintOnFile() 함수
지금 스팟에서 파일에다가 쓰는 함수가 이것 뿐인데...
이벤트가 동시다발적으로 일어나거나 파일에 쓰는 속도가 빠르면,
이전에 불린 PrintOnFile() 에서 파일을 닫기 전에 그 다음 PrintOnFile() 이 파일에 억세스하는 것으로 인식되어 에러가 납니다.
( ~ 파일을 열 수 없습니다... 류의 에러가 뜹니다. )
이런 문제를 해결하기 위해....
그냥 쌩 자바스크립트로 파일을 직접 create(), open(), write(), close() 하는 방법을 알려주세요.
PrintOnFile() 을 구현하신 내부를 공개해주시면 되는 것이 아닌가 하는데요.
PrintOnFile() 안에는 create(), open(), write(), close() 등이 한 세트로 들어가 있을 테니까요.
2017-01-11
2075
글번호 224089
예스스팟 국내선물이랑 주식도 사용가능한가요??
안녕하세요..막 한국투자증권계좌계설을하고 둘러보고있는데요
예스스팟 국내선물이랑 주식도 사용가능한가요??
가능한 증권사는 어디인지 궁금합니다
2017-01-09
1925
글번호 224088
idnotbe 님에 의해서 삭제되었습니다.
2017-01-09
2
글번호 224087
simtang3 님에 의해서 삭제되었습니다.
2017-01-09
22
글번호 224086
답변완료
스팟 수식 하나로 여러 종목 매매하는법 문의
안녕하세요. 이전에 손봐주신 아래 수식으로 거래를 잘하고 있습니다. 그런데 아래 수식의 경우 한번에 10개의 종목을 거래하려면 종목별로 차트 10개와 스팟수식 10개를 연결시켜 거래해야하므로 여간 번거로운게 아닙니다. 아래수식을 관심 그룹으로 지정된 다수의 종목에 한번에 적용하고 싶은데 어떻게 바꾸면 되는지요?
function Chart1_OnRiseSignal(Signal)
{
//buy신호발생
if (Signal.signalKind == 1)
{
//신호종목 잔고 셋팅
Account1.SetBalance(Main.GetOrderCode(Signal.code),0);
//보유수량이 없으면
if (Account1.Balance.count == 0)
{
//10주 시장가로 매수
Account1.OrderBuy(Main.GetOrderCode(Signal.code), 10,MarketData1.current ,0)
}
//보유수량이 있다면
else if (Account1.Balance.count > 0)
{
//현재가가 평균단가 대비 10% 하락시 보유수량+10주 시장가로 매수
if (Account1.Balance.current < Account1.Balance.avgUnitCost*0.9)
{ Account1.OrderBuy(Main.GetOrderCode(Signal.code), Account1.Balance.count +10, MarketData1.current,0);
}
//현재가가 평균단가 대비 3% 이상 상승시 전량매도
if (Account1.Balance.current > Account1.Balance.avgUnitCost*1.03)
{ Account1.OrderSell(Main.GetOrderCode(Signal.code), Account1.Balance.count, Account1.Balance.current,0)
}
2017-01-05
1992
글번호 224085
idnotbe 님에 의해서 삭제되었습니다.
2017-01-03
16
글번호 224084
답변완료
스팟수식문의
1. 종목검색을 통해 검색된 종목을 확장차트를 이용해 매매 테스트중입니다.
종목당 총 예수금의 5%이내에서만 진입하게 하려는데 피라미딩 설정에서 다른진입신호로 해줄경우는 문제가 없는데 모든진입신호로 하니 총 예수금의 주문가능금액까지 진입이 됩니다.
아래는 코드 일부입니다.
gTotalMoney, gEntryMoney는 전역변수선언되었음
gTotalMoney = Math.floor(CAC.GetBalanceETCinfo(0)); // 계좌 총 예수금 조회
gEntryMoney = gTotalMoney * (5 / 100); // 종목당 총 예수금의 5%내에서 매수진입
function Main_OnRiseSignal(ChartEx, Signal)
{
for (var i = 0; i < gRcvCount; i++)
{
if (ChartEx.GetCode(1) == gEntryItemObject[i].code)
{
if (Signal.signalKind == SIG_BUY)
{
Main.MessageList(GetTicketTime() + ": 매수주문[" + Signal.code + "]");
gEntryItemBuyVolume[i] = 0;
// 매수가능금액으로 총 주문가능수량 산출
gEntryItemBuyVolume[i] = Math.floor(gEntryMoney / gEntryItemObject[i].Ask(5));
CAC.OrderBuy(Signal.code, gEntryItemBuyVolume[i] /3, gEntryItemObject[i].Ask(1), 0); // 매도1호가 주문
CAC.OrderBuy(Signal.code, gEntryItemBuyVolume[i] /3, gEntryItemObject[i].Bid(2), 0); // 매수3호가 주문
CAC.OrderBuy(Signal.code, gEntryItemBuyVolume[i] /3, gEntryItemObject[i].Bid(5), 0); // 매수5호가 주문
gUnfillCode[i] = Signal.code;
Main.SetTimer(10, 60000); // 10번 타이머 N분
}
}
~~~~
}
2. 첨부그림 1과 같이 메시지가 뜨는 원인은 무엇인지요?
3. 총 예수금이 1천만원이라고 치면 종목당 최대 10% 금액인 100만원 내에서만 진입을 하고자 합니다. 매수를 2 ~ 3일에 걸쳐 진입하는데 최대 10% 금액을 넘어서면 안됩니다.
위 수식 개선 좀 부탁드리겠습니다.
4. 60분봉으로 종목검색후 1분봉으로 진입하는데 60분봉 검색된 종목에 한해서 1분봉 확장차트 생성 이후부터 시스템 신호를 발생시킬 수는 없는지요? 1분봉 시스템식에서 조건이 만족하면 이미 신호가 발생된 상태가 많아 60분봉 검색된 종목이 실제적으로 진입을 하지 못하는 문제가 있습니다. 따로 논다고 할까요~~
목적은 확장차트 생성 이후부터 시스템 신호가 발생되게 하고, 오버나잇하여 잔고가 있는 상태라면 시스템 신호가 이전에 발생된 것을 유지하게 했으면 합니다.
어떤 해결책이 있는지 궁금합니다. 힌트라도 주시면 감사하겠습니다.
확장차트 생성이후부터 시스템식을 적용할 것인지, 아닌지를 구분할 수 있는 옵션을 추가했으면 합니다.
감사합니다.
2017-01-05
1983
글번호 224083
답변완료
새해 복 많이 받으십시요!!!
새해 복 많이 받으십시요!!!!!
지난 한 해에도 변함없이 성심 것 답변 해 주신데 대하여 감사드립니다.
NO. 1500 의 2 번 사항에 대한 추가 질문드립니다.
미완성신호가 발생하고 조건에 부합하여
Main.SetTimer(1,10000); 또는 Main.SetTimer(2,10000); 의 타임어가 작동 하면 미완성신호가 중도에 소멸하여도 타임어는 계속 진행하게 됩니다.
이 때 미완성신호가 중도에 소멸(null을 반환) 하면 타임어도 중단 되도록 수식을 작성하여 주시면 대단히 감사 하겠습니다.
2017-01-01
1794
글번호 224082