커뮤니티
data2. 와. data3.
2013-05-21 10:22:46
289
글번호 63418
안녕하세요
질문. 1
아래. 식을. 변경하려구합니다
방법은. data2. 와. data3. 을. 넣어서
만들어주십시요. 감사^^
#####. 보기
안녕하세요.
한수식에 다중 최대수익대비하락을 표현하려합니다.
최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다.
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
예스스탁 예스스탁 답변
2013-05-21 14:30:50
안녕하세요
예스스탁입니다.
1.
input : shortP(5), longP(20), 수익1(10), 손실1(5);
var : 단기이평(0,data2), 장기이평(0,data2);
var : buyVal(0,data1), sellVal(0,data1),PP(0,data1),d2c(0,data1);
단기이평 = data2(ma(C, shortP));
장기이평 = data2(ma(C, longP));
d2c = data2(c);
### 매수식
if crossup(단기이평, 장기이평) and marketposition() != 1 then {
buy();
pp = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == 1 and d2c > d2c[BarsSinceEntry] * (1 + 수익1/100) then {
pp = 1;
buyVal = d2c;
}
if pp == 1 then {
if d2c < buyVal * (1 - 손실1/100) then
exitlong("TrailingStop(매수)");
}
### 매도식
if crossdown(단기이평, 장기이평) and marketposition() != -1 then {
sell();
pp = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == -1 and d2c < d2c[BarsSinceEntry] * (1 - 수익1/100) then {
pp = -1;
sellVal = d2c;
}
if pp == -1 then {
if d2c > sellVal * (1 + 손실1/100) then //문장6
exitshort("TrailingStop(매도)");
}
2.
input : shortP(5), longP(20), 수익1(10), 손실1(5);
var : 단기이평(0,data3), 장기이평(0,data3);
var : buyVal(0,data1), sellVal(0,data1),PP(0,data1),d3c(0,data1);
단기이평 = data3(ma(C, shortP));
장기이평 = data3(ma(C, longP));
d3c = data3(c);
### 매수식
if crossup(단기이평, 장기이평) and marketposition() != 1 then {
buy();
pp = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == 1 and d3c > d3c[BarsSinceEntry] * (1 + 수익1/100) then {
pp = 1;
buyVal = d3c;
}
if pp == 1 then {
if d3c < buyVal * (1 - 손실1/100) then
exitlong("TrailingStop(매수)");
}
### 매도식
if crossdown(단기이평, 장기이평) and marketposition() != -1 then {
sell();
pp = 0;
}
### 최대수익 대비 하락 (10% 수익후 5% 손실시)
if marketposition() == -1 and d3c < d3c[BarsSinceEntry] * (1 - 수익1/100) then {
pp = -1;
sellVal = d3c;
}
if pp == -1 then {
if d3c > sellVal * (1 + 손실1/100) then //문장6
exitshort("TrailingStop(매도)");
}
즐거운 하루되세요
> yang오뚜기 님이 쓴 글입니다.
> 제목 : data2. 와. data3.
> 안녕하세요
질문. 1
아래. 식을. 변경하려구합니다
방법은. data2. 와. data3. 을. 넣어서
만들어주십시요. 감사^^
#####. 보기
안녕하세요.
한수식에 다중 최대수익대비하락을 표현하려합니다.
최대수익대비하락에 대해서 수식작성예제의 강제청산항목을 살펴보았습니다.
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% 하락하면 청산
수고하세요.