첨부 이미지
그림1
알려주신 대로 IF maketposition==0 으로 변경하여 확인 하였더니 exitlong # exitshort #
사라졌으나
첨부파일을 보면 파란원안에 "bxL" "bxm" 로 신호명은 바르게 표기되어있으나, 빨간원 부근에서 청산되지를 않고
다음봉의 시가에 청산되어 손실이 두배이상 나옵니다.이런 현상이 2회나 발생합니다. 확인 좀 부탁드립니다.
참고로 진입은 IF maketposition==0 조건 then
Buy("b",OnClosE,DeF,2);
청산은 if MarketPosition == 1 Then
ExitLong("bxL",AtStop,L[BarsSinceEntry]); 이렇게 되어있습니다.
답변 1
예스스탁
예스스탁 답변
2024-07-11 15:26:57
안녕하세요
예스스탁입니다.
onclose는 봉완성시 진입입니다.
봉완성시는 다음봉시가가 수신될때입니다.
다음봉시가 수신시에 조건이 충족되면 완성봉인 종가에 신호를 표시하는 타입니다.
그러므로 onclose로 신호가 발생하고
MarketPosition이 1이 되는 것은그 신호표시봉 다음봉 부터입니다.
atstop은 봉완성시 값을 세팅하고 다음봉 현재가와 비교해 신호가 발생합니다.
onclose로 진입을 하고 다음봉에서 MarketPosition == 1 임을 확인하고
값을 셋팅하면 그다음봉부터 신호가 발생할 수 있습니다.
onclose로 진입하고 진입봉 기준값으로
atstop이나 atlimit으로 청산시에는
진입봉 다음봉에서만 청산하는 수식을 추가해 주셔야 합니다.
IF MarketPosition ==0 and 조건 then
{
Buy("b",OnClosE,DeF,2);
ExitLong("bxL1",AtStop,L);#진입봉 다음봉만 감시해서 청산
}
if MarketPosition == 1 Then
ExitLong("bxL",AtStop,L[BarsSinceEntry]);
즐거운 하루되세요
> 산수유 님이 쓴 글입니다.
> 제목 : 다시 한번 확인 부탁드립니다.
> 알려주신 대로 IF maketposition==0 으로 변경하여 확인 하였더니 exitlong # exitshort #
사라졌으나
첨부파일을 보면 파란원안에 "bxL" "bxm" 로 신호명은 바르게 표기되어있으나, 빨간원 부근에서 청산되지를 않고
다음봉의 시가에 청산되어 손실이 두배이상 나옵니다.이런 현상이 2회나 발생합니다. 확인 좀 부탁드립니다.
참고로 진입은 IF maketposition==0 조건 then
Buy("b",OnClosE,DeF,2);
청산은 if MarketPosition == 1 Then
ExitLong("bxL",AtStop,L[BarsSinceEntry]); 이렇게 되어있습니다.