Dear Bemac, dear Cris!
I've downloaded and added COP OP XOP levels to my VT but when I tryed to add indicator on screen I got message:
Error in studies in compillation with message
"Undeclared identifier: ;"
Could you tell me what's wrong in downloaded code. Thank you very much!
-----------------
Indicator's code:
{/// Bemac September 2005 \\\}
{Thanks to Claude for the Date, Time syntax
and also for posting the Cop OP Xop indicator.}
{**Determine the Date & Time of 3 Bars on the Chart**}
{Start Bar}
AfmDay :=IF(ADate=0, ValueWhen(1,*beep*(1)=1,DayOfMonth()), Int( ADate/10000));
AfmMonth:=IF(ADate=0, ValueWhen(1,*beep*(1)=1,Month()) , Int((ADate-AfmDay*10000) /100));
AfmYear :=IF(ADate=0, ValueWhen(1,*beep*(1)=1,Year()) , Int( ADate-Int(ADate/100)*100));
AfmYear :=IF(AfmYear<100
,If(AfmYear<40,AfmYear+2000,AfmYear+1900)
,AfmYear);
Astart :=((DayOfMonth()>=AfmDay AND Month()=AfmMonth AND Year()=AfmYear)
OR (Month()>AfmMonth AND Year()=AfmYear)
OR Year() >AfmYear) AND (Hour()>=Ahour AND Minute()>=AMinute);
Astarttime:= Highest(Astart);
{*********************}
{Middle Bar}
BfmDay :=IF(BDate=0, ValueWhen(1,*beep*(1)=1,DayOfMonth()), Int( BDate/10000));
BfmMonth:=IF(BDate=0, ValueWhen(1,*beep*(1)=1,Month()) , Int((BDate-BfmDay*10000) /100));
BfmYear :=IF(BDate=0, ValueWhen(1,*beep*(1)=1,Year()) , Int( BDate-Int(BDate/100)*100));
BfmYear :=IF(BfmYear<100
,If(BfmYear<40,BfmYear+2000,BfmYear+1900)
,BfmYear);
Bstart :=((DayOfMonth()>=BfmDay AND Month()=BfmMonth AND Year()=BfmYear)
OR (Month()>BfmMonth AND Year()=BfmYear)
OR Year() >BfmYear) AND (Hour()>=Bhour AND Minute()>=BMinute);
Bstarttime:= Highest(Bstart);
{****************************}
{End Bar}
CfmDay :=IF(CDate=0, ValueWhen(1,*beep*(1)=1,DayOfMonth()), Int( CDate/10000));
CfmMonth:=IF(CDate=0, ValueWhen(1,*beep*(1)=1,Month()) , Int((CDate-CfmDay*10000) /100));
CfmYear :=IF(CDate=0, ValueWhen(1,*beep*(1)=1,Year()) , Int( CDate-Int(CDate/100)*100));
CfmYear :=IF(CfmYear<100
,If(CfmYear<40,CfmYear+2000,CfmYear+1900)
,CfmYear);
Cstart :=((DayOfMonth()>=CfmDay AND Month()=CfmMonth AND Year()=CfmYear)
OR (Month()>CfmMonth AND Year()=CfmYear)
OR Year() >CfmYear) AND (Hour()>=Chour AND Minute()>=CMinute);
Cstarttime:= Highest(Cstart);
{*****************************}
{START}
BarNum:= BarCount();
Start := ValueWhen(1,Cross(Astarttime,0.5),Close);
Middle:= ValueWhen(1,Cross(Bstarttime,0.5),Close);
End := ValueWhen(1,Cross(Cstarttime,0.5),Close);
DIR := IF(Middle-Start>0,1,If(Middle-Start<0,-1,0 ));
BaseBegin:= IF( DIR>0,ValueWhen(1,Cross(Astarttime,0.5),Low)
,If(DIR<0,ValueWhen(1,Cross(Astarttime,0.5),High)
,Null));
BaseEnd:= IF(DIR>0,ValueWhen(1,Cross(Bstarttime,0.5),High),
ValueWhen(1,Cross(Bstarttime,0.5),Low));
BaseRetrace:= IF(DIR>0,ValueWhen(1,Cross(Cstarttime,0.5),Low),
ValueWhen(1,Cross(Cstarttime,0.5),High));
A:= LastValue( BaseBegin );
B:= LastValue( BaseEnd );
D:= LastValue( BaseRetrace);
opdw:= D-(A-

;
opup:= B- A+D ;
cxup:= (A-

+D ;
F1 :=0.145898; F2 :=0.236068; F3 :=0.381966; F4 :=0.465558; F5 :=0.500000; F6 :=0.534442;
F7 :=0.618034; F8 :=0.763932; F9 :=0.854102; F10:=0.909830; F11:=0.965558;
F12:=1.000000; F13:=1.145898; F14:=1.236068; F15:=1.381966; F16:=1.618034;
B14:= IF(A>B, ((OPdw-D)*F1)+D, ((D-cxup)*F1)+D) ;
B23:= IF(A>B, ((OPdw-D)*F2)+D, ((D-cxup)*F2)+D) ;
B38:= IF(A>B, ((OPdw-D)*F3)+D, ((D-cxup)*F3)+D) ;
B46:= IF(A>B, ((OPdw-D)*F4)+D, ((D-cxup)*F4)+D) ;
B50:= IF(A>B, ((OPdw-D)*F5)+D, ((D-cxup)*F5)+D) ;
B53:= IF(A>B, ((OPdw-D)*F6)+D, ((D-cxup)*F6)+D) ;
B62:= IF(A>B, ((OPdw-D)*F7)+D, ((D-cxup)*F7)+D) ;
B76:= IF(A>B, ((OPdw-D)*F8)+D, ((D-cxup)*F8)+D) ;
B85:= IF(A>B, ((OPdw-D)*F9)+D, ((D-cxup)*F9)+D) ;
B90:= IF(A>B, ((OPdw-D)*F10)+D, ((D-cxup)*F10)+D);
B96:= IF(A>B, ((OPdw-D)*F11)+D, ((D-cxup)*F11)+D);
B100:= IF(A>B, ((OPdw-D)*F12)+D, ((D-cxup)*F12)+D);
B114:= IF(A>B, ((OPdw-D)*F13)+D, ((D-cxup)*F13)+D);
B123:= IF(A>B, ((OPdw-D)*F14)+D, ((D-cxup)*F14)+D);
B138:= IF(A>B, ((OPdw-D)*F15)+D, ((D-cxup)*F15)+D);
B162:= IF(A>B, ((OPdw-D)*F16)+D, ((D-cxup)*F16)+D);
{Plot The Horizontal Lines }
Entry := MyEntryPct;
SuggEntry:= IF(A>B, ((OPdw-D)*(Entry/100))+D, ((D-cxup)*(Entry/100))+D);
Obj14 := IF(DIR>0 AND C> D , B14 , If(DIR<0 AND C< D , B14, Null));
Obj23 := IF(DIR>0 AND C> D , B23 , If(DIR<0 AND C< D , B23, Null));
Obj38 := IF(DIR>0 AND C> D , B38 , If(DIR<0 AND C< D , B38, Null));
Obj46 := IF(DIR>0 AND C> SuggEntry, B46 , If(DIR<0 AND C< SuggEntry, B46, Null));
Obj50 := IF(DIR>0 AND C> Obj38 , B50 , If(DIR<0 AND C< Obj38 , B50, Null));
Obj53 := IF(DIR>0 AND C> Obj46 , B53 , If(DIR<0 AND C< Obj46 , B53, Null));
Obj62 := IF(DIR>0 AND C> Obj50 , B62 , If(DIR<0 AND C< Obj50 , B62, Null));
Obj76 := IF(DIR>0 AND C> Obj53 , B76 , If(DIR<0 AND C< Obj53 , B76, Null));
Obj85 := IF(DIR>0 AND C> Obj62 , B85 , If(DIR<0 AND C< Obj62 , B85, Null));
Obj90 := IF(DIR>0 AND C> Obj76 , B90 , If(DIR<0 AND C< Obj76 , B90, Null));
Obj96 := IF(DIR>0 AND C> Obj85 , B96 , If(DIR<0 AND C< Obj85 , B96, Null));
Obj100:= IF(DIR>0 AND C> Obj90 , B100, If(DIR<0 AND C< Obj90 , B100, Null));
Obj114:= IF(DIR>0 AND C> Obj96 , B114, If(DIR<0 AND C< Obj96 , B114, Null));
Obj123:= IF(DIR>0 AND C> Obj100 , B123, If(DIR<0 AND C< Obj100 , B123, Null));
Obj138:= IF(DIR>0 AND C> Obj114 , B138, If(DIR<0 AND C< Obj114 , B138, Null));
Obj162:= IF(DIR>0 AND C> Obj123 , B162, If(DIR<0 AND C< Obj123 , B162, Null));
CompStart := IF(Cross(Astarttime,0.5),MedianPrice,Null);
CompEnd := IF(Cross(Bstarttime,0.5),MedianPrice,Null);
StartBar := ValueWhen(1,Cross(Astarttime,0.5),BarNum);
MidBar := ValueWhen(1,Cross(Bstarttime,0.5),BarNum);
EndBar := ValueWhen(1,Cross(Cstarttime,0.5),BarNum);
Periods := (MidBar - StartBar) + 1;
HorizCompLow := IF(BarNum= EndBar,LLV(L ,Periods),Null);
HorizCompHigh := IF(BarNum= EndBar,HHV(H ,Periods),Null);
HorizCompRange := ValueWhen(1,BarNum= EndBar,HorizCompHigh-HorizCompLow);
{Plot The vertical Lines as Dots
VertLinesOnePct:= Periods/100;
VLOP:= Periods/100;}
V14 := IF(Barnum = Int(EndBar+ (Periods*F1)) , Obj14 , Null);
V23 := IF(Barnum = Int(EndBar+ (Periods*F2)) , Obj23 , Null);
V38 := IF(Barnum = Int(EndBar+ (Periods*F3)) , Obj38 , Null);
V46 := IF(Barnum = Int(EndBar+ (Periods*F4)) , Obj46 , Null);
V50 := IF(Barnum = Int(EndBar+ (Periods*F5)) , Obj50 , Null);
V53 := IF(Barnum = Int(EndBar+ (Periods*F6)) , Obj53 , Null);
V62 := IF(Barnum = Int(EndBar+ (Periods*F7)) , Obj62 , Null);
V76 := IF(Barnum = Int(EndBar+ (Periods*F8)) , Obj76 , Null);
V85 := IF(Barnum = Int(EndBar+ (Periods*F9)) , Obj85 , Null);
V90 := IF(Barnum = Int(EndBar+ (Periods*F10)), Obj90 , Null);
V96 := IF(Barnum = Int(EndBar+ (Periods*F11)), Obj96 , Null);
V100 := IF(Barnum = Int(EndBar+ (Periods*F12)), Obj100 , Null);
V114 := IF(Barnum = Int(EndBar+ (Periods*F13)), Obj114 , Null);
V123 := IF(Barnum = Int(EndBar+ (Periods*F14)), Obj123 , Null);
V138 := IF(Barnum = Int(EndBar+ (Periods*F15)), Obj138 , Null);
V162 := IF(Barnum = Int(EndBar+ (Periods*F16)), Obj162 , Null);