커뮤니티

수식 수정부탁드립니다.

프로필 이미지
강태공3
2012-02-08 12:47:41
389
글번호 47498
답변완료
1.

안녕하세요.

수식 수정좀 부탁드립니다.

 

아래 진입금지 수식을 기존 수식에 넣어달라고 햇는데

여기서 0.42% 수익은 단순히 진입후 0.42% 의 단순 목표수익이 아니라 진입후 최저가나 최고가 대비 0.42% 상승 하락을 말씀드렸는데요.

다시 수정 부탁드립니다.  기존 수식이 하나더 추가되었습니다.

만약에 수식이 복잡하면 강제청산 설정에서 <최대수익대비 하락>에서 두번째칸에 ~%수익하락 부분에 0.42%로 설정하고 아래 조건을 만족하도록 수식 작성해주셔도 됩니다. 이방법이 가능하다면요....

 

1. 매수진입후 최저가격대비 0.42% 이상 상승시 스탑으로 청산히되 이때 청산후는 선물이 60이평 아래면 그 이후 추가로 신규 매수주문은 진입금지.

2. 매도진입후 최고가격대비 0.42% 이하 하락시 스탑으로 청산하되 이때 청산후는 선물이 60이평 위이면 그 이후 추가로 신규 매도주문은 진입금지.

 

 

if data1(dayindex+1 >= 1 and dayindex+1 <= 20)   then{

      if C > Max(mav1,mav2,mav3) Then{

            if data2(iff(C>O or (C==O and C>=C[1]),1,0))+

                  data3(iff(C>O or (C==O and C>=C[1]),1,0))+

                  data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then

                  buy("b3_1");

      }

 

      if C < Min(mav1,mav2,mav3) Then{

            if data2(iff(C<O or (C==O and C<C[1]),1,0))+

                  data3(iff(C<O or (C==O and C<C[1]),1,0))+

                  data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then

                  Sell("s3_1");

 

      }

}

 

 if data1(dayindex+1 >=5 and dayindex+1 <= 30)   then{
if  C <=dayopen and data3(C>OpenD(0))) and data1(C> ma(c,15))  then{
             buy("b1-1");
}

if  C >=dayopen And data3(C<OpenD(0)) and data1(C< ma(c,15))  then{
             Sell("s1-1");
}

}

 

답변을 아래와 같이 주셨는데


식 내용중 !(IsExitName("stopprofittarget",1) and C < ma(C,60)) 부분은 직전 청산이 목표수익으로 청산되고 현재가가 60이평보다 작은 상태 이외의 경우의 의미입니다. 즉, 직전 청산이 목표수익 이외의 방법으로 청산되었거나 종가가 60이평보다 큰 경우가 이에 해당됩니다. 

[시스템식]

if data1(dayindex+1 >= 1 and dayindex+1 <= 20) and   then{
      if C > Max(mav1,mav2,mav3) !(IsExitName("stopprofittarget",1) and C < ma(C,60)) Then{
            if data2(iff(C>O or (C==O and C>=C[1]),1,0))+
                  data3(iff(C>O or (C==O and C>=C[1]),1,0))+
                  data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then
                  buy("b3_1");
      }
 
      if C < Min(mav1,mav2,mav3) !(IsExitName("stopprofittarget",1) and C > ma(C,60)) Then{
            if data2(iff(C<O or (C==O and C<C[1]),1,0))+
                  data3(iff(C<O or (C==O and C<C[1]),1,0))+
                  data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then
                  Sell("s3_1");
 
      }


SetStopProfittarget(0.42);

 

 

시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-02-08 13:40:24

안녕하세요 예스스탁입니다. 최대수익대비하락과 같은 개념이라면 매수진입 후에 최고가격대비, 매도진입 후에 최저가격대비가 되는데 말씀하신 내용은 기존 개념과 반대의 내용입니다. 작성하신 내용으로 청산식 추가했습니다. bx 로 청산후에 종가가 60이평 아래로 한번이라도 형성되면 더이상 매수진입은 하지 않고 sx 로 청산후에 종가가 60이평 위로 한번이라도 형성되면 더이상 매도진입은 하지 않게 작성했습니다. if date != date[1] Then{ Condition1 = false; Condition2 = false; } if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("bx",1) == true and C < ma(c,60) Then Condition1 = true; if MarketPosition == 0 and ExitDate(1) == sdate and IsExitName("sx",1) == true and C > ma(c,60) Then Condition2 = true; if data1(dayindex+1 >= 1 and dayindex+1 <= 20) then{ if (MarketPosition == 0 and ExitDate(1) != sdate) or MarketPosition == -1 or (MarketPosition == 0 and ExitDate(1) == false and Condition1 == false) Then{ if C > Max(mav1,mav2,mav3) and data2(iff(C>O or (C==O and C>=C[1]),1,0))+ data3(iff(C>O or (C==O and C>=C[1]),1,0))+ data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then buy("b3_1"); } if (MarketPosition == 0 and ExitDate(1) != sdate) or MarketPosition == -1 or (MarketPosition == 0 and ExitDate(1) == sdate and Condition2 == false) then{ if C < Min(mav1,mav2,mav3) and data2(iff(C<O or (C==O and C<C[1]),1,0))+ data3(iff(C<O or (C==O and C<C[1]),1,0))+ data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then Sell("s3_1"); } } if MarketPosition == 1 Then{ exitlong("bx",Atlimit,lowest(L,BarsSinceEntry)*1.0042); } if MarketPosition == -1 Then{ ExitShort("sx",Atlimit,Highest(H,BarsSinceEntry)*0.9958); } 만약 0.42% 청산이 매수진입이휴의 최고가, 매도진입 이후의 최저가를 시면 청산식을 아래 내용으로 사용하시면 됩니다. if MarketPosition == 1 Then{ exitlong("bx",AtStop,Highest(H,BarsSinceEntry)*0.9958); } if MarketPosition == -1 Then{ ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)*1.0042); } 즐거운 하루되세요 > 강태공3 님이 쓴 글입니다. > 제목 : 수식 수정부탁드립니다. > <html> <head> <title>1.</title> <meta name="generator" content="Namo WebEditor v4.0"> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <p>안녕하세요.</p> <p>수식 수정좀 부탁드립니다.</p> <p>&nbsp;</p> <p>아래 진입금지 수식을 기존 수식에 넣어달라고 햇는데</p> <p>여기서 0.42% 수익은 단순히 진입후 0.42% 의 단순 목표수익이 아니라 진입후 <b><font color="red">최저가나 최고가 대비</font></b> 0.42% 상승 하락을 말씀드렸는데요.</p> <p>다시 수정 부탁드립니다. &nbsp;기존 수식이 하나더 추가되었습니다.</p> <p>만약에 수식이 복잡하면 강제청산 설정에서 <최대수익대비 하락>에서 두번째칸에 ~%수익하락 부분에 0.42%로 설정하고 아래 조건을 만족하도록 수식 작성해주셔도 됩니다. 이방법이 가능하다면요....</p> <p>&nbsp;</p> <p>1. 매수진입후 <b><font color="red">최저가격대비</font></b> 0.42% 이상 상승시 스탑으로 청산히되 이때 청산후는 선물이 60이평 아래면 그 이후 추가로 신규 매수주문은 진입금지.</p> <p>2. 매도진입후 <font color="red"><b>최고가격대비</b></font> 0.42% 이하 하락시 스탑으로 청산하되 이때 청산후는 선물이 60이평 위이면 그 이후 추가로 신규 매도주문은 진입금지.</p> <p>&nbsp;</p> <p>&nbsp;</p> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">if data1(dayindex+1 >= 1 and dayindex+1 <= 20) &nbsp;&nbsp;then{</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if C > Max(mav1,mav2,mav3) Then{</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if data2(iff(C>O or (C==O and C>=C[1]),1,0))+</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data3(iff(C>O or (C==O and C>=C[1]),1,0))+</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data4(iff(C>O or (C==O and C>=C[1]),1,0)) >= 2 Then</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("b3_1");</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if C < Min(mav1,mav2,mav3) Then{</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if data2(iff(C<O or (C==O and C<C[1]),1,0))+</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data3(iff(C<O or (C==O and C<C[1]),1,0))+</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data4(iff(C<O or (C==O and C<C[1]),1,0)) >= 2 Then</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sell("s3_1");</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</P> <P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 130%">}</P> <p>&nbsp;</p> <p style="line-height:120%; margin-top:0; margin-bottom:0;"><font color="green">&nbsp;</font>if&nbsp;data1(dayindex+1&nbsp;>=5&nbsp;and&nbsp;dayindex+1&nbsp;<=&nbsp;30)&nbsp; &nbsp;then{<BR>if&nbsp;&nbsp;C&nbsp;<=dayopen and data3(C>OpenD(0))) and data1(C> ma(c,15)) &nbsp;then{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("b1-1");<BR>}</p> <P>if&nbsp;&nbsp;C&nbsp;>=dayopen&nbsp;And data3(C<OpenD(0)) and data1(C< ma(c,15)) &nbsp;then{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sell("s1-1");<BR>}</P> <P>}</P> <p>&nbsp;</p> <p>답변을 아래와 같이 주셨는데</p> <BR>식&nbsp;내용중&nbsp;!(IsExitName("stopprofittarget",1)&nbsp;and&nbsp;C&nbsp;<&nbsp;ma(C,60))&nbsp;부분은&nbsp;직전&nbsp;청산이&nbsp;목표수익으로&nbsp;청산되고&nbsp;현재가가&nbsp;60이평보다&nbsp;작은&nbsp;상태&nbsp;이외의&nbsp;경우의&nbsp;의미입니다.&nbsp;즉,&nbsp;직전&nbsp;청산이&nbsp;목표수익&nbsp;이외의&nbsp;방법으로&nbsp;청산되었거나&nbsp;종가가&nbsp;60이평보다&nbsp;큰&nbsp;경우가&nbsp;이에&nbsp;해당됩니다.&nbsp;<BR><BR>[시스템식]<BR><BR>if&nbsp;data1(dayindex+1&nbsp;>=&nbsp;1&nbsp;and&nbsp;dayindex+1&nbsp;<=&nbsp;20)&nbsp;and&nbsp;&nbsp;&nbsp;then{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;C&nbsp;>&nbsp;Max(mav1,mav2,mav3)&nbsp;!(IsExitName("stopprofittarget",1)&nbsp;and&nbsp;C&nbsp;<&nbsp;ma(C,60))&nbsp;Then{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;data2(iff(C>O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C>=C[1]),1,0))+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data3(iff(C>O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C>=C[1]),1,0))+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data4(iff(C>O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C>=C[1]),1,0))&nbsp;>=&nbsp;2&nbsp;Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("b3_1");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;C&nbsp;<&nbsp;Min(mav1,mav2,mav3)&nbsp;!(IsExitName("stopprofittarget",1)&nbsp;and&nbsp;C&nbsp;>&nbsp;ma(C,60))&nbsp;Then{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;data2(iff(C<O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C<C[1]),1,0))+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data3(iff(C<O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C<C[1]),1,0))+<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data4(iff(C<O&nbsp;or&nbsp;(C==O&nbsp;and&nbsp;C<C[1]),1,0))&nbsp;>=&nbsp;2&nbsp;Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sell("s3_1");<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}&nbsp;<BR><BR>SetStopProfittarget(0.42);<BR> <p>&nbsp;</p> <p>&nbsp;</p> </body> </html>