예스트레이더 수식작성 부탁하던 중 1분봉 상 익일 시가 매도 전략이 있었는데,
시가에 바로 매도는 불가능하고 1분봉 하나가 완성이 되어야 매도가 가능하다고 합니다.
예스스팟이 좀 더 정교한 전략 작성이 가능하다고 들었는데 예스스팟에서는 익일 시가에 바로 매도가 가능한지요?
답변 1
예스스탁
예스스탁 답변
2018-06-11 18:26:10
안녕하세요
예스스탁입니다.
1
예스랭귀지도 다음날 시초가에 매도를 할수 있습니다.
국내거래소 종목일 경우
아래와 같이 작성하시면 다음날 시초가에 매수포지션 청산입니다.
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
매수진입,매도진입, 매도포지션 청산도 모두 위와 같은 수식으로 신호발생 가능합니다.
해외선물의 경우에는 위 표현식으로는 가능하지 않고
사용자분이 아래와 같이 시간을 지정해 주셔야 합니다.
아래는 1분봉 기준으로 시간을 지정한 수식입니다.
if stime == 055900 then
ExitLong("bx",AtMarket);
사용하는 차트에 아래 지표 적용해서
거래일의 마지막봉 시간을 체크해서 지정해 주시면 됩니다.
plot1(stime);
2
스팟에서는 컴퓨터의 시간등으로 시간확인하시고 주문이 발생하게 코딩하시면 됩니다.
아래는 9시가 뒤면 지정한 종목의 매도주문이 나가는 수식입니다.
식 코딩에 참고하시기 바랍니다.
스크립트 객체설정
계좌객체 추가 --> 속성에서 객체명은 Account1, 주문낼 계좌번호 지정
종목객체 추가 --> 속성에서 객체명은 MarketData1, 속성에서 주문낼 종목으로 지정
var calc = false;
function Main_OnStart()
{
Main.MessageList("Start");
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (HHMMSS < 90000)
{
//1초간격 타이머
Main.SetTimer(1, 1000);
calc = true;
}
}
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
if (nEventID == 1 && calc == true && HHMMSS >= 90000)
{
calc = false;
//국내
Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(3), 0);
//해외
//Account1.OrderSell(MarketData1.code, 1, MarketData1.Bid(3), 2);
}
}
즐거운 하루되세요
> 풍운객 님이 쓴 글입니다.
> 제목 : 질문 드립니다.
> 예스트레이더 수식작성 부탁하던 중 1분봉 상 익일 시가 매도 전략이 있었는데,
시가에 바로 매도는 불가능하고 1분봉 하나가 완성이 되어야 매도가 가능하다고 합니다.
예스스팟이 좀 더 정교한 전략 작성이 가능하다고 들었는데 예스스팟에서는 익일 시가에 바로 매도가 가능한지요?