커뮤니티

congestionbreak지표 문의

프로필 이미지
날으는여우
2009-08-02 21:46:02
566
글번호 23867
답변완료
input:multi(2),len2(24),delay(8),s1(0.65),s2(3.5); Var :value1(0), value2(0),value3(0),cond1(false),cond2(false); value1 = (highest(H,9)+lowest(L,9))/2; value2 = (highest(H,24)+lowest(L,24))/2; value3 = (highest(H,48)+lowest(L,48))/2; Var1=abs(value3-(value1+value2)/2); //구름대 폭 Var2=high-low; //'고저차 Var3=ma(Var2,len2)*multi; //'고저차의 이평 승수배 Cond1= date==exitdate(1) and marketposition(1)== 1 ; //'최근청산날짜가 금일이고 직전이 매수 If Var1<var3 Then Var10=1; Else Var10=0; //'구름대폭과 고저차이평의 승수배 비교 If highest(Var10,delay)==1 Then{ //'기간중 최고 var10이 1이면 ----> delay를7로 1을 2으로 고쳤더니 신호가 없어지는데 이유가 뭔가요? 내가 이해하기로 7봉중 구름대폭이 고저차의이평승수 보다 2봉이하가 ㅈ거다면 신호가 나타나야 하는데 잘못 이해하고 있는건가요? If stime<150000 Then { If Cond1==False and MarketPosition <=0 Then --->cond1이 false라면 위조건이 or 로 연결된다는건가요? 최근청산이오늘이거나 직전이 매수이면 된다는 건가요? buy("매수",Atstop,daylow+(dayhigh(1)-daylow(1))*s1); //'지정가 상향돌파시 매수
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-08-03 11:13:04

안녕하세요 예스스탁입니다. 1. highest(Var10,delay)==1 은 delay기간동안 var10에 1값이 할당된 봉이 하나라도 있다는 의미입니다. 1이나 2로 변경하시면 현재봉 혹은 최근 2봉에 1이 하나라도 있는지 여부를 확입하셔야 합니다. 2. date==exitdate(1) and marketposition(1)== 1; 는 and문입니다. 그러므로 직전청산날짜가 오늘이거나 직전포지션이 1이면 false가 나옵니다. 즉 cond1은 date==exitdate(1)와 marketposition(1)== 1이 모두 만족해야 true입니다. 그러므로 2개중 하나라도 false이면 cond1은 false입니다. 3.작성하신 식에 일목균형 선행스팬값이 이상합니다. 일목균형표의 선행스팬은 현재 값을 미래로 전진한 값이므로 현재봉의 값은 과거 값입니다. 변경한 식을 올려드립니다. input : len(9), len1(24), len2(20), multi(2), delay(8), s1(0.37), s2(2.7); Var50 = (highest(high,len) + lowest(low,len)) / 2; //전환선 Var49 = (highest(high,len1) + lowest(low,len1)) / 2; //기준선 Var48=(Var50+var49)/2; //앞쪽의 선행스팬1 Var47 = (highest(high, len1*2) + lowest(low, len1*2) ) / 2; //앞쪽의 선행스팬2 Var46=var47[len1-1]; //현재봉에서의 선행스팬2 Var45=var48[len1-1]; //현재봉에서의 선행스팬1 Var1=abs(Var45-var46); //구름대 폭 Var2=high-low; //고저차 Var3=ma(Var2,len2)*multi; //고저차의 이평 승수배 Condition1= sdate==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수 Condition2= sdate==exitdate(1) And marketposition(1)==-1; //최근청산날짜가 금일이고 직전이 매도 If Var1<var3 Then //구름대폭과 고저차이평의 승수배 비교 Var10=1; Else Var10=0; If highest(Var10,delay)==1 Then { //기간중 최고 var10이 1이면 If stime<150000 Then { If Condition1==False and MarketPosition<>1 Then { buy("매수",Atstop,dayOpen(0)+(dayHigh(1)-dayLow(1))*s1); //지정가 상향돌파시 매수 } If Condition2==False and MarketPosition<>-1 Then { sell("매도",Atstop,dayOpen(0)-(dayHigh(1)-dayLow(1))*s1); //지정가 하향돌파시 매도 } } } //청산 If marketposition<>0 Then { exitlong("매수청산EL",Atstop,highest(high,barssinceentry+1)-atr(20)*s2); exitshort("매도청산ES",Atstop,lowest(low,barssinceentry+1)+atr(20)*s2); } 즐거운 하루되세요 > 날으는여우 님이 쓴 글입니다. > 제목 : congestionbreak지표 문의 > input:multi(2),len2(24),delay(8),s1(0.65),s2(3.5); Var :value1(0), value2(0),value3(0),cond1(false),cond2(false); value1 = (highest(H,9)+lowest(L,9))/2; value2 = (highest(H,24)+lowest(L,24))/2; value3 = (highest(H,48)+lowest(L,48))/2; Var1=abs(value3-(value1+value2)/2); //구름대 폭 Var2=high-low; //'고저차 Var3=ma(Var2,len2)*multi; //'고저차의 이평 승수배 Cond1= date==exitdate(1) and marketposition(1)== 1 ; //'최근청산날짜가 금일이고 직전이 매수 If Var1<var3 Then Var10=1; Else Var10=0; //'구름대폭과 고저차이평의 승수배 비교 If highest(Var10,delay)==1 Then{ //'기간중 최고 var10이 1이면 ----> delay를7로 1을 2으로 고쳤더니 신호가 없어지는데 이유가 뭔가요? 내가 이해하기로 7봉중 구름대폭이 고저차의이평승수 보다 2봉이하가 ㅈ거다면 신호가 나타나야 하는데 잘못 이해하고 있는건가요? If stime<150000 Then { If Cond1==False and MarketPosition <=0 Then --->cond1이 false라면 위조건이 or 로 연결된다는건가요? 최근청산이오늘이거나 직전이 매수이면 된다는 건가요? buy("매수",Atstop,daylow+(dayhigh(1)-daylow(1))*s1); //'지정가 상향돌파시 매수