커뮤니티

확장차트 시그널 관련 문의

프로필 이미지
차칸늑대
2024-05-08 10:12:10.0
520
글번호 226006
답변완료
안녕하세요 Spot에서 확장차트를 불러 매수 시그널을 받을 때 차트에 지정된 시스템 전략식의 매수, 매도량을 받아서 처리할수는 없을까요? 현재는 아래와 같이 되어 있습니다. #capitals 는 자본, highband_price는 임의로 설정한 기준가격 # highband_price 값에 따라 수량이 바뀜 qnt = Round((capitals/highband_price),0); buy("Long1", onClose,DEF,qnt); # 이외 다양한 분할 손절/익절 조건 존재 function Main_OnRiseSignal(ChartEx, Signal) { //신호발생 종목에 대해 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Signal.code),0); //매수신호이고 잔고가 없을때만 매수 if (Signal.signalKind == 1) { //Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.current),0,1); Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.GetClose(1,0)),0,1); Main.MessageLog("매수주문 수량 "+Math.floor(500000/ChartEx.GetClose(1,0))); } //알단 여기 QnA 계시판 보고 확장차트 시그널 받아서 처리하는 부분을 저렇게 처리를 했는데.. 아무래도 저렇게 하면 수량이 50만원 자본, 현재가 기준 매수 수량으로 고정이 되는거 같은데요. 위의 예스 랭귀지 시스템에서 발생한 매수 시그널의 매수 수량을 그대로 가져와서 매수가 되게끔 처리할수 없을지 문의드립니다. 감사합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-05-22 16:42:49.0

안녕하세요 예스스탁입니다. 신호가 발생하면 신호의 수량도 Signal객체에 같이 제공됩니다. 신호의 수량은 Signal.count로 리턴됩니다. function Main_OnRiseSignal(ChartEx, Signal) { //신호발생 종목에 대해 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Signal.code),0); //매수신호이고 잔고가 없을때만 매수 if (Signal.signalKind == 1) { //Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.current),0,1); Account1.OrderBuy(Main.GetOrderCode(Signal.code),Signal.count,0,1); Main.MessageList("매수주문 수량 ",Signal,count); } 즐거운 하루되세요 > 차칸늑대 님이 쓴 글입니다. > 제목 : 확장차트 시그널 관련 문의 > 안녕하세요 Spot에서 확장차트를 불러 매수 시그널을 받을 때 차트에 지정된 시스템 전략식의 매수, 매도량을 받아서 처리할수는 없을까요? 현재는 아래와 같이 되어 있습니다. #capitals 는 자본, highband_price는 임의로 설정한 기준가격 # highband_price 값에 따라 수량이 바뀜 qnt = Round((capitals/highband_price),0); buy("Long1", onClose,DEF,qnt); # 이외 다양한 분할 손절/익절 조건 존재 function Main_OnRiseSignal(ChartEx, Signal) { //신호발생 종목에 대해 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Signal.code),0); //매수신호이고 잔고가 없을때만 매수 if (Signal.signalKind == 1) { //Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.current),0,1); Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.GetClose(1,0)),0,1); Main.MessageLog("매수주문 수량 "+Math.floor(500000/ChartEx.GetClose(1,0))); } //알단 여기 QnA 계시판 보고 확장차트 시그널 받아서 처리하는 부분을 저렇게 처리를 했는데.. 아무래도 저렇게 하면 수량이 50만원 자본, 현재가 기준 매수 수량으로 고정이 되는거 같은데요. 위의 예스 랭귀지 시스템에서 발생한 매수 시그널의 매수 수량을 그대로 가져와서 매수가 되게끔 처리할수 없을지 문의드립니다. 감사합니다.