커뮤니티

시뮬레이션과 실제매매차이

프로필 이미지
피카2
2022-12-07 14:05:13
904
글번호 164399
답변완료
수고많으십니다.진입조건 봉완성시점에 진입하고 청산은 setstoptrailng(1%,4%),SetStopLoss (3%)를 사용하는데요, 실전은 2%~5% 정도 수익을 내고 청산됬는데, 시뮬레이션 성능보고서상 거래내역에는 막 20%,30%수익 실현한 것으로 나옵니다. 과거년도 시뮬레이션한 차트도 자세히 보니 stoploss는 숫자값으로 봉 중간에 표시도되고 청산되는 데, setstoptrailng 청산신호는 예외없이 봉의 꼬리에 신호표지가 마킹되고, 성능보고서 거래내역도 그 값으로 나옵니다.setstoptrailng 시뮬레이션은 완성봉의 최고점 대비 1%하락시 수익청산된 것으로 계산되서 결과적으로 엄청나게 과다계상 됩니다. setstoptrailng 적용하는 시뮬레이션은 수익과다계상 무용지물인 것인지 다른 구현방법이 있는 것인지 답변 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-12-07 14:19:09

안녕하세요 예스스탁입니다. 차트의 과거 각봉안에는 모든 시세가 있지 않습니다. 차트의 과거봉은 각봉의 시고저종가만 수신받아 하나의 봉이 그려지므로 봉 내부의 실제 움직임을 알수가 없습니다. 이런이유로 차트과거봉의 움직임에 대한 가설을 만들고 해당 가설대로 움직인것으로 보고 신호가 발생됩니다. 예스랭귀지 도움말에서 아래 부분을 참고하시기 바랍니다. 예스랭귀지 활용 --> 과거 데이터 움직임 가설 예스랭귀지 활용 --> 실전매매와 시뮬레이션의 차이 --> SetStopTrailing setstoptrailng은 실시간 봉에서는 시세의 움직임을 쫓아가면서 정확히 신호가 발생하지만 과거봉에서는 봉 내부의 실제 움직임을 없어 가설대로 움직인것으로 보고 신호가 발생하게 되고 봉의 고가나 저가가 기준이 되어 손익이 체크되므로 수익이 과대계상해서 계산이 됩니다. 또한 setstoptrailng에 최소수익이나 수익감소값을 크게 지정하면 하나의 봉에서 최대수익발생과 감소조건이 충족할 가능성이 작으므로 실제와 크게 차이가 발생하지 않지만 해당 값들은 작게 지정할 수록 실전과 괴리가 커지게 됩니다. 위 내용을 피하시려면 setstoptrailng을 일반 exitlong,exitshort함수로 풀어서 작성하시면 됩니다. 1 3포인트 이상 수익후 1포인트 수익감소 input : 최소수익(3),수익감소(1); if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice+최소수익 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-수익감소); } if MarketPosition == -1 Then { if lowest(L,BarsSinceEntry) <= EntryPrice-최소수익 Then ExitShort("sx",AtStop,lowest(L,BarsSinceEntry)+수익감소); } 2 5% 이상 수익후 30% 수익감소 input : 최소수익(5),수익감소(30); if MarketPosition == 1 Then { if highest(H,BarsSinceEntry) >= EntryPrice*(1+최소수익/100) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-(highest(h,BarsSinceEntry)-EntryPrice)*(수익감소/100)); } if MarketPosition == -1 Then { if lowest(L,BarsSinceEntry) <= EntryPrice*(1-최소수익/100) Then ExitShort("sx",AtStop,lowest(L,BarsSinceEntry)+(EntryPrice-lowest(L,BarsSinceEntry))*(수익감소/100)); } 즐거운 하루되세요 > 피카2 님이 쓴 글입니다. > 제목 : 시뮬레이션과 실제매매차이 > 수고많으십니다.진입조건 봉완성시점에 진입하고 청산은 setstoptrailng(1%,4%),SetStopLoss (3%)를 사용하는데요, 실전은 2%~5% 정도 수익을 내고 청산됬는데, 시뮬레이션 성능보고서상 거래내역에는 막 20%,30%수익 실현한 것으로 나옵니다. 과거년도 시뮬레이션한 차트도 자세히 보니 stoploss는 숫자값으로 봉 중간에 표시도되고 청산되는 데, setstoptrailng 청산신호는 예외없이 봉의 꼬리에 신호표지가 마킹되고, 성능보고서 거래내역도 그 값으로 나옵니다.setstoptrailng 시뮬레이션은 완성봉의 최고점 대비 1%하락시 수익청산된 것으로 계산되서 결과적으로 엄청나게 과다계상 됩니다. setstoptrailng 적용하는 시뮬레이션은 수익과다계상 무용지물인 것인지 다른 구현방법이 있는 것인지 답변 부탁드립니다. 감사합니다.