안녕하세요.
SetStopTrailing 함수를 사용하면 봉가정 오류가 자주 발생하는데
이미 완성된 이전봉 기준으로 이 함수를 적용하는 방법을 좀 알려주세요.
현재봉 말고 바로 이전봉에서 SetStopTrailing 조건을 만족하면 청산하는 방법이
있을까요?
SetStopTrailing(수익감소값,최소수익값,Method,tr_Method);
의 형식에서 뒤에 Method 값을 하나더 넣어서 이전봉을 지정할수 있으면 좋겠습니다.
Method 0은 현재봉, 1은 직전봉 이런식으로...
수고하세요.
답변 1
예스스탁
예스스탁 답변
2020-11-16 16:19:24
안녕하세요
예스스탁입니다.
강제청산 함수에 매개변수 추가는 불가능합니다.
아래와 같이 풀어서 작성해서 사용하시면 됩니다.
봉완성시의 최고가와 최저가를 기준으로 수익조건을 체크하고 만족하면
완성봉의 최고가와 최저가를 기준으로 다음봉에서
일정폭 하락하면 청산하게 됩니다.
#10% 수익이후 20% 수익 감소하면 청산
input : UPrate(10),Dnrate(20);
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice*(1+UPrate/100) then
exitlong("Btr1",AtStop,var1-(var1-EntryPrice)*(Dnrate/100));
}
if MarketPosition == -1 Then{
var2 = Lowest(L,BarsSinceEntry);
if var2 <= EntryPrice*(1-UPrate/100) then
ExitShort("Str1",AtStop,var2+(EntryPrice-var2)*(Dnrate/100));
}
# 5포인트 수익이후에 최고가격대비 2포인트 하락하면 청산
input : UPpoint(5),Dnpoint(2);
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+UPpoint then
exitlong("Btr2",AtStop,var1-Dnpoint);
}
if MarketPosition == -1 Then{
var2 = Lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-UPpoint then
ExitShort("Str2",AtStop,var2+Dnpoint);
}
즐거운 하루되세요
> 풍경 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 안녕하세요.
SetStopTrailing 함수를 사용하면 봉가정 오류가 자주 발생하는데
이미 완성된 이전봉 기준으로 이 함수를 적용하는 방법을 좀 알려주세요.
현재봉 말고 바로 이전봉에서 SetStopTrailing 조건을 만족하면 청산하는 방법이
있을까요?
SetStopTrailing(수익감소값,최소수익값,Method,tr_Method);
의 형식에서 뒤에 Method 값을 하나더 넣어서 이전봉을 지정할수 있으면 좋겠습니다.
Method 0은 현재봉, 1은 직전봉 이런식으로...
수고하세요.