커뮤니티

질문있습니다

프로필 이미지
공부중
2013-09-23 16:15:48
143
글번호 67725
답변완료
setstoploss(1, pointstop); 과 if marketposition==1 then exitlong("loss",atstop, entryprice-1); 과 시뮬레이션 상 차이가 발생합니다 두식간에 어떤 차이가 있는지 설명부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-09-23 17:20:49

안녕하세요 예스스탁입니다. 강제청산 함수는 신호가 발생하고 즉시 감시에 들어갑니다. 수식에서 풀어서 작성한 경우에는 포지션을 확인하기 위해 if marketposition==1 then 와 같이 조건을 주게 되는데 marketposition이 신호 발생 후에 값이 변경이 되고 if문이 봉완성시이므로 진입이 onclose인 경우 신호 발생 봉 다음봉부터 marketposition이 1이므로 해당 청산이 신호발생봉을 기준으로 다음다음봉부터 발생할수 있고 amarket,atstop,atlimit의 경우 진입신호 봉의 완성시에 marketposition이 1로 인지가 되므로 다음봉 부터 신호가 발생할 수 있습니다. 차트가 아주 짧은 주기이면 큰 차이가 없지만 그렇치 않을 경우 진입의 타입에 따라 즉시 발생할수 있는 식을 하나더 추가해 주시면 됩니다. #진입이 onclose타입인경우 if marketposition==1 then exitlong("loss",atstop, entryprice-1); if MarketPosition != 1 Then ExitLong("loss1",AtStop,C-1); #진입이 atmarket 타입일 경우 if marketposition==1 then exitlong("loss",atstop, entryprice-1); if MarketPosition != 1 Then ExitLong("loss1",AtStop,NextBarOpen -1); #진입이 atstop이나 atlimit일경우에는 사용자분이 진입식에 atstop이나 atlimit의 감시가격으로 지정한 값을 적어 주셔야 합니다. #진입이 atmarket 타입일 경우 if 매수조건 then buy("b",atstop,감시가격); if marketposition==1 then exitlong("loss",atstop, entryprice-1); if MarketPosition != 1 Then ExitLong("loss1",AtStop,감시가격-1); 즐거운 하루되세요 > 공부중 님이 쓴 글입니다. > 제목 : 질문있습니다 > setstoploss(1, pointstop); 과 if marketposition==1 then exitlong("loss",atstop, entryprice-1); 과 시뮬레이션 상 차이가 발생합니다 두식간에 어떤 차이가 있는지 설명부탁드립니다