커뮤니티

시뮬레이션 돌리는 법 문의

프로필 이미지
쌈팔광땡
2025-06-19 15:17:06
244
글번호 191930
답변완료
안녕하세요? 시뮬레이션 돌리는 법 문의 드립니다. 실제 과거데이터로 시뮬레이션을 돌려 보면, SetStopProfittarget(StopTrailingPrice, PointStop); SetStopTrailing(1, StopTrailingPrice, PointStop); 은 아주 큰 차이를 보입니다. 실제 상황이랑, 이 2개 함수간에 어떤 차이가 있는지 알듯, 말듯 합니다. 그리고, 실제 상황과 가장 유사한, 추천하시는 시뮬레이션 방법에 대해 알려주십시요.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-06-20 11:02:12

안녕하세요 예스스탁입니다. 1 SetStopProfittarget은 목표수익 청산함수입니다. SetStopProfittarget(3, PointStop); 와 같이 지정하면 3포인트 수익발생하면 즉시 청산합니다. 2 SetStopTrailing은 지정수익 후 수익이 일정값 감소하면 청산하는 함수입니다. SetStopProfittarget(1, 3, PointStop); 와 같이 지정하면 매수진입후최고가가 진입가+3포인트 보다 크면 매수진입후최고가에서 1포인트 이상 하락하면 즉시청산, 매도진입후최저가가 진입가-3포인트 보다 작고 매도진입후최저가에서 1포인트 이상 상승하면 즉시청산됩니다. 3 목표이익은 실제와 시뮬레이션과의 괴리가 거의 없습니다. 괴리가 많이 발생하는 강제청산이 SetStopTrailing입니다. 해당 함수가 실시간 봉에서는 정확히 체크되지만 과거봉 시뮬레이션에서는 봉 중간의 움직임을 알수 없어 봉의 고가와 저가가 기준이 되어 수익이 과대계상됩니다. 아래와 같이 작성해서 사용하시면 실제와 시뮬레이션에서 거의 동일하게 사용할 수 있습니다. 아래와 같이 작성하면 수익조건판단은 완성봉으로만 하게 됩니다. 현재 미완성봉의 고가나 저가를 포함해 수익조건달성을 체크하지 않습니다. 최근 완성봉 기준 수익조건달성했으면 현재봉에서 수익잠소조건 만족시 즉시 청산입니다. if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice+3 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-1); if MarketPosition == -1 and lowest(L,BarsSinceEntry) <= entryprice-3 Then ExitShort("sx",AtStop,lowest(L,BarsSinceEntry)+1); 즐거운 하루되세요 > 쌈팔광땡 님이 쓴 글입니다. > 제목 : 시뮬레이션 돌리는 법 문의 > 안녕하세요? 시뮬레이션 돌리는 법 문의 드립니다. 실제 과거데이터로 시뮬레이션을 돌려 보면, SetStopProfittarget(StopTrailingPrice, PointStop); SetStopTrailing(1, StopTrailingPrice, PointStop); 은 아주 큰 차이를 보입니다. 실제 상황이랑, 이 2개 함수간에 어떤 차이가 있는지 알듯, 말듯 합니다. 그리고, 실제 상황과 가장 유사한, 추천하시는 시뮬레이션 방법에 대해 알려주십시요.