커뮤니티

수고하십니다. atstop 의질문

프로필 이미지
구름달
2021-12-06 09:53:24
472
글번호 154202
답변완료
처음 진입은 봉 완성전에 익절하고 싶은데 봉 완성후 익절이 되는 것 같아서요 봉 완성전 만족하면 청산하고 싶은데 무엇이 잘못 되었나요.. <SetStopProfittarget : 이것을 이용하면 모든 청산에 적용되네요.> SetStopProfittarget 을 제어할 수 있는 방법이 있나요 if marketposition() == 1 AND (C -EntryPrice) >= (C*0.001) and entriestoday(date)==1 Then {exitlong("처수익절",atstop, entryprice() + (C*0.001));out_tim=sTime+2000;} if marketposition() == -1 AND (EntryPrice -C) >= (C*0.001) and entriestoday(date) ==1 Then {exitshort("처도익절", atstop, entryprice() - (C*0.001));out_tim=sTime+2000;}
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-12-06 13:35:58

안녕하세요 예스스탁입니다. 1 if문은 봉완성시가 기준이며 또한 atstop은 봉완성시에 가격을 셋팅하고 다음봉 현재가와 셋팅된 가격을 비교해 신호를 발생합니다. 그러므로 작성하신 내용으로는 진입후 첫봉에서는 신호가 발생하지 못합니다. 2 일반청산함수로 진입 후 다음봉에서도 청산을 하고자 하시면 진입과 동시에 청산도 같이 셋팅이 되게 해야 하는데 진입신호가 onclose나 atmarket으로 신호타입일때만 가능합니다. 진입이 atstop이나 atlimit이면 봉미완성시에 신호가 발생해서 진입가를 알수가 없습니다. 아래식 참고하시기 바랍니다. 3 out_tim=sTime+2000 는 어떤 내용인지 알수 없어 삭제했습니다. 청산시간에서 20분을 더한 값이면 위 식으로는 맞지 않는 내용입니다. 청산시간이 105000이면 위 계산식으로 107000이 됩니다. 청산시간에서 20분이 경과한 것을 표현하기 위해 작성하신 내용이면 2번째 진입부터 아래 표현을 사용하시면 됩니다. stime >= TimeToMinutes(sTime)+20 4 if marketposition() == 1 Then { if entriestoday(date)==1 Then { exitlong("처수익절",atstop, entryprice() + (entryprice*0.001)); } } Else { if entriestoday(date) == 0 Then { exitlong("처수익절1",atstop, C+(C*0.001)); #진입이 AtMarket일 경우 #exitlong("처수익절1",atstop, NextBarOpen+(NextBarOpen*0.001)); } } if marketposition() == -1 Then { if entriestoday(date) ==1 Then { exitshort("처도익절", atstop, entryprice() - (entryprice*0.001)); } } Else { if entriestoday(date) == 0 Then { exitshort("처도익절1", atstop, entryprice() - (C*0.001)); #진입이 AtMarket일 경우 #exitshort("처도익절1", atstop, NextBarOpen - (NextBarOpen*0.001)); } } 즐거운 하루되세요 > 구름달 님이 쓴 글입니다. > 제목 : 수고하십니다. atstop 의질문 > 처음 진입은 봉 완성전에 익절하고 싶은데 봉 완성후 익절이 되는 것 같아서요 봉 완성전 만족하면 청산하고 싶은데 무엇이 잘못 되었나요.. <SetStopProfittarget : 이것을 이용하면 모든 청산에 적용되네요.> SetStopProfittarget 을 제어할 수 있는 방법이 있나요 if marketposition() == 1 AND (C -EntryPrice) >= (C*0.001) and entriestoday(date)==1 Then {exitlong("처수익절",atstop, entryprice() + (C*0.001));out_tim=sTime+2000;} if marketposition() == -1 AND (EntryPrice -C) >= (C*0.001) and entriestoday(date) ==1 Then {exitshort("처도익절", atstop, entryprice() - (C*0.001));out_tim=sTime+2000;}