커뮤니티
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. 20150226_113319.png (0.04 MB)
답변 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,"매수");
}
}