커뮤니티
최대수익대비하락 여러개 구현법
2005-09-12 14:29:33
843
글번호 8292
안녕하세요.
한수식에 다중 최대수익대비하락을 표현하려합니다.
최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다.
10%벌고 5%하락, 즉, 10% 번수익이 반토막 날때청산하는 경우를 예시되어있더군요.
아래에 옮겨놨습니다. 그런데 최대수익대비하락 상황이 한가지일경우인 것으로
보입니다.)
여기에 추가하여, 아래에 있는 10%벌고 5%손실이 날때 청산하는 아래의 강제청산식에 최대수익대비하락경우 한가지를 더 첨가하고 싶습니다. 즉, 20%벌고 10%손실(반토막)이 날때도 강제청산으로 추가하고 싶습니다.
즉, 식은 하나지만 다른 수익레벨에서의 강제청산 2가지를 원합니다.
참고로, SetstopTrailing으로 표현하면 예를들어..
if c > entryprice()*1.08 then setstoptrailing(50,20,Percent,0);
if c < entryprice()*1.08 then setstoptrailing(50,10,Percent,0);
이런식으로 된다할 때 원래 특별한 조건없으면 앞식은 무효가 되지만
조건을 달아서 윗식은 둘다 유효로 나오게됩니다. 기존에 잘 써오던 것을
수식으로 표현하려는 것이지요.
즉, (많은 수익후의 최대수익대비하락)과 (적은 수익후의 최대수익대비하락)을
동시에 구현하려합니다.
윗식은 참고용이고, 아래 원문에 20%수익후 10%손실일때 최대수익대비하락을
추가하여 살짝 고쳐서 알려주시면 감사하겠습니다.
홈페이지에 있는 최대수익대비하락 [시스템식]예문
##########################################################
input : shortP(5), longP(20), 수익1(10), 손실1(5);
var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0);
단기이평 = ma(C, shortP);
장기이평 = ma(C, longP);
### 매수식
if crossup(단기이평, 장기이평) and marketposition() != 1 then {
buy();
var1 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then {
var1 = 1;
buyVal = C;
}
if var1 == 1 then {
if C < buyVal * (1 - 손실1/100) then
exitlong("TrailingStop(매수)");
}
### 매도식
if crossdown(단기이평, 장기이평) and marketposition() != -1 then {
sell();
var2 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4
var2 = -1;
sellVal = C; //문장5
}
if var2 == -1 then {
if C > sellVal * (1 + 손실1/100) then //문장6
exitshort("TrailingStop(매도)");
}
[문장설명]
문장1: 진입가격대비 10% 수익
문장2: 진입가격대비 10% 수익날 때의 종가를 저장
문장3: 진입후 10% 수익난 이후 5% 하락하면 청산
문장4: 진입가격대비 10% 수익
문장5: 진입가격대비 10% 수익날 때의 종가를 저장
문장6: 진입후 10% 수익난 이후 5% 하락하면 청산
###############################################
수고하세요.
답변 1
예스스탁 예스스탁 답변
2005-09-13 16:58:50
안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
input : shortP(5), longP(20),수익1(10),손실1(5),수익2(10),손실2(5);
var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0);
단기이평 = ma(C, shortP);
장기이평 = ma(C, longP);
### 매수식
if crossup(단기이평, 장기이평) and marketposition() != 1 then {
buy();
var1 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then { //문장1
var1 = 1;
buyVal = C; //문장2
}
### 최대수익 대비 하락 (20% 수익후 10% 손실시)
if marketposition() == 1 and C > entryprice(0) * (1 + 수익2/100) then { //문장1
var1 = 2;
buyVal = C; //문장2
}
if var1 == 1 then {
if C < buyVal * (1 - 손실1/100) then //문장3
exitlong("TrailingStop1(매수)");
}
if var1 == 2 then {
if C < buyVal * (1 - 손실2/100) then //문장3
exitlong("TrailingStop2(매수)");
}
### 매도식
if crossdown(단기이평, 장기이평) and marketposition() != -1 then {
sell();
var2 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4
var2 = -1;
sellVal = C; //문장5
}
### 최대수익 대비 하락 (20% 수익후 10% 손실시)
if marketposition() == -1 and C < entryprice(0) * (1 - 수익2/100) then { //문장4
var2 = -2;
sellVal = C; //문장5
}
if var2 == -1 then {
if C > sellVal * (1 + 손실1/100) then //문장6
exitshort("TrailingStop1(매도)");
}
if var2 == -2 then {
if C > sellVal * (1 + 손실2/100) then //문장6
exitshort("TrailingStop2(매도)");
}
즐거운 하루되세요
> wizard 님이 쓴 글입니다.
> 제목 : 최대수익대비하락 여러개 구현법
> 안녕하세요.
한수식에 다중 최대수익대비하락을 표현하려합니다.
최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다.
10%벌고 5%하락, 즉, 10% 번수익이 반토막 날때청산하는 경우를 예시되어있더군요.
아래에 옮겨놨습니다. 그런데 최대수익대비하락 상황이 한가지일경우인 것으로
보입니다.)
여기에 추가하여, 아래에 있는 10%벌고 5%손실이 날때 청산하는 아래의 강제청산식에 최대수익대비하락경우 한가지를 더 첨가하고 싶습니다. 즉, 20%벌고 10%손실(반토막)이 날때도 강제청산으로 추가하고 싶습니다.
즉, 식은 하나지만 다른 수익레벨에서의 강제청산 2가지를 원합니다.
참고로, SetstopTrailing으로 표현하면 예를들어..
if c > entryprice()*1.08 then setstoptrailing(50,20,Percent,0);
if c < entryprice()*1.08 then setstoptrailing(50,10,Percent,0);
이런식으로 된다할 때 원래 특별한 조건없으면 앞식은 무효가 되지만
조건을 달아서 윗식은 둘다 유효로 나오게됩니다. 기존에 잘 써오던 것을
수식으로 표현하려는 것이지요.
즉, (많은 수익후의 최대수익대비하락)과 (적은 수익후의 최대수익대비하락)을
동시에 구현하려합니다.
윗식은 참고용이고, 아래 원문에 20%수익후 10%손실일때 최대수익대비하락을
추가하여 살짝 고쳐서 알려주시면 감사하겠습니다.
홈페이지에 있는 최대수익대비하락 [시스템식]예문
##########################################################
input : shortP(5), longP(20), 수익1(10), 손실1(5);
var : 단기이평(0), 장기이평(0), buyVal(0), sellVal(0);
단기이평 = ma(C, shortP);
장기이평 = ma(C, longP);
### 매수식
if crossup(단기이평, 장기이평) and marketposition() != 1 then {
buy();
var1 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == 1 and C > entryprice(0) * (1 + 수익1/100) then {
var1 = 1;
buyVal = C;
}
if var1 == 1 then {
if C < buyVal * (1 - 손실1/100) then
exitlong("TrailingStop(매수)");
}
### 매도식
if crossdown(단기이평, 장기이평) and marketposition() != -1 then {
sell();
var2 = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == -1 and C < entryprice(0) * (1 - 수익1/100) then { //문장4
var2 = -1;
sellVal = C; //문장5
}
if var2 == -1 then {
if C > sellVal * (1 + 손실1/100) then //문장6
exitshort("TrailingStop(매도)");
}
[문장설명]
문장1: 진입가격대비 10% 수익
문장2: 진입가격대비 10% 수익날 때의 종가를 저장
문장3: 진입후 10% 수익난 이후 5% 하락하면 청산
문장4: 진입가격대비 10% 수익
문장5: 진입가격대비 10% 수익날 때의 종가를 저장
문장6: 진입후 10% 수익난 이후 5% 하락하면 청산
###############################################
수고하세요.
다음글
이전글