커뮤니티

예스랭귀지 구현 부탁드립니다

프로필 이미지
penfold
2024-10-08 15:16:13
769
글번호 184094
답변완료
코스피선물, 코스닥선물, 국채선물 등을 대상으로, 사용자가 당일 타겟으로 정한 1개의 특정 기준가를 설정하고 (당일 장시작전 혹은 장중에 예스랭귀지 편집기에서 직접 수정하거나, 외부변수로 선언해서 UI에서 변경) 1분봉을 기준으로 롱 진입의 경우, 지금 그려지고있는 캔들에서 기준가격을 +5틱 상향돌파하여 현재 캔들 종가까지 이를 유지 시 바로 다음봉 시가가 형성되자마자 매수진입(체결리스크 피하기 위해 시장가주문), 로스컷은 지금 그려지고 있는 캔들에서 기준가격을 -3틱 하향돌파하여 현재 캔들 종가까지 유지 시 바로 다음봉 시가가 형성되자마자 포지션 청산(시장가주문으로 매도) 숏 진입의 경우, 지금 그려지고있는 캔들에서 기준가격을 -5틱 하향돌파하여 현재 캔들 종가까지 이를 유지 시 바로 다음봉 시가가 형성되자마자 매도진입(체결리스크 피하기 위해 시장가주문), 로스컷은 지금 그려지고 있는 캔들에서 기준가격을 +3틱 상향돌파하여 현재 캔들 종가까지 유지 시 바로 다음봉 시가가 형성되자마자 포지션청산(시장가주문으로 매수) (주문수량은 1계약) 오후 3시35분까지 포지션을 보유하고 있는 상황이라면, 당일 청산을 위해 선물 장 동시호가 매매시간인 15:35분 ~ 15시 45분 사이에 시장가로 전량 청산. 위 로직을 예스랭귀지로 구현 부탁드립니다. onclose, atmarket, atstop, atlimit 등이 헷갈려서 위와 같이 풀어서 설명하였는데, 혹시 구현해주신 시스템식에서 중간에 명령어를 onclose, atmarket, atstop, atlimit 등으로 바꿔가면서 구현하면 어떤 식으로 진입이나 청산이 될지 차이점에 대해서도 간단히 설명해주시면 감사하겠습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-10-08 16:17:40

안녕하세요 예스스탁입니다. 1 시스템은 동시호가 시간대에 주문집행이 가능하지 않습니다. 랭귀지는 차트에 수신되는 시세의시간으로 현재시간을 판단하는데 동시호가의 데이터는 장종료후에 거래서에서 일괄로 데이터를 주게 됩니다. 그러므로 시스템은 정규장 이내에서 신호와 주문이 가능하게 작성하셔야 합니다. 당일청산은 15시30분으로 지정해 드립니다. 2 시스템 수식안에서는 시장가와 같은 실제주문과 관련된 옵션을 지정하는 부분이 없습니다. 시스템을 차트에 적용할 때 나타나는 시스템 트레이딩 설정창에서 신호발생시 주문가격을 지정하게 되어 있습니다. 시장가는 설정창의 매매가격에서 지정하셔야 합니다/ 3 올리신 내용은 봉완성시 종가기준으로 조건 체크하고 다음봉 시가에 신호발생므로 atmarket타입을 사용하시면 됩니다. input : 기준가(346); if MarketPosition <= 0 and NextBarSdate == sDate and CrossUp(c,기준가+PriceScale*5) Then Buy("b",AtMarket); if MarketPosition >= 0 and NextBarSdate == sDate and CrossDown(c,기준가+PriceScale*5) Then Sell("s",AtMarket); if MarketPosition == 1 and NextBarSdate == sDate and CrossDown(c,기준가-PriceScale*3) Then ExitLong("bx",AtMarket); if MarketPosition == -1 and NextBarSdate == sDate and CrossUp(c,기준가+PriceScale*3) Then ExitShort("sx",AtMarket); SetStopEndofday(153000); 4 onclose, atmarket, atstop, atlimit은 신호타입입니다. onclose, atmarket은 봉완성시 발생하는 타입이고 atstop, atlimit은 봉미완성시 발생하는 타입 2개 종류가 있습니다. 봉완성은 다음봉시가가 수신될때입니다. 봉완성시 특정조건을 만족하면 신호를 발생하는데 완성봉의 종가를 신호가격(리포트상 진입청산가격)으로 사용하는 타입이 onclose이고 다음봉시가를 신호가격(리포트상 진입청산가격)으로 사용하는 타입이 atmarket입니다. atstop,atlimit은 봉완성시 감시가격을 셋팅하고 다음봉 미완성시에 현재가와 감시가격을 비교해 가격조건을 충족하면 즉시 신호가 발생하는 타입입니다. Buy나 exitshort에서는 atstop은 지정한 감시가격 이상의 현재가 발생, atlimit은 지정한 감시가격 이하의 현재가 발생하면 즉시 신호발생합니다. Sell나 exitlong에서는 반대로 atstop은 지정한 감시가격 이하의 현재가 발생, atlimit은 지정한 감시가격 이상의 현재가 발생하면 즉시 신호발생합니다. atstop,atlimit은 미완성시에 신호가 발생하지만 감시가격으로 셋팅되는 가격은 완성봉에서의 값이고 완성봉에서 셋팅된 감시가격과 현재 미완성봉의 현재가와 비교해서만 신호가 발생합니다. 미완성봉의 값을 감시가격으로 지정할 수 없습니다. 즐거운 하루되세요 > penfold 님이 쓴 글입니다. > 제목 : 예스랭귀지 구현 부탁드립니다 > 코스피선물, 코스닥선물, 국채선물 등을 대상으로, 사용자가 당일 타겟으로 정한 1개의 특정 기준가를 설정하고 (당일 장시작전 혹은 장중에 예스랭귀지 편집기에서 직접 수정하거나, 외부변수로 선언해서 UI에서 변경) 1분봉을 기준으로 롱 진입의 경우, 지금 그려지고있는 캔들에서 기준가격을 +5틱 상향돌파하여 현재 캔들 종가까지 이를 유지 시 바로 다음봉 시가가 형성되자마자 매수진입(체결리스크 피하기 위해 시장가주문), 로스컷은 지금 그려지고 있는 캔들에서 기준가격을 -3틱 하향돌파하여 현재 캔들 종가까지 유지 시 바로 다음봉 시가가 형성되자마자 포지션 청산(시장가주문으로 매도) 숏 진입의 경우, 지금 그려지고있는 캔들에서 기준가격을 -5틱 하향돌파하여 현재 캔들 종가까지 이를 유지 시 바로 다음봉 시가가 형성되자마자 매도진입(체결리스크 피하기 위해 시장가주문), 로스컷은 지금 그려지고 있는 캔들에서 기준가격을 +3틱 상향돌파하여 현재 캔들 종가까지 유지 시 바로 다음봉 시가가 형성되자마자 포지션청산(시장가주문으로 매수) (주문수량은 1계약) 오후 3시35분까지 포지션을 보유하고 있는 상황이라면, 당일 청산을 위해 선물 장 동시호가 매매시간인 15:35분 ~ 15시 45분 사이에 시장가로 전량 청산. 위 로직을 예스랭귀지로 구현 부탁드립니다. onclose, atmarket, atstop, atlimit 등이 헷갈려서 위와 같이 풀어서 설명하였는데, 혹시 구현해주신 시스템식에서 중간에 명령어를 onclose, atmarket, atstop, atlimit 등으로 바꿔가면서 구현하면 어떤 식으로 진입이나 청산이 될지 차이점에 대해서도 간단히 설명해주시면 감사하겠습니다.