커뮤니티

몇가지 문의 드립니다.

프로필 이미지
birdfire
2012-02-22 17:37:36
260
글번호 48080
답변완료
안녕하세요? 1. 10분봉 시스템 로직을 실제 매매 차트에 적용하면 매매 예비 신호가 잡히는 것으로 봐서, 매회 10분마다 로직이 실행되는 것은 아닌 것으로 보입니다. 틱이 변할 때마다 로직을 수행해서 내부신호를 가려내는 건가요? 실제 차트에서 매회 실행되는 시간 기준은 무엇인지 알고 싶습니다. 2. 아래와 같은 구문이 있다고 가정할 때, if C > O then Buy( "B", AtStop, C+0.5 ); if marketposition <> 0 then { if positionprofit < 0.3 then setstoploss(0.25, pointstop ); else if positionprofit < 1.0 then setstoploss(0, pointstop ); } 실제 차트에서, 9:00 에 10분봉에서 Buy( "B", AtStop, C+0.5 ); 로 실행하도록 명령이 실행한 후에, 만약 9:03 에 C+0.5 라는 조건이 만족된다면, 10분 봉이 완성되어 있지 않더라도 Buy() 구문이 실행될 것인데요, 그럼 Buy() 아래 구문인 if marketposition <> 0 은 언제 실행 되나요? 예비 신호를 계산할 때 같이 계산되나요? 아니면 10분봉이 완성될 때 실행되나요? 실제 신호차트에서 로직이 어떤 시간 단위로 어떻게(atstop 을 건 구문만 tick 단위로 도는 건지, 전체 로직이 tick 단위로 한번 수행되는건지, 혹은 또 다른 방법인지..) 실행되는지 알고 싶어 문의 드립니다. 시뮬레이션은 1분봉이 최소한의 시간단위로 알고 있는데 사실 너무 긴듯 하여 드리는 말씀입니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-02-23 09:28:48

안녕하세요 예스스탁입니다. 수식의 계산은 체결시세(틱)의 변동이 있을때마다 계산을 하며 실시간으로 계산하여 현재 조건만족여부를 판단하고 있다가 봉을 완성시키는 시세(다음봉시가)가 수신되면 실행문이 동작하게 됩니다. 봉완성시에 최종 if문이 만족하면 buy가 동작하는데 주문타입이 onclose나 atmarket이면 봉완성시에 즉시 주문이 되고 atstop이나 atlimit이면 지정한 신호가격을 가격조건으로 다시 셋팅을 하고 다음봉의 시세가 지정한 신호가격조건을 만족하는지 판단하고 주문을 발생하게 됩니다. if C > O then Buy( "B", AtStop, C+0.5 ); if marketposition <> 0 then { if positionprofit < 0.3 then setstoploss(0.25, pointstop ); else if positionprofit < 1.0 then setstoploss(0, pointstop ); } 만약 10분봉을 사용하고 위와 같은 구문이 있다면 1. 9시봉의 완성시에 9시봉이 양봉이면(9시 10분봉 시가수신할때) 2. 9시봉의 종가+0.5를 atstop가격조건을 걸고 3. 9시 10분봉의 시세중에 9시봉의 종가+0.5 이상을 기록하는 시세가 있는지 감시하고 4. 9시봉의 종가+0.5의 가격 이상인 시세가 발생하면 즉시 매수주문을 합니다. 5. 9시 10분봉에서 매수신호가 발생하면 즉시 marketpostion은 1이 되지만 6. if문은 봉완성시 최종 조건만족여부를 판단하므로 7. if marketposition <> 0 then 조건은 9시 10분봉 완성시(9시20분봉시가수신)에 최종 true값을 가지게 됩니다. 즉 모두 실시간으로 체결시세에 변동이 있을때마다 계산을 하지만 수식은 봉완성이 기본체계로 if문은 모두 봉완성시에 최종적으로 true나 false값을 결정하게 되므로 봉미완성시에 if조건의 만족여부를 따져 신호를 발생시키지는 않습니다. 즐거운 하루되세요 > birdfire 님이 쓴 글입니다. > 제목 : 몇가지 문의 드립니다. > 안녕하세요? 1. 10분봉 시스템 로직을 실제 매매 차트에 적용하면 매매 예비 신호가 잡히는 것으로 봐서, 매회 10분마다 로직이 실행되는 것은 아닌 것으로 보입니다. 틱이 변할 때마다 로직을 수행해서 내부신호를 가려내는 건가요? 실제 차트에서 매회 실행되는 시간 기준은 무엇인지 알고 싶습니다. 2. 아래와 같은 구문이 있다고 가정할 때, if C > O then Buy( "B", AtStop, C+0.5 ); if marketposition <> 0 then { if positionprofit < 0.3 then setstoploss(0.25, pointstop ); else if positionprofit < 1.0 then setstoploss(0, pointstop ); } 실제 차트에서, 9:00 에 10분봉에서 Buy( "B", AtStop, C+0.5 ); 로 실행하도록 명령이 실행한 후에, 만약 9:03 에 C+0.5 라는 조건이 만족된다면, 10분 봉이 완성되어 있지 않더라도 Buy() 구문이 실행될 것인데요, 그럼 Buy() 아래 구문인 if marketposition <> 0 은 언제 실행 되나요? 예비 신호를 계산할 때 같이 계산되나요? 아니면 10분봉이 완성될 때 실행되나요? 실제 신호차트에서 로직이 어떤 시간 단위로 어떻게(atstop 을 건 구문만 tick 단위로 도는 건지, 전체 로직이 tick 단위로 한번 수행되는건지, 혹은 또 다른 방법인지..) 실행되는지 알고 싶어 문의 드립니다. 시뮬레이션은 1분봉이 최소한의 시간단위로 알고 있는데 사실 너무 긴듯 하여 드리는 말씀입니다.