안녕하세요!
현물 매수로직에서 계좌잔액대비 매수수량을 자동으로 설정하는 로직을 문의드립니다.
예를 들어, 계좌잔액이 1천만원이라고 할때, 이를 5등분하여 5개 종목에 분할 매수/매도하는
로직으로 구현하고 싶은데, 2백만원은 A라는 종목에 00주(2백만원 / A종목 가격 = 00주),
2백만원은 B라는 종목에 XX주(2백만원 / B종목 가격 = XX주) 이런식으로 구현하려면 어찌하면 되는지요?
감사합니다.
답변 1
예스스탁
예스스탁 답변
2020-05-28 10:42:22
안녕하세요
예스스탁입니다.
예스랭귀지에 예수금을 호출하는 함수가 있습니다.
매개변수로 계좌번호를 지정하시면 값을 리턴받게 됩니다.
GetUnclearedDeposits("000-00-000000");
아래와 같이 작성하시면 예수금의 1/5금액으로 매수하게 됩니다.
var1 = GetUnclearedDeposits("000-00-000000");
if IsNaN(var1) == false and var1 > 0 Then
{
if 매수진입조건 Then
buy("b",OnClose,def,floor((var1/5)/c));
}
다만 해당함수를 사용시 유의하셔야 하는 부분이 있습니다.
실제계좌와 관련된 값은 항상 실시간에서만 값이 리턴됩니다. 차트의 과거봉에는 값이 없습니다.
해당 함수를 이용한 전략을 사용하실 때는 재접속이나 재적용하게 되면 이전에 발생한 신호를 연결해 차트에 그대로 발생할수 없습니다.
그러므로 전일 발생한 신호를 연결하거나
오늘 신호 발생후 재접속이나 시스템을 재적용하게 되면
당일 이전 발생한 신호가 해당봉에 그대로 발생할수가 없습니다.
이런 이유로 실제 계좌와 관련된 내용은
아래와 같이 직접 사용자분이 종목당 금액을 계산해 금액을 지정해서 구현하는 경우가 많습니다.
input : 매수금액(2000000);
if IsNaN(var1) == false and var1 > 0 Then
{
if 매수진입조건 Then
buy("b",OnClose,def,floor(매수금액/c));
}
즐거운 하루되세요
> 태산정복 님이 쓴 글입니다.
> 제목 : 계좌잔액대비 매수수량 지정
> 안녕하세요!
현물 매수로직에서 계좌잔액대비 매수수량을 자동으로 설정하는 로직을 문의드립니다.
예를 들어, 계좌잔액이 1천만원이라고 할때, 이를 5등분하여 5개 종목에 분할 매수/매도하는
로직으로 구현하고 싶은데, 2백만원은 A라는 종목에 00주(2백만원 / A종목 가격 = 00주),
2백만원은 B라는 종목에 XX주(2백만원 / B종목 가격 = XX주) 이런식으로 구현하려면 어찌하면 되는지요?
감사합니다.