커뮤니티

setstoptrailing 질문

프로필 이미지
회원
2015-02-26 11:34:46
152
글번호 83466
답변완료

첨부 이미지

다음과 같이 매수주문을 내어 매수를 했습니다 var1 = round(3000000 / c,0); buy("매수",AtMarket,def,var1); 매수후 1.5%의 수익이후 맥스 수익보다 수익이 작아질경우 매도를 하기위해 아래와같이 했습니다. SetStopTrailing(0.1,1.5,percentstop,1); 근데 정상적으로 매도가 되지 않네요.. 뭔가 잘못한부분이 있나요? 예상대로라면 그림에서 앞 표시부분에서 매도가 됐어야하는데... 엉뚱하게 한참뒤에서 나오네요.. 그리고 다르게 해보다가 아래의 조건을 추가해서 매도를 하려하니 이것도 안되는군요... 1.5%수익 이후 음봉이 나왔을경우 매도하려 했습니다. 이것도 ExitLong 구문에서 안되는것같은데.... 뭐가 잘못된걸까요. if (c - 진입가격) / c * 100 >= 1.5 Then{ if c<o Then{ ExitLong("청산",OnClose,def,"매수"); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-02-26 18:16:12

안녕하세요 예스스탁입니다. 1. SetStopTrailing(0.1,1.5,percentstop,1); 위 내용은 1.5%이상 수익이 발생한 이후의 최고점에서 0.1% 하락하면 청산입니다. if sdate == 20150226 and stime == 91300 Then buy(); SetStopTrailing(0.1,1.5,percentstop,1); 위식 내용 적용하면 첨부된 그림과 같이 나타납니다. 올려주신 청산의 설정값과 차트에 적용하신 설정값에 차이가 있는 것 같습니다. 2. (c - 진입가격) / c * 100 >= 1.5 위 내용은 현재봉의 수익상태입니다. 현재봉이 아닌 진입이후에 1.5% 이상 수익이 발생했었다는 것을 나타내고자 하시면 (highest(H,BarsSinceEntry) - EntryPrice) / EntryPrice * 100 >= 1.5 와 같이 표현하셔야 합니다. if (highest(H,BarsSinceEntry) - EntryPrice) / EntryPrice * 100 >= 1.5 Then{ if c<o Then{ ExitLong("청산"); } } 즐거운 하루되세요 > HI_we***** 님이 쓴 글입니다. > 제목 : setstoptrailing 질문 > 다음과 같이 매수주문을 내어 매수를 했습니다 var1 = round(3000000 / c,0); buy("매수",AtMarket,def,var1); 매수후 1.5%의 수익이후 맥스 수익보다 수익이 작아질경우 매도를 하기위해 아래와같이 했습니다. SetStopTrailing(0.1,1.5,percentstop,1); 근데 정상적으로 매도가 되지 않네요.. 뭔가 잘못한부분이 있나요? 예상대로라면 그림에서 앞 표시부분에서 매도가 됐어야하는데... 엉뚱하게 한참뒤에서 나오네요.. 그리고 다르게 해보다가 아래의 조건을 추가해서 매도를 하려하니 이것도 안되는군요... 1.5%수익 이후 음봉이 나왔을경우 매도하려 했습니다. 이것도 ExitLong 구문에서 안되는것같은데.... 뭐가 잘못된걸까요. if (c - 진입가격) / c * 100 >= 1.5 Then{ if c<o Then{ ExitLong("청산",OnClose,def,"매수"); } }