커뮤니티

문의드립니다.

프로필 이미지
이심전심
2024-12-02 12:30:24
555
글번호 185833
답변완료
input : 손실률(2),수익률(5) ; var : 청산가능손익(false); IF ~~~~~~~~ Then buy("매수1", OnClose); IF ~~~~~~~~ Then buy("매수2", OnClose); 청산가능손익= marketPosition == 1 and ( C >= AvgEntryPrice*(1+수익률/100) or C <= AvgEntryPrice*(1-손실률/100) ) ; If 청산가능손익&&Crossdown(M20,M60) Then sell("매도1",OnClose); If 청산가능손익&&Crossdown(C,M20) Then sell("매도2",OnClose); (시스템트레이딩) 매도조건에 맞더라도 손실이 -2%가 되든 수익이 5%가 되지 않으면 청산을 안되게 하려고 위와같이 작성했는데 제대로 청산가능손익 상태가 아닌데도 그대로 청산이 되어 버립니다. 청산가능손익 상태일 때만 매도조건1 또는 매도조건2에서 청산되게 하려면 어떻게 해야 하는지 도움을 부탁드립니다. 주석도 같이 부탁드립니다. 수정,추가할 내용들이 많아서.....
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-12-02 14:56:28

안녕하세요 예스스탁입니다. 1 수식에 별도로 수정해 드릴 부분이 없습니다. 아래와 같이 간단히 진입매용 추가해 확인해 보았지만 모두 2%이상손실이거나 5%이상 수익일때만 매도가 발생하고 있습니다. input : 손실률(2),수익률(5) ; var : 청산가능손익(false); var : m20(0),m60(0); m20 = ma(c,20); m60 = ma(c,60); IF CrossUp(m20,m60) Then buy("매수1", OnClose); IF CrossUp(c,m20) Then buy("매수2", OnClose); 청산가능손익 = marketPosition == 1 and ( C >= AvgEntryPrice*(1+수익률/100) or C <= AvgEntryPrice*(1-손실률/100)); If 청산가능손익 && Crossdown(M20,M60) Then sell("매도1",OnClose); If 청산가능손익 && Crossdown(C,M20) Then sell("매도2",OnClose); 2 리포트에는 설정창의 비용/수량탭에서 지정한 수수료와 슬리피지가 적용됩니다. 청산 후 리포트에 해당 비용이 추가되므로 지정한 수익 이상에서 발생했지만 비용으로 인해 해당 수익 이하일수 있습니다. 비용/수량탭에서 수수료와 슬리피지는 조절하시거나 모두 0으로 지정하고 비교해 보시면 됩니다. 즐거운 하루되세요 > 이심전심 님이 쓴 글입니다. > 제목 : 문의드립니다. > input : 손실률(2),수익률(5) ; var : 청산가능손익(false); IF ~~~~~~~~ Then buy("매수1", OnClose); IF ~~~~~~~~ Then buy("매수2", OnClose); 청산가능손익= marketPosition == 1 and ( C >= AvgEntryPrice*(1+수익률/100) or C <= AvgEntryPrice*(1-손실률/100) ) ; If 청산가능손익&&Crossdown(M20,M60) Then sell("매도1",OnClose); If 청산가능손익&&Crossdown(C,M20) Then sell("매도2",OnClose); (시스템트레이딩) 매도조건에 맞더라도 손실이 -2%가 되든 수익이 5%가 되지 않으면 청산을 안되게 하려고 위와같이 작성했는데 제대로 청산가능손익 상태가 아닌데도 그대로 청산이 되어 버립니다. 청산가능손익 상태일 때만 매도조건1 또는 매도조건2에서 청산되게 하려면 어떻게 해야 하는지 도움을 부탁드립니다. 주석도 같이 부탁드립니다. 수정,추가할 내용들이 많아서.....