커뮤니티
예스스팟 Q&A
답변완료
질문 1 : 거래 시간 정보에 따른 거래 수식 오류
예전에 아래와 같이 답변을 주셔서 수식을 작성하여 확인을 하고 있습니다.
기존 답변을 기준으로 수식을 작성하였는데, 해당 로직에 반응을 하지 않습니다.
원인을 알고 싶습니다. 무엇이 잘못되었는지요
전체 로직을 복사한 사항이 아니어서 아래 복사 내용에 {} 등이 맞지 않을 수 있습니다.
일부 수식을 요약했는데, 확인하시기 힘드시다면 해당 로직을 이메일로 보내드리도록 하겠습니다.
답변으로 메일주소 주시면 보내도록 하겠습니다.
function Main_OnU*pdateMarket(sItemCode, lU*pdateID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (M1.code == sItemCode)
{
if (매수 조건 충족시 )
{
(매수주문);
}
/*시간에 따른 청산*?
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var d = new Date();
if (BuyCond == 6)
{
A1.SetBalanceItem(Callcode,0);
if (A1.Balance.count > 0 && A1.Balance.position == 2)
{
if( Amount < Bottom-400 && M1.current < BP-0.2 && Buytime > 0 && d.getTime() == Buytime+60000 && Timechk1 == 0)
{
A1.OrderSell(Callcode, Bvol-Math.floor(Bvol*0.1)*1, Option.GetBidByCode(Callcode, 3), 0);
Exvol = Exvol+1;
Timechk1 = 1;
}
if( Amount < Bottom-300 && M1.current < BP-0.15 && Buytime > 0 && d.getTime() == Buytime+180000 && Timechk2 == 0)
{
A1.OrderSell(Callcode, Bvol-Math.floor(Bvol*0.1)*1, Option.GetBidByCode(Callcode, 3), 0);
Exvol = Exvol+1;
Timechk2 = 1;
}
if( Amount < Bottom-200 && M1.current < BP-0.1 && Buytime > 0 && d.getTime() == Buytime+300000 && Timechk3 == 0)
{
A1.OrderSell(Callcode, Bvol-Math.floor(Bvol*0.1)*1, Option.GetBidByCode(Callcode, 3), 0);
Exvol = Exvol+1;
Timechk3 = 1;
}
}
}
===============================================================================
안녕하세요
예스스탁입니다.
091007는 단순 숫자입니다.
만약 시간이 95717 이라면 이 숫자에 500을 더하면
96217이 됩니다. 시간으로 되지는 않습니다.
자바스크립트에 기본제공되는 시간함수들 중에 getTime이라는 함수가 있습니다.
현재의 시간을 1970년1월1일0시0분1초 부터 경과된 초수로 시간을 리턴해 주는 함수입니다.
1초는 1000입니다.
시간을 비교하신 다면 해당 함수를 이용해 비교하셔야 합니다.
var BuyTime;
function Main_OnStart()
{
Main.SetTimer(1, 1000);
Buytime = 0;
}
#매수주문 이벤트에서 시간저장
function 이벤트
{
if (조건)
{
var d = new Date();
Buytime = d.getTime();
Account1.OrderBuy(sItemCode, nCount, dPrice, nPriceKind)
}
}
#1초 단위로 시간을 판단해 매수후 5분 이후에 매도조건 만족하면 매도주문
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
var d = new Date();
if (매도조건 && Buytime > 0 and d.getTime() >= Buytime+300000 &&)//300초(1초가 1000)
{
Account1.OrderSell(sItemCode, nCount, dPrice, nPriceKind)
}
}
}
즐거운 하루되세요
> 최강투자 님이 쓴 글입니다.
> 제목 : 거래시간에 대한 정보를 기억할 수 있나요?
>
시간 변수로
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
로 정의를 한 뒤 거래 시간 등을
HHMMSS >= 090001 이런 식으로 제약하고 있습니다.
만약 청산 조건을 Case별로 구분하기 위해서
해당 매수 시간(체결 시간)을 기억하고 싶다면
A1.OrderBuy 매수 조건시 해당 HHMMSS 를 기억할 방법이 있나요?
BuyTime 이란 변수를 새로 넣는 다면
해당 매수 시간에 (ex 09시 10분 7초에 체결이 됐다면..)
BuyTime = HHMMSS 으로 정의했을 경우
BuyTime = 091007 으로 기억되는 것이 맞는지요?
만약 매수 시간 후 5분 뒤 매도 조건을 만들고 싶다면
HHMMSS = BuyTime + 000500 이란 수식으로 해당 조건이 충족될 때 매도 주문을 넣는 것이
가능한가요.
답변 부탁드립니다.
2015-02-04
1937
글번호 223306
답변완료
문의드립니다.
안녕하세요. 간단한 질문이 있어 문의드립니다.
현재 매수한 풋옵션을 청산할때
Account1.SetBalanceItem(SellCode, 0);
if (Account1.Balance.position == 2 && Account1.Balance.count > 0)
{
Account1.OrderSell(SellCode, Account1.Balance.count,0,1);
}
상기와 같이 계좌에 옵션잔고가 있는지를 확인한 후 매수한 풋옵션을 매도하는데요.
만약 선물인 경우
1. 매수한 선물을 청산하는 경우 상기와 같이 잔고에 매수한 선물이 있는지 여부를 확인하는 수식은 어떻게 되는지요?
2. 매도한 선물을 청산하는 경우 상기와 같이 잔고에 매도한 선물이 있는지 여부를 확인하는 수식은 어떻게 되는지요?
감사합니다.
2015-02-02
1921
글번호 223301
답변완료
선물차트
국내 선물 차트 지나간 차트 볼려면 어떻게 하나욤?
2015-01-29
1857
글번호 223300
답변완료
선물차트
국내 선물 차트 지나간 차트 볼려면 어떻게 하나욤?
2015-01-29
1831
글번호 223299
지나리 님에 의해서 삭제되었습니다.
2015-01-25
0
글번호 223298
지나리 님에 의해서 삭제되었습니다.
2015-01-26
11
글번호 223297
답변완료
예스스팟으로 자체 가상챠트 생성하여 매매 가능한지요 ?
가령.. 9시 장시작하면 옵션에 있어 20만원이하 종목중에서 가장 비싼 종목을 콜풋 각각 1종목씩 선정하여 해당 종목의 가상챠트를 생성하여 그걸 기준으로 그종목을 매매할수 있는지요..
즉, 9시 장시작후 옵션에서 특정 가격대의 종목을 자동 선정하여 가격 움직임에 의거 매매가 가능한지요 ?
가능하다면... 수식까지 부탁드립니다.
예) 9시가 되면 콜종목중 20만원이하중 가장 비싼 종목을 선정하여 30분간 고가, 저가를 관찰하다가 고가를 돌파하면 그종목을 매수... (30 MBO 개념)
2015-01-22
1770
글번호 223295
답변완료
수식문의 드립니다.
늘 친절한 답변에 감사드립니다.
지금까지 예스트레이더로 종목검색식을 이용해왔는데
예스스팟을 통해 자동매매를 시작해 보려고 문의드립니다.
예스스팟은 처음이라 절차등에 대해서 상세한 설명 부탁드립니다.
예스트레이더 검색식을 통한 검색종목을 불러와서 전일 동시간대보다 거래량이 많은 상위3종목을 각 100만원(자동수량계산)씩 현재가로 매수하고 이후 검색식에 재검색된 종목은 금일 매수한 이력이 있으면 패스한다.2(트레일링매수)---금일 매수한 종목중 5분단위로 체크하여 1차매수가 대비 수익률이 2.5%이상이면 100만원 추가매수하고 2차매수가 대비 수익률이 2.5%이상이면 3차매수 같은방법으로 5차까지 추가매수합니다.3(청산)---매수한 종목의 30분봉이 20-60 정배열일경우 20선을 각 봉마감시간(매30분마다)에 종가상 이탈하면 청산한다.30분봉이 20-60 역배열일경우 60선을 각봉마감시간(매30분마다)에 종가상 이탈하면 청산한다.현재가가 5분봉기준으로 체크하다가 당일 일봉상종가기준 고가를 3%넘게 하락할경우 청산한다..이상 매수및 청산에 대해 기술하였는데 제대로 기술한건지 모르겠습니다.
감사합니다.
2015-01-19
1812
글번호 223294
답변완료
예스스팟수식문의
안녕하세요?
죄송하지만 다음 로직의 예스스팟 수식좀 보여주십시오.
날짜나 시간 경과 상관없이 종전의 최종적인 체결가를 직전체결가로 보존하고 있다가
(만일 직전체결가가 없거나 고치고 싶을 때는 사용자가 입력하거나 고치는데, 그게 아니라면 자동으로 직전체결가를 계속 갱신하면서 보존)
현재가가 직전체결가보다 1000원 오르면
잔고를 체크해서 매도포지션이 한 개라도 있으면 2계약 매수
매도포지션이 한개도 없으면 1계약 매수
그렇게 매수하고 나면 그 가격이 직전체결가로 보존되고
거기서 다시 1000원이 오르면 같은 동작 반복.
하지만 거기서 다시 1000원이 떨어지면 아래 떨어질 때의 동작으로.
반대로 현재가가 직전체결가보다 1000원 떨어지면
잔고를 체크패서 매수포지션이 한 개라도 있으면 2계약 매도
매수포지션이 한 개도 없으면 1계약 매도
그렇게 매도하고 나면 그 가격이 직전체결가로 보존되고
거기서 다시 1000원이 떨어지면 같은 동작 반복.
하지만 거기서 다시 1000원이 오르면 위 올라갈 때의 동작으로.
감사합니다.
2015-01-18
1821
글번호 223293
답변완료
선물시가 기준 ATM 옵션 차트 생성
몇달전 하이투자증권에서 예스스팟 사용 강의를 들은 후
당시 예스스팟측의 연구원님이 나눠준 ppt자료에 있던 예제3번
"선물시가기준 ATM 콜풋 종목 차트 만들기"를 따라해보고 있습니다.
그런데 교재에 나온 예제대로 식을 작성한 후 저장을 하려하니
"종목객체를 사용하려면 종목을 설정해야 합니다"라는 에러가 뜹니다.
1. 종목객체에서 종목명이나 기타 다른 설정을 어떻게 해주어야 하는지 문의드립니다.
2. 예제에 있던 수식 var S1 = new SystemInfo("TEST System1");
여기에 있는 TEST System1을 제가 만든 시스템식으로 대체하려면 어떻게 해야하는지 문의드립니다.
2015-01-18
1892
글번호 223292