커뮤니티

시스템식 작성

프로필 이미지
한산도
2013-08-16 07:13:38
194
글번호 66494
답변완료
문의드립니다 1.시스템 2-2 변환작업요청입니다 A=Sum(((C>(C(1))) && (V>(V(1)))) - ((C<(C(1))) && (V<(V(1))))); B=sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)); D=eavg(A,MA1); E=EAVG(A, MA2); F=eavg(B,MA3); G=eavg(B,MA4); I=B-A; 매수 D>= E AND F>= G 2.시스템 2-5 변환작업요청 매수조건 Smin=min(min(eavg(c,6),eavg(c,12)),eavg(c,18)); Lmax=max(max(eavg(c,20),eavg(c,50)),eavg(c,60)); Crossup(Smin,Lmax) 3.시스템 2-36 변환작업요청 a=10000*((sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)))-((Sum(((C>(C(1))) && (V>(V(1)))) - ((C<(C(1))) && (V<(V(1))))))-(sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)))*12)); b=eavg(eavg(a,12), 12); d=EAVG(sum((((H+L+C)-(H(1)+L(1)+C(1)))/((H(1)+L(1)+C(1))))*OI), 12); f=d-b; eavg(f, 10)<eavg(f, 30) 4.시스템 2-하6 변환작업 매수조건 G=countsince(date!=date(1), avg(c, 100)<c and o<c and A>B AND D<=C AND E>=F and MACD(short, long)>eavg(MACD(short, long), signal)); g<14 and dayopen()*1.05<c and avg(c, 100)<c 5.손절조건 추가 아래손절식에서 손절이후 같은방향으로 진입금지 다른방향은 진입가능을 추가하고 싶습니다 ### 손절2 ### /*이익이 10틱이내이면서 15틱 반대방향이면 손절*/ /* if MarketPosition == 1 Then{ if (highest(H,BarsSinceEntry) <= EntryPrice+PriceScale*10) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-PriceScale*15); } if MarketPosition == -1 Then{ if ( Lowest(L,BarsSinceEntry) >= EntryPrice-PriceScale*10) Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale* 15); } 6.지표변환 6-1지표변환식 상승방향 / 빨강색/ 두께2 HighestSince(1, date!=date(1), macd(5, 20)*100) 하락방향 / 파랑색 /두께2 LowestSince(1, date!=date(1), macd(5, 20)*100) 6-2시스템변환식 상승방향이 전봉보다 현재봉이 크면 var1=1 상승방향이 전봉보다 현재봉이 같으면 var1=0 하락방향이 전봉보다 현재봉이 작으면 var2=-1 하락방향이 전봉보다 현재봉이 같으면 var2=0
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-08-16 13:06:20

안녕하세요 예스스탁입니다. 해당 랭귀지는 사용해 본적이 없어 식내용을 완전히 이해할수 없습니다. 대신이나 TS를 제외한 타사의 식 내용 올려주실때 설명과 함께 올려주시기 바랍니다. 1. AA조건은 변환하지 못했습니다. sum이 값을 누적하는 함수인데 해당 함수안에는 조건식-조건식으로 되어 있어 어떤 값을 누적하는지 모르겠습니다. 예스랭귀지에서 조건식은 true와 false가 리턴되므로 해당 내용 성립이 되지 않습니다. 해당식과 같이 작성할 경우 어떤 값이 리턴이 되는지 알수 없습니다 예스랭귀지에서 값을 기간과 관계없이 전체 누적이면 accum(값), 특정봉수 동안 누적이면accoumn(값,기간)을 사용합니다. 해당 함수 참고하셔서 직접 변경하시면 됩니다 input : ma1(5),ma2(5),ma3(5),ma4(5); var : AA(0),BB(0),DD(0),EE(0),FF(0),GG(0),II(0); //AA=Accum(((C>(C[1])) && (V>(V[1]))) - ((C<(C[1])) && (V<(V[1])))); BB=Accum(iff(C>C[1],C-min(C[1],L),0))+Accum(iff(C<C[1],C-max(C[1],H),0)); DD=ema(AA,MA1); EE=Ema(AA,MA2); FF=ema(BB,MA3); GG=ema(BB,MA4); II=BB-AA; if DD >= EE and FF >= GG Then buy(); 2. var : Smin(0),Lmax(0); Smin=min(min(ema(c,6),ema(c,12)),ema(c,18)); Lmax=max(max(ema(c,20),ema(c,50)),ema(c,60)); if Crossup(Smin,Lmax) Then buy(); 3. 1번과 같습니다. A조건 의도하시는 내용에 맞게 변경하시기 바랍니다. var : AA(0),BB(0),DD(0),FF(0); #AA = 10000*((Accum(iff(C>C[1],C-min(C[1],L),0))+accum(iff(C<C[1],C-max(C[1],H),0)))- # ((accum(((C>(C[1])) && (V>(V[1]))) - ((C<(C[1])) && (V<(V[1])))))-(accum(iff(C>C[1],C-min(C[1],L),0))+accum(if(C<C[1],C-max(C[1],H),0)))*12)); BB = ema(ema(Aa,12), 12); DD = ema(Accum((((H+L+C)-(H[1]+L[1]+C[1]))/((H[1]+L[1]+C[1])))*OI), 12); FF = DD-BB; if ema(ff, 10)<ema(ff, 30) Then buy(); 4. input : short(12),Long(26),signal(9); var : AA(0),BB(0),DD(0),EE(0),FF(0),GG(0); if date != date[1] Then GG = 0; AA = A값; BB = B값; DD = D값; EE = E값; FF = F값; if ma(c, 100)<c and o<c and AA>BB AND DD<=C AND EE>=FF and MACD(short, long)>ema(MACD(short, long), signal) Then GG = GG+1; if GG < 14 and dayopen()*1.05 < c and ma(c, 100)<c Then buy(); 5. Condition1 = ExitDate(1) == true and IsExitName("bx") and MarketPosition(1) == 1; Condition2 = ExitDate(1) == true and IsExitName("sx") and MarketPosition(1) == -1; if (MarketPosition == -1 or (MarketPosition == 0 and Condition1 == False)) and 매수조건 Then buy(); if (MarketPosition == 1 or (MarketPosition == 0 and Condition2 == False)) and 매도조건 Then sell(); if MarketPosition == 1 Then{ if (highest(H,BarsSinceEntry) <= EntryPrice+PriceScale*10) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-PriceScale*15); } if MarketPosition == -1 Then{ if ( Lowest(L,BarsSinceEntry) >= EntryPrice-PriceScale*10) Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale* 15); } 6-1. var : HH(0),LL(0); value1 = macd(5,20)*100; if date != date[1] Then{ HH = value1; LL = value1; } if HH > value1 Then value1 = HH; if LL < value1 Then value1 = LL; plot1(HH,"상승방향",red,def,2); plot2(LL,"하락방향",BLUE,def,2); 6-2 시스템식변환인데 매수매도에 대한 정확한 조건이 없습니다. var1과 var2가 지표로 그려지도록 지표식으로 작성했습니다. var : HH(0),LL(0); value1 = macd(5,20)*100; if date != date[1] Then{ HH = value1; LL = value1; } if HH > value1 Then value1 = HH; if LL < value1 Then value1 = LL; if HH > HH[1] Then var1 = 1; Else var1 = 0; if LL < LL[1] Then var2 = 1; Else var2 = 0; plot1(var1,"상승방향",red,def,2); plot2(var2,"하락방향",BLUE,def,2); 즐거운 하루되세요 > 한산도 님이 쓴 글입니다. > 제목 : 시스템식 작성 > 문의드립니다 1.시스템 2-2 변환작업요청입니다 A=Sum(((C>(C(1))) && (V>(V(1)))) - ((C<(C(1))) && (V<(V(1))))); B=sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)); D=eavg(A,MA1); E=EAVG(A, MA2); F=eavg(B,MA3); G=eavg(B,MA4); I=B-A; 매수 D>= E AND F>= G 2.시스템 2-5 변환작업요청 매수조건 Smin=min(min(eavg(c,6),eavg(c,12)),eavg(c,18)); Lmax=max(max(eavg(c,20),eavg(c,50)),eavg(c,60)); Crossup(Smin,Lmax) 3.시스템 2-36 변환작업요청 a=10000*((sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)))-((Sum(((C>(C(1))) && (V>(V(1)))) - ((C<(C(1))) && (V<(V(1))))))-(sum(if(C>C(1),C-min(C(1),L),0))+sum(if(C<C(1),C-max(C(1),H),0)))*12)); b=eavg(eavg(a,12), 12); d=EAVG(sum((((H+L+C)-(H(1)+L(1)+C(1)))/((H(1)+L(1)+C(1))))*OI), 12); f=d-b; eavg(f, 10)<eavg(f, 30) 4.시스템 2-하6 변환작업 매수조건 G=countsince(date!=date(1), avg(c, 100)<c and o<c and A>B AND D<=C AND E>=F and MACD(short, long)>eavg(MACD(short, long), signal)); g<14 and dayopen()*1.05<c and avg(c, 100)<c 5.손절조건 추가 아래손절식에서 손절이후 같은방향으로 진입금지 다른방향은 진입가능을 추가하고 싶습니다 ### 손절2 ### /*이익이 10틱이내이면서 15틱 반대방향이면 손절*/ /* if MarketPosition == 1 Then{ if (highest(H,BarsSinceEntry) <= EntryPrice+PriceScale*10) Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-PriceScale*15); } if MarketPosition == -1 Then{ if ( Lowest(L,BarsSinceEntry) >= EntryPrice-PriceScale*10) Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+PriceScale* 15); } 6.지표변환 6-1지표변환식 상승방향 / 빨강색/ 두께2 HighestSince(1, date!=date(1), macd(5, 20)*100) 하락방향 / 파랑색 /두께2 LowestSince(1, date!=date(1), macd(5, 20)*100) 6-2시스템변환식 상승방향이 전봉보다 현재봉이 크면 var1=1 상승방향이 전봉보다 현재봉이 같으면 var1=0 하락방향이 전봉보다 현재봉이 작으면 var2=-1 하락방향이 전봉보다 현재봉이 같으면 var2=0