커뮤니티

문의 드립니다

프로필 이미지
비상8
2017-06-05 18:22:45
133
글번호 110173
답변완료
안녕하세요 진입에 atlimit 와 atmarket 는 시뮬레이션해보면 큰차이가 나는데 무슨이유인지요 ? 슬리피지도 다르게 주어야 한다고하고 ? if idx == 1 && var1 > var2 Then buy ("a",atLimit,c); Else if var2 < var3 && CrossUp(var1,var2) then buy("b",atLimit,c); if gap < -갭1 && CrossUp(var1,var2) then buy("c",atLimit,c); if idx == 1 && var1 < var2 Then sell("d",atLimit,c); Else if var2 > var3 && crossdown(var1,var2) Then sell("e",atLimit,c); if gap > 갭1 && crossdown(var1,var2) Then sell("f",atLimit,c); if idx == 1 && var1 > var2 Then buy ("a",AtMarket,c); Else if var2 < var3 && CrossUp(var1,var2) then buy("b",AtMarket,c); if gap < -갭1 && CrossUp(var1,var2) then buy("c",AtMarket,c); if idx == 1 && var1 < var2 Then sell("d",AtMarket,c); Else if var2 > var3 && crossdown(var1,var2) Then sell("e",AtMarket,c); if gap > 갭1 && crossdown(var1,var2) Then sell("f",AtMarket,c); 상세한 설명 부탁드립니다 atlimit 는 슬리피지 0.05 atmarket 은 슬리피지 0.03 이 맞는지요 ? 아니면 똑같이 주어야 하는지요 ? 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-06-07 10:41:36

안녕하세요 예스스탁입니다. 1 atmarket은 봉완성시 다음봉 시가에 신호를 발생하는 타입이고, atlimit은 봉완성시 가격조건을 걸고 다음봉에서 해당 가격조건을 충족하는 시세가 발생할때만 신호가 발생하는 타입입니다. 즉 if조건이 만족하면 atmarket은 무조건 다음봉 시가에 신호가 발생하지만 atlimit은 발생하지 않을수도 있습니다. atlimit 매수주문함수(Buy,exitshort)에 사용하면 봉완성시 지정한 가격을 셋팅하고 다음봉에서 지정한 가격 이하의 시세가 발생해야만 신호발생 매도주문함수(sell,exitlong)에 사용하면 봉완성시 지정한 가격을 셋팅하고 다음봉에서 지정한 가격 이상의 시세가 발생해야만 신호발생 예스랭귀지 도움말에서 신호타입(Onclose,Atmarket,Atstop,atlimit)에 대한 내용 참고하시기 바랍니다. 2 시스템설정창의 수수료와 슬리피지는 시스템성능보고서의 손익을 계산할때 실전과 비슷하게 맞추기 위해 지정한 값만큼 비용으로 처리해서 위함입니다. 신호발생과는 관계가 없고 발생된 신호에 대한 손익에 대해서 지정한 슬리피지 만큼 차감합니다. 일반적으로 atmarket보다는 atlimit타입이 슬리피지가 더 많이 발생하는 경향이 있어 atlimit을 사용한 전략에는 집입청산에 1틱씩, atmarket을 사용한 전략에는 반틱정도로 지정하기도 합니다. 다만 하나의 수식에는 신호타입이 중복으로 여러개 사용되기도 하고 실제 발생하는 슬리피지등을 알수가 없어 이정도 발생할것이라고 감안하고 지정하는 부분이므로 일반적으로 진입청산에 각각반틱(1거래당 1틱)정도로 지정해서 적용하는 경우가 많고. 보수적으로 슬리피지를 잡는 분들은 항상 진입청산에 1틱(1거랭당 2틱)으로 지정하는 분들도 있습니다. 즐거운 하루되세요 > 비상8 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 안녕하세요 진입에 atlimit 와 atmarket 는 시뮬레이션해보면 큰차이가 나는데 무슨이유인지요 ? 슬리피지도 다르게 주어야 한다고하고 ? if idx == 1 && var1 > var2 Then buy ("a",atLimit,c); Else if var2 < var3 && CrossUp(var1,var2) then buy("b",atLimit,c); if gap < -갭1 && CrossUp(var1,var2) then buy("c",atLimit,c); if idx == 1 && var1 < var2 Then sell("d",atLimit,c); Else if var2 > var3 && crossdown(var1,var2) Then sell("e",atLimit,c); if gap > 갭1 && crossdown(var1,var2) Then sell("f",atLimit,c); if idx == 1 && var1 > var2 Then buy ("a",AtMarket,c); Else if var2 < var3 && CrossUp(var1,var2) then buy("b",AtMarket,c); if gap < -갭1 && CrossUp(var1,var2) then buy("c",AtMarket,c); if idx == 1 && var1 < var2 Then sell("d",AtMarket,c); Else if var2 > var3 && crossdown(var1,var2) Then sell("e",AtMarket,c); if gap > 갭1 && crossdown(var1,var2) Then sell("f",AtMarket,c); 상세한 설명 부탁드립니다 atlimit 는 슬리피지 0.05 atmarket 은 슬리피지 0.03 이 맞는지요 ? 아니면 똑같이 주어야 하는지요 ? 감사합니다