커뮤니티
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); //'지정가 상향돌파시 매수
다음글
이전글