안녕하세요, 다른글의 답변에서 문의내용 있어 재질문드립니다.
아래에서 알려주신 수식중에
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atmarket);
에서 buy부분에 대신
buy("B", atlimit, dayopen(0),1); 를 넣으면 어떤차이가 있는지요?
-----------------------------------------------------
안녕하세요? 예스스탁입니다.
이해하고 계신 내용이 맞습니다. 차트의 주기가 달라지면 동일한 전략이라도 신호의 위치나 시점이 달라지기 때문에 다른 성과를 나타내게 됩니다.
장시작후 가장 빨리 주문을 내고자 하신다면 주기가 짧은 틱차트를 사용하시면 됩니다.
틱차트의 경우 봉차트에 비해 모든 데이터를 수신 받아서 계산해야 되기 때문에 컴퓨터에 부하는 더 많이 가게 됩니다. 다만, 적용하는 종목수가 적고 연산을 많이 하지 않는 시스템식을 사용하신다면 별 문제는 되지 않을 것으로 판단됩니다.
참고로 단순히 시가 데이터만을 사용하시는 경우라면 nextbaropen(다음봉 시가), nextbarstime(다음봉 시작시각)을 이용하셔서 다음봉 시가가 들어오는 순간 즉시 주문을 내는 것도 가능합니다. 예를 들어 시초가가 전일 종가대비 1% 상승한다면 시가가 들어온 후 즉시 주문을 내고자 하는 경우라면 아래와 같이 작성할 수 있습니다.
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atmarket);
참고로 nextbarstime이나 nextbaropen을 사용하는 경우에는 주문 타입에 onclose타입을 사용할 수 없습니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2022-06-08 10:21:31
안녕하세요
예스스탁입니다.
차트에서 봉완성은 다음봉시가가 수신될 때입니다.
봉완성시 다음봉 시가의 시간이 nextbarstime, 가격이 nextbaropen입니다.
2개식 모두 9시 시초가가 수신될 때이고
시가가 완성봉의 종가(전일종가)보다 1%이상 크면 조건을 충족하게 됩니다.
2개식이 다른부분은 진입시점입니다.
1
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atmarket);
위 식은 시초가가 전일종가대비 1%이상 크면 시초가에 바로 매수하는 식입니다.
2
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atlimit, dayopen(0),1);
atlimit은 봉완성시(다음봉시가수신) 지정한값을 셋팅하고
다음봉에서 지정한 가격이하의 시세가 발생하면 신호가 발생합니다.
완성된 봉이 전일 마지막봉이고 전일마지막봉 기준 dayopen(0)이므로 셋팅되는 값도 전일시초가입니다.
그러므로 시초가가 1%이상 갭상승하고 다시 전일 시초가보다 이하의 시세가 발생해야 신호가 발생합니다.
만일 전일시초가가 당일시초가보다 크거나 같으면 시초가에 즉시 신호 발생합니다.
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 수식작성 차이 문의
> 안녕하세요, 다른글의 답변에서 문의내용 있어 재질문드립니다.
아래에서 알려주신 수식중에
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atmarket);
에서 buy부분에 대신
buy("B", atlimit, dayopen(0),1); 를 넣으면 어떤차이가 있는지요?
-----------------------------------------------------
안녕하세요? 예스스탁입니다.
이해하고 계신 내용이 맞습니다. 차트의 주기가 달라지면 동일한 전략이라도 신호의 위치나 시점이 달라지기 때문에 다른 성과를 나타내게 됩니다.
장시작후 가장 빨리 주문을 내고자 하신다면 주기가 짧은 틱차트를 사용하시면 됩니다.
틱차트의 경우 봉차트에 비해 모든 데이터를 수신 받아서 계산해야 되기 때문에 컴퓨터에 부하는 더 많이 가게 됩니다. 다만, 적용하는 종목수가 적고 연산을 많이 하지 않는 시스템식을 사용하신다면 별 문제는 되지 않을 것으로 판단됩니다.
참고로 단순히 시가 데이터만을 사용하시는 경우라면 nextbaropen(다음봉 시가), nextbarstime(다음봉 시작시각)을 이용하셔서 다음봉 시가가 들어오는 순간 즉시 주문을 내는 것도 가능합니다. 예를 들어 시초가가 전일 종가대비 1% 상승한다면 시가가 들어온 후 즉시 주문을 내고자 하는 경우라면 아래와 같이 작성할 수 있습니다.
if nextbarstime == 090000 and nextbaropen > C*1.01 then
buy("B", atmarket);
참고로 nextbarstime이나 nextbaropen을 사용하는 경우에는 주문 타입에 onclose타입을 사용할 수 없습니다.
감사합니다.