PureBytes Links
Trading Reference Links
|
_SECTION_BEGIN("Candle Identification");
Plot(C,"",1,64);
O1 = Ref(O,-1);O2 = Ref(O,-2);
H1 = Ref(H,-1);H2 = Ref(H,-2);
L1 = Ref(L,-1);L2 = Ref(L,-2);
C1 = Ref(C,-1);C2 = Ref(C,-2);
function CandlePattern(P)
{
global PatternName;
if(P == 0) { PatternName = "NearDoji"; Pv = (abs(O-C)<= ((H-L)
*0.1)); }
else if(P == 1) { PatternName = "BlackCandle"; Pv = (O>C); }
else if(P == 2) { PatternName = "LongBlackCandle"; Pv = (O>C AND
(O-C)/(.001+H-L)>.6); }
else if(P == 3) { PatternName = "SmallBlackCandle"; Pv = ((O>C) AND
((H-L)>(3*(O-C)))); }
else if(P == 4) { PatternName = "WhiteCandle"; Pv = (C>O); }
else if(P == 5) { PatternName = "LongWhiteCandle"; Pv = ((C>O) AND
((C-O)/(.001+H-L)>.6)); }
else if(P == 6) { PatternName = "SmallWhiteCandle"; Pv = ((C>O) AND
((H-L)>(3*(C-O)))); }
else if(P == 7) { PatternName = "BlackMaubozu"; Pv = (O>C AND H==O
AND
C==L); }
else if(P == 8) { PatternName = "WhiteMaubozu"; Pv = (C>O AND H==C
AND
O==L); }
else if(P == 9) { PatternName = "BlackClosingMarubozu"; Pv = (O>C
AND
C==L); }
else if(P == 10) { PatternName = "WhiteClosingMarubozu"; Pv = (C>O
AND
C==H); }
else if(P == 11) { PatternName = "BlackOpeningMarubozu"; Pv = (O>C
AND
O==H); }
else if(P == 12) { PatternName = "WhiteOpeningMarubozu"; Pv = (C>O
AND
O==L); }
else if(P == 13) { PatternName = "HangingMan"; Pv = (((H-L)>4*(O-
C)) AND
((C-L)/(.001+H-L)>= 0.75) AND ((O-L)/(.001+H-L)>= 0.75)); }
else if(P == 14) { PatternName = "Hammer"; Pv = (((H-L)>3*(O-C))
AND
((C-L)/(.001+H-L)>0.6) AND ((O-L)/(.001+H-L)>0.6)); }
else if(P == 15) { PatternName = "InvertedHammer"; Pv = (((H-L)>3*
(O-C))
AND ((H-C)/(.001+H-L)>0.6) AND ((H-O)/(.001+H-L)>0.6)); }
else if(P == 16) { PatternName = "ShootingStar"; Pv = (((H-L)>4*(O-
C))
AND ((H-C)/(.001+H-L)>= 0.75) AND ((H-O)/(.001+H-L)>= 0.75)); }
else if(P == 17) { PatternName = "BlackSpinningTop"; Pv = ((O>C)
AND
((H-L)>(3*(O-C))) AND (((H-O)/(.001+H-L))<.4) AND
(((C-L)/(.001+H-L))<.4)); }
else if(P == 18) { PatternName = "WhiteSpinningTop"; Pv = ((C>O)
AND
((H-L)>(3*(C-O))) AND (((H-C)/(.001+H-L))<.4) AND
(((O-L)/(.001+H-L))<.4)); }
else if(P == 19) { PatternName = "BearishAbandonedBaby"; Pv = ((C1
== O1)
AND (C2>O2) AND (O>C) AND (L1>H2) AND (L1>H)); }
else if(P == 20) { PatternName = "BearishEveningDojiStar"; Pv =
((C2>O2)
AND ((C2-O2)/(.001+H2-L2)>.6) AND (C2<O1) AND (C1>O1) AND
((H1-L1)>(3*(C1-O1))) AND (O>C) AND (O<O1)); }
else if(P == 21) { PatternName = "DarkCloudCover"; Pv = (C1>O1 AND
((C1+O1)/2)>C AND O>C AND O>C1 AND C>O1 AND (O-C)/(.001+(H-L)>0.6)); }
else if(P == 22) { PatternName = "BearishEngulfing"; Pv = ((C1>O1)
AND
(O>C) AND (O>= C1) AND (O1>= C) AND ((O-C)>(C1-O1))); }
else if(P == 23) { PatternName = "ThreeOutsideDownPattern"; Pv =
((C2>O2)
AND (O1>C1) AND (O1>= C2) AND (O2>= C1) AND ((O1-C1)>(C2-O2)) AND
(O>C) AND
(C<C1)); }
else if(P == 24) { PatternName = "BullishAbandonedBaby"; Pv = ((C1
== O1)
AND (O2>C2) AND (C>O) AND (L2>H1) AND (L>H1)); }
else if(P == 25) { PatternName = "BullishMorningDojiStar"; Pv =
((O2>C2)
AND ((O2-C2)/(.001+H2-L2)>.6) AND (C2>O1) AND (O1>C1) AND
((H1-L1)>(3*(C1-O1))) AND (C>O) AND (O>O1)); }
else if(P == 26) { PatternName = "BullishEngulfing"; Pv = ((O1>C1)
AND
(C>O) AND (C>= O1) AND (C1>= O) AND ((C-O)>(O1-C1))); }
else if(P == 27) { PatternName = "ThreeOutsideUpPattern"; Pv =
((O2>C2)
AND (C1>O1) AND (C1>= O2) AND (C2>= O1) AND ((C1-O1)>(O2-C2)) AND
(C>O) AND
(C>C1)); }
else if(P == 28) { PatternName = "BullishHarami"; Pv = ((O1>C1)
AND (C>O)
AND (C<= O1) AND (C1<= O) AND ((C-O)<(O1-C1))); }
else if(P == 29) { PatternName = "ThreeInsideUpPattern"; Pv =
((O2>C2)
AND (C1>O1) AND (C1<= O2) AND (C2<= O1) AND ((C1-O1)<(O2-C2)) AND
(C>O) AND
(C>C1) AND (O>O1)); }
else if(P == 30) { PatternName = "PiercingLine"; Pv = ((C1<O1) AND
(((O1+C1)/2)<C) AND (O<C) AND (O<C1) AND (C<O1) AND
((C-O)/(.001+(H-L))>0.6)); }
else if(P == 31) { PatternName = "BearishHarami"; Pv = ((C1>O1)
AND (O>C)
AND (O<= C1) AND (O1<= C) AND ((O-C)<(C1-O1))); }
else if(P == 32) { PatternName = "ThreeInsideDownPattern"; Pv =
((C2>O2)
AND (O1>C1) AND (O1<= C2) AND (O2<= C1) AND ((O1-C1)<(C2-O2)) AND
(O>C) AND
(C<C1) AND (O<O1)); }
else if(P == 33) { PatternName = "ThreeWhiteSoldiers"; Pv =
(C>O*1.01)
AND (C1>O1*1.01) AND (C2>O2*1.01) AND (C>C1) AND (C1>C2) AND (O<C1)
AND
(O>O1) AND (O1<C2) AND (O1>O2) AND (((H-C)/(H-L))<.2) AND
(((H1-C1)/(H1-L1))<.2) AND (((H2-C2)/(H2-L2))<.2); }
else if(P == 34) { PatternName = "DarkCloudCover"; Pv =
(C1>O1*1.01) AND
(O>C) AND (O>H1) AND (C>O1) AND (((C1+O1)/2)>C) AND (C>O1) AND
(MA(C,13)-Ref(MA(C,13),-4)>0); }
else if(P == 35) { PatternName = "ThreeBlackCrows"; Pv =
(O>C*1.01) AND
(O1>C1*1.01) AND (O2>C2*1.01) AND (C<C1) AND (C1<C2) AND (O>C1) AND
(O<O1)
AND (O1>C2) AND (O1<O2) AND (((C-L)/(H-L))<.2) AND (((C1-L1)/(H1-L1))
<.2)
AND (((C2-L2)/(H2-L2))<.2); }
else if(P == 36) { PatternName = "doji"; Pv = (O == C); }
else if(P == 37) { PatternName = "GapUp"; Pv = GapUp(); }
else if(P == 38) { PatternName = "GapDown"; Pv = GapDown(); }
else if(P == 39) { PatternName = "BigGapUp"; Pv = L>1.01*H1; }
else if(P == 40) { PatternName = "BigGapDown"; Pv = H<0.99*L1; }
else if(P == 41) { PatternName = "HugeGapUp"; Pv = L>1.02*H1; }
else if(P == 42) { PatternName = "HugeGapDown"; Pv = H<0.98*L1; }
else if(P == 43) { PatternName = "DoubleGapUp"; Pv = GapUp() AND
Ref(GapUp(),-1); }
else if(P == 44) { PatternName = "DoubleGapDown"; Pv = GapDown()
AND
Ref(GapDown(),-1); }
return Pv;
}
PatternNameList = "";
for(Cp=0; Cp<=44; Cp++) <<<<<<<errors
{
VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern(Cp));
PatternNameList = PatternNameList +PatternName+",";
}
BI = BarIndex();
SelectedBar = SelectedValue(BI) -BI[0];
//Selectedbar = Status("lastvisiblebar")-1;
PStr="";
for(Cp=0; Cp<=44; Cp++)
{
Temp = VarGet("Pattern"+NumToStr(Cp,1.0));
if(temp[SelectedBar]) Pstr=Pstr+"#"+NumToStr(Cp,1.0)+" -
"+StrExtract(PatternNameList,Cp)+"\n";
}
Title = "\nCandle Demostration \n"+ Pstr;
_SECTION_END();
-- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@xxxx> wrote:
> Sorry can't see what you refer to. Apologies
>
>
> On Thu, 03 Mar 2005 03:16:14 -0000, goldwing01_1999
> <goldwing01_1999@xxxx> wrote:
> >
> >
> > the reason this code is working is because it is not using the
last
> > half of the code like the one from AB webpage. do you see the
> > defference here.
> > look at the bottom of the next code.
> >
> > PatternNameList = ""; <<<<<<<<<<<<<<<<problem starts here
> > for(Cp=0; Cp<=44; Cp++)
> > {
> > VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern(cP));
> > PatternNameList = PatternNameList +PatternName+",";
> > }
> >
> > BI = BarIndex();
> > SelectedBar = SelectedValue(BI) -BI[0];
> > //Selectedbar = Status("lastvisiblebar")-1;
> > PStr="";
> > for(Cp=0; Cp<=44; Cp++)
> > {
> > Temp = VarGet("Pattern"+NumToStr(Cp,1.0));
> > if(temp[SelectedBar]) Pstr=Pstr+"#"+NumToStr(Cp,1.0)+" -
> > "+StrExtract(PatternNameList,Cp)+"\n";
> > }
> >
> > Title = "\nCandle Demostration \n"+ Pstr;
> > _SECTION_END();
> > /////////////////////////////////////////////
> > /////////////////////////////////////////////
> > /////////////////////////////////////////////
> >
> > O1 = Ref(O,-1);O2 = Ref(O,-2);
> > H1 = Ref(H,-1);H2 = Ref(H,-2);
> > L1 = Ref(L,-1);L2 = Ref(L,-2);
> > C1 = Ref(C,-1);C2 = Ref(C,-2);
> >
> > function CandlePattern(P)
> > {
> > global PatternName;
> > if(P == 0) { PatternName = "NearDoji"; Pv = (abs(O-C)<=
((H-L)
> > *0.1)); }
> > else if(P == 1) { PatternName = "BlackCandle"; Pv =
(O>C); }
> > else if(P == 2) { PatternName = "LongBlackCandle"; Pv =
(O>C
> > AND (O-C)/(.001+H-L)>.6); }
> > else if(P == 3) { PatternName = "SmallBlackCandle"; Pv =
> > ((O>C) AND ((H-L)>(3*(O-C)))); }
> > else if(P == 4) { PatternName = "WhiteCandle"; Pv =
(C>O); }
> > else if(P == 5) { PatternName = "LongWhiteCandle"; Pv =
> > ((C>O) AND ((C-O)/(.001+H-L)>.6)); }
> > else if(P == 6) { PatternName = "SmallWhiteCandle"; Pv =
> > ((C>O) AND ((H-L)>(3*(C-O)))); }
> > else if(P == 7) { PatternName = "BlackMaubozu"; Pv = (O>C
AND
> > H==O AND C==L); }
> > else if(P == 8) { PatternName = "WhiteMaubozu"; Pv = (C>O
AND
> > H==C AND O==L); }
> > else if(P == 9) { PatternName = "BlackClosingMarubozu"; Pv
=
> > (O>C AND C==L); }
> > else if(P == 10) { PatternName = "WhiteClosingMarubozu";
Pv =
> > (C>O AND C==H); }
> > else if(P == 11) { PatternName = "BlackOpeningMarubozu";
Pv =
> > (O>C AND O==H); }
> > else if(P == 12) { PatternName = "WhiteOpeningMarubozu";
Pv =
> > (C>O AND O==L); }
> > else if(P == 13) { PatternName = "HangingMan"; Pv = (((H-L)
>4*
> > (O-C)) AND ((C-L)/(.001+H-L)>= 0.75) AND ((O-L)/(.001+H-L)>=
0.75)); }
> > else if(P == 14) { PatternName = "Hammer"; Pv = (((H-L)>3*
(O-
> > C)) AND ((C-L)/(.001+H-L)>0.6) AND ((O-L)/(.001+H-L)>0.6)); }
> > else if(P == 15) { PatternName = "InvertedHammer"; Pv =
(((H-
> > L)>3*(O-C)) AND ((H-C)/(.001+H-L)>0.6) AND ((H-O)/(.001+H-L)
>0.6)); }
> > else if(P == 16) { PatternName = "ShootingStar"; Pv = (((H-
L)
> > >4*(O-C)) AND ((H-C)/(.001+H-L)>= 0.75) AND ((H-O)/(.001+H-L)>=
> > 0.75)); }
> > else if(P == 17) { PatternName = "BlackSpinningTop"; Pv =
> > ((O>C) AND ((H-L)>(3*(O-C))) AND (((H-O)/(.001+H-L))<.4) AND (((C-
L)/
> > (.001+H-L))<.4)); }
> > else if(P == 18) { PatternName = "WhiteSpinningTop"; Pv =
> > ((C>O) AND ((H-L)>(3*(C-O))) AND (((H-C)/(.001+H-L))<.4) AND (((O-
L)/
> > (.001+H-L))<.4)); }
> > else if(P == 19) { PatternName = "BearishAbandonedBaby";
Pv =
> > ((C1 == O1) AND (C2>O2) AND (O>C) AND (L1>H2) AND (L1>H)); }
> > else if(P == 20) { PatternName = "BearishEveningDojiStar";
Pv
> > = ((C2>O2) AND ((C2-O2)/(.001+H2-L2)>.6) AND (C2<O1) AND (C1>O1)
AND
> > ((H1-L1)>(3*(C1-O1))) AND (O>C) AND (O<O1)); }
> > else if(P == 21) { PatternName = "DarkCloudCover"; Pv =
> > (C1>O1 AND ((C1+O1)/2)>C AND O>C AND O>C1 AND C>O1 AND (O-C)/
(.001+(H-
> > L)>0.6)); }
> > else if(P == 22) { PatternName = "BearishEngulfing"; Pv =
> > ((C1>O1) AND (O>C) AND (O>= C1) AND (O1>= C) AND ((O-C)>(C1-
O1))); }
> > else if(P == 23) { PatternName = "ThreeOutsideDownPattern";
> > Pv = ((C2>O2) AND (O1>C1) AND (O1>= C2) AND (O2>= C1) AND ((O1-C1)
>
> > (C2-O2)) AND (O>C) AND (C<C1)); }
> > else if(P == 24) { PatternName = "BullishAbandonedBaby";
Pv =
> > ((C1 == O1) AND (O2>C2) AND (C>O) AND (L2>H1) AND (L>H1)); }
> > else if(P == 25) { PatternName = "BullishMorningDojiStar";
Pv
> > = ((O2>C2) AND ((O2-C2)/(.001+H2-L2)>.6) AND (C2>O1) AND (O1>C1)
AND
> > ((H1-L1)>(3*(C1-O1))) AND (C>O) AND (O>O1)); }
> > else if(P == 26) { PatternName = "BullishEngulfing"; Pv =
> > ((O1>C1) AND (C>O) AND (C>= O1) AND (C1>= O) AND ((C-O)>(O1-
C1))); }
> > else if(P == 27) { PatternName = "ThreeOutsideUpPattern";
Pv
> > = ((O2>C2) AND (C1>O1) AND (C1>= O2) AND (C2>= O1) AND ((C1-O1)>
(O2-
> > C2)) AND (C>O) AND (C>C1)); }
> > else if(P == 28) { PatternName = "BullishHarami"; Pv =
> > ((O1>C1) AND (C>O) AND (C<= O1) AND (C1<= O) AND ((C-O)<(O1-
C1))); }
> > else if(P == 29) { PatternName = "ThreeInsideUpPattern";
Pv =
> > ((O2>C2) AND (C1>O1) AND (C1<= O2) AND (C2<= O1) AND ((C1-O1)<(O2-
> > C2)) AND (C>O) AND (C>C1) AND (O>O1)); }
> > else if(P == 30) { PatternName = "PiercingLine"; Pv =
> > ((C1<O1) AND (((O1+C1)/2)<C) AND (O<C) AND (O<C1) AND (C<O1) AND
((C-
> > O)/(.001+(H-L))>0.6)); }
> > else if(P == 31) { PatternName = "BearishHarami"; Pv =
> > ((C1>O1) AND (O>C) AND (O<= C1) AND (O1<= C) AND ((O-C)<(C1-
O1))); }
> > else if(P == 32) { PatternName = "ThreeInsideDownPattern";
Pv
> > = ((C2>O2) AND (O1>C1) AND (O1<= C2) AND (O2<= C1) AND ((O1-C1)<
(C2-
> > O2)) AND (O>C) AND (C<C1) AND (O<O1)); }
> > else if(P == 33) { PatternName = "ThreeWhiteSoldiers"; Pv =
> > (C>O*1.01) AND (C1>O1*1.01) AND (C2>O2*1.01) AND (C>C1) AND
(C1>C2)
> > AND (O<C1) AND (O>O1) AND (O1<C2) AND (O1>O2) AND (((H-C)/(H-L))
<.2)
> > AND (((H1-C1)/(H1-L1))<.2) AND (((H2-C2)/(H2-L2))<.2); }
> > else if(P == 34) { PatternName = "DarkCloudCover"; Pv =
> > (C1>O1*1.01) AND (O>C) AND (O>H1) AND (C>O1) AND (((C1+O1)/2)>C)
AND
> > (C>O1) AND (MA(C,13)-Ref(MA(C,13),-4)>0); }
> > else if(P == 35) { PatternName = "ThreeBlackCrows"; Pv =
> > (O>C*1.01) AND (O1>C1*1.01) AND (O2>C2*1.01) AND (C<C1) AND
(C1<C2)
> > AND (O>C1) AND (O<O1) AND (O1>C2) AND (O1<O2) AND (((C-L)/(H-L))
<.2)
> > AND (((C1-L1)/(H1-L1))<.2) AND (((C2-L2)/(H2-L2))<.2); }
> > else if(P == 36) { PatternName = "doji"; Pv = (O == C); }
> > else if(P == 37) { PatternName = "GapUp"; Pv = GapUp(); }
> > else if(P == 38) { PatternName = "GapDown"; Pv = GapDown
(); }
> > else if(P == 39) { PatternName = "BigGapUp"; Pv =
L>1.01*H1; }
> > else if(P == 40) { PatternName = "BigGapDown"; Pv =
> > H<0.99*L1; }
> > else if(P == 41) { PatternName = "HugeGapUp"; Pv =
> > L>1.02*H1; }
> > else if(P == 42) { PatternName = "HugeGapDown"; Pv =
> > H<0.98*L1; }
> > else if(P == 43) { PatternName = "DoubleGapUp"; Pv = GapUp
()
> > AND Ref(GapUp(),-1); }
> > else if(P == 44) { PatternName = "DoubleGapDown"; Pv =
GapDown
> > () AND Ref(GapDown(),-1); }
> > return Pv;
> > }
> >
> > P= Param("CandlePattern#",20,0,44,1);
> >
> > CandlePatternTrue = CandlePattern(P);
> > NextBar = Ref(CandlePatternTrue,-1);
> > Profit = IIf(NextBar,(C-O)/O*100,0);
> > SecondBar = BarIndex()==2;
> > SimpleProfit = LastValue(Cum(Profit));
> > CompoundedProfit = (LastValue(AMA2(1,(SecondBar==1),(SecondBar==0)
*(1
> > + Profit/100)))-1)*100;
> > Upday = IIf(NextBar, (C-O)>0,0);
> > downDay = IIf(NextBar, (C-O)<0,0);
> > PatternColor = IIf(CandlePatternTrue,2,1);
> > NumUpDays = LastValue(Cum(UpDay));
> > NumDownDays = LastValue(Cum(downDay));
> > NumPatterns = LastValue(Cum(CandlePatternTrue ));
> > LowestInDisplay = Lowest(ValueWhen(Status("barVisible"),L));
> > HighestInDisplay = Highest(ValueWhen(Status("Barvisible"),H));
> >
> > Plot(C,"Close",colorBlack,64);
> > Plot(IIf(CandlePatternTrue,1,Null)*0.995*L,"",6,2|4);
> > PlotShapes(UpDay*shapeUpArrow,colorBrightGreen,0,L);
> > PlotShapes(downDay*shapeDownArrow,colorRed,0,H);
> >
> > Title = "\nCANDLE PATTERN ANALYSIS\n\n"+
> > "Open: "+NumToStr(O,1.2)+"\n"+
> > "High: "+NumToStr(H,1.2)+"\n"+
> > "Low: "+NumToStr(L,1.2)+"\n"+
> > "Close: "+NumToStr(C,1.2)+"\n\n"+
> >
> > "Candle Pattern: "+PatternName+"\n"+
> > "Candle Pattern# "+NumToStr(P,1.0)+"\n"+
> > "#Patterns found: "+NumToStr(NumPatterns ,1.0)+"\n"+
> > "#Updays: "+NumToStr(NumUpDays,1.0,False)+
> > " ["+NumToStr(Nz(NumUpDays/NumPatterns*100),1.0,False)+"%]
\n"+
> > "#DownDays: "+NumToStr(NumDownDays,1.0,False)+
> > " ["+NumToStr(Nz(NumDownDays/numpatterns*100),1.0,False)
+"%]
> > \n\n"+
> > "Profit at cursor: "+NumToStr(Profit,1.4)+"%\n"+
> > "Ave.Profit/Pattern:"+NumToStr(Nz(SimpleProfit/NumPatterns),1.4)
+"%
> > \n"+
> > "Tot.Simple profit: "+NumToStr(SimpleProfit,1.4)+"%\n"+
> > "Tot.Comp. profit: "+NumToStr(CompoundedProfit,1.4)+"%\n";
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "goldwing01_1999"
> > <goldwing01_1999@xxxx> wrote:
> > >
> > > ok, Candle Identification is working now.
> > >
> > > for some reason when I copied it straight from AB web page it
will
> > > not work.
> > >
> > > so I did a google search and found it, copied it and it worked
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, "goldwing01_1999"
> > > <goldwing01_1999@xxxx> wrote:
> > > >
> > > > Herman,
> > > > as I play with this more and more i am starting to think it
is
> > > > my .DLL
> > > > I have the #include working, but still getting syntax error.
> > > >
> > > > can you please point me to the .DLL that you use, it is worth
a
> > try.
> > > >
> > > >
> > > >
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen"
> > > > <psytek@xxxx> wrote:
> > > > > If you use includes to include the functions into your code
you
> > > > have to copy
> > > > > the function file to include file into your default Include
> > > folder.
> > > > Look up
> > > > > "Include" in the help... if you know how it works it will be
> > easy
> > > > for you to
> > > > > set the path properly. Using include statments are very
handy.
> > > > >
> > > > > best regards,
> > > > > herman
> > > > > -----Original Message-----
> > > > > From: goldwing01_1999 [mailto:goldwing01_1999@x...]
> > > > > Sent: Wednesday, March 02, 2005 8:49 PM
> > > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > > Subject: [amibroker] Re: Candle Identification
> > > > >
> > > > >
> > > > >
> > > > > so, graham if its working for you, also, than that means
my
> > > > computer
> > > > > is missing something like what have no clue, maybe a DLL
or
> > > wrong
> > > > > version
> > > > > VER: 4.69.8
> > > > > plug-in is/candlestick fuction plug-in afl 0.0.64
> > > > >
> > > > >
> > > > >
> > > > > --- In amibroker@xxxxxxxxxxxxxxx, Graham
<kavemanperth@xxxx>
> > > > wrote:
> > > > > > Unfortunately it works fine for me, but cannot see in
> > #include
> > > > > > statements as you had been discussing
> > > > > >
> > > > > > What version of AB are you using?
> > > > > >
> > > > > >
> > > > > > On Thu, 03 Mar 2005 00:51:31 -0000, goldwing01_1999
> > > > > > <goldwing01_1999@xxxx> wrote:
> > > > > > >
> > > > > > >
> > > > > > > _SECTION_BEGIN("Candle Identification");
> > > > > > > Plot(C,"",1,64);
> > > > > > > O1 = Ref(O,-1);O2 = Ref(O,-2);
> > > > > > > H1 = Ref(H,-1);H2 = Ref(H,-2);
> > > > > > > L1 = Ref(L,-1);L2 = Ref(L,-2);
> > > > > > > C1 = Ref(C,-1);C2 = Ref(C,-2);
> > > > > > > function CandlePattern(P)
> > > > > > > {
> > > > > > > global PatternName;
> > > > > > > if(P == 0) { PatternName = "NearDoji"; Pv = (abs(O-
C)<=
> > > ((H-
> > > > L)
> > > > > > > *0.1)); }
> > > > > > > else if(P == 1) { PatternName = "BlackCandle"; Pv =
> > > (O>C); }
> > > > > > > else if(P == 2) { PatternName = "LongBlackCandle";
Pv =
> > > > (O>C AND
> > > > > > > (O-C)/(.001+H-L)>.6); }
> > > > > > > else if(P == 3) { PatternName = "SmallBlackCandle";
Pv
> > =
> > > > ((O>C)
> > > > > AND
> > > > > > > ((H-L)>(3*(O-C)))); }
> > > > > > > else if(P == 4) { PatternName = "WhiteCandle"; Pv =
> > > (C>O); }
> > > > > > > else if(P == 5) { PatternName = "LongWhiteCandle";
Pv =
> > > > ((C>O)
> > > > > AND
> > > > > > > ((C-O)/(.001+H-L)>.6)); }
> > > > > > > else if(P == 6) { PatternName = "SmallWhiteCandle";
Pv
> > =
> > > > ((C>O)
> > > > > AND
> > > > > > > ((H-L)>(3*(C-O)))); }
> > > > > > > else if(P == 7) { PatternName = "BlackMaubozu"; Pv =
> > (O>C
> > > > AND
> > > > > H==O
> > > > > > > AND
> > > > > > > C==L); }
> > > > > > > else if(P == 8) { PatternName = "WhiteMaubozu"; Pv =
> > (C>O
> > > > AND
> > > > > H==C
> > > > > > > AND
> > > > > > > O==L); }
> > > > > > > else if(P == 9) { PatternName
= "BlackClosingMarubozu";
> > > Pv =
> > > > > (O>C
> > > > > > > AND
> > > > > > > C==L); }
> > > > > > > else if(P == 10) { PatternName
> > = "WhiteClosingMarubozu";
> > > Pv
> > > > =
> > > > > (C>O
> > > > > > > AND
> > > > > > > C==H); }
> > > > > > > else if(P == 11) { PatternName
> > = "BlackOpeningMarubozu";
> > > Pv
> > > > =
> > > > > (O>C
> > > > > > > AND
> > > > > > > O==H); }
> > > > > > > else if(P == 12) { PatternName
> > = "WhiteOpeningMarubozu";
> > > Pv
> > > > =
> > > > > (C>O
> > > > > > > AND
> > > > > > > O==L); }
> > > > > > > else if(P == 13) { PatternName = "HangingMan"; Pv =
> > (((H-
> > > L)
> > > > >4*
> > > > > (O-
> > > > > > > C)) AND
> > > > > > > ((C-L)/(.001+H-L)>= 0.75) AND ((O-L)/(.001+H-L)>=
> > 0.75)); }
> > > > > > > else if(P == 14) { PatternName = "Hammer"; Pv =
(((H-L)
> > >3*
> > > > (O-C))
> > > > > > > AND
> > > > > > > ((C-L)/(.001+H-L)>0.6) AND ((O-L)/(.001+H-L)>0.6)); }
> > > > > > > else if(P == 15) { PatternName = "InvertedHammer";
Pv =
> > > > (((H-L)
> > > > > >3*
> > > > > > > (O-C))
> > > > > > > AND ((H-C)/(.001+H-L)>0.6) AND ((H-O)/(.001+H-L)
>0.6)); }
> > > > > > > else if(P == 16) { PatternName = "ShootingStar"; Pv
=
> > > (((H-
> > > > L)>4*
> > > > > (O-
> > > > > > > C))
> > > > > > > AND ((H-C)/(.001+H-L)>= 0.75) AND ((H-O)/(.001+H-L)>=
> > > > 0.75)); }
> > > > > > > else if(P == 17) { PatternName
= "BlackSpinningTop"; Pv
> > =
> > > > ((O>C)
> > > > > > > AND
> > > > > > > ((H-L)>(3*(O-C))) AND (((H-O)/(.001+H-L))<.4) AND
> > > > > > > (((C-L)/(.001+H-L))<.4)); }
> > > > > > > else if(P == 18) { PatternName
= "WhiteSpinningTop"; Pv
> > =
> > > > ((C>O)
> > > > > > > AND
> > > > > > > ((H-L)>(3*(C-O))) AND (((H-C)/(.001+H-L))<.4) AND
> > > > > > > (((O-L)/(.001+H-L))<.4)); }
> > > > > > > else if(P == 19) { PatternName
> > = "BearishAbandonedBaby";
> > > Pv
> > > > =
> > > > > ((C1
> > > > > > > == O1)
> > > > > > > AND (C2>O2) AND (O>C) AND (L1>H2) AND (L1>H)); }
> > > > > > > else if(P == 20) { PatternName
> > > = "BearishEveningDojiStar";
> > > > Pv =
> > > > > > > ((C2>O2)
> > > > > > > AND ((C2-O2)/(.001+H2-L2)>.6) AND (C2<O1) AND (C1>O1)
AND
> > > > > > > ((H1-L1)>(3*(C1-O1))) AND (O>C) AND (O<O1)); }
> > > > > > > else if(P == 21) { PatternName = "DarkCloudCover";
Pv =
> > > > (C1>O1
> > > > > AND
> > > > > > > ((C1+O1)/2)>C AND O>C AND O>C1 AND C>O1 AND (O-C)/
(.001+
> > (H-
> > > L)
> > > > > >0.6)); }
> > > > > > > else if(P == 22) { PatternName
= "BearishEngulfing"; Pv
> > =
> > > > > ((C1>O1)
> > > > > > > AND
> > > > > > > (O>C) AND (O>= C1) AND (O1>= C) AND ((O-C)>(C1-
O1))); }
> > > > > > > else if(P == 23) { PatternName
> > > = "ThreeOutsideDownPattern";
> > > > Pv =
> > > > > > > ((C2>O2)
> > > > > > > AND (O1>C1) AND (O1>= C2) AND (O2>= C1) AND ((O1-C1)>
(C2-
> > > O2))
> > > > AND
> > > > > > > (O>C) AND
> > > > > > > (C<C1)); }
> > > > > > > else if(P == 24) { PatternName
> > = "BullishAbandonedBaby";
> > > Pv
> > > > =
> > > > > ((C1
> > > > > > > == O1)
> > > > > > > AND (O2>C2) AND (C>O) AND (L2>H1) AND (L>H1)); }
> > > > > > > else if(P == 25) { PatternName
> > > = "BullishMorningDojiStar";
> > > > Pv =
> > > > > > > ((O2>C2)
> > > > > > > AND ((O2-C2)/(.001+H2-L2)>.6) AND (C2>O1) AND (O1>C1)
AND
> > > > > > > ((H1-L1)>(3*(C1-O1))) AND (C>O) AND (O>O1)); }
> > > > > > > else if(P == 26) { PatternName
= "BullishEngulfing"; Pv
> > =
> > > > > ((O1>C1)
> > > > > > > AND
> > > > > > > (C>O) AND (C>= O1) AND (C1>= O) AND ((C-O)>(O1-
C1))); }
> > > > > > > else if(P == 27) { PatternName
> > = "ThreeOutsideUpPattern";
> > > > Pv =
> > > > > > > ((O2>C2)
> > > > > > > AND (C1>O1) AND (C1>= O2) AND (C2>= O1) AND ((C1-O1)>
(O2-
> > > C2))
> > > > AND
> > > > > > > (C>O) AND
> > > > > > > (C>C1)); }
> > > > > > > else if(P == 28) { PatternName = "BullishHarami";
Pv =
> > > > ((O1>C1)
> > > > > > > AND (C>O)
> > > > > > > AND (C<= O1) AND (C1<= O) AND ((C-O)<(O1-C1))); }
> > > > > > > else if(P == 29) { PatternName
> > = "ThreeInsideUpPattern";
> > > Pv
> > > > =
> > > > > > > ((O2>C2)
> > > > > > > AND (C1>O1) AND (C1<= O2) AND (C2<= O1) AND ((C1-O1)<
(O2-
> > > C2))
> > > > AND
> > > > > > > (C>O) AND
> > > > > > > (C>C1) AND (O>O1)); }
> > > > > > > else if(P == 30) { PatternName = "PiercingLine"; Pv
=
> > > > ((C1<O1)
> > > > > AND
> > > > > > > (((O1+C1)/2)<C) AND (O<C) AND (O<C1) AND (C<O1) AND
> > > > > > > ((C-O)/(.001+(H-L))>0.6)); }
> > > > > > > else if(P == 31) { PatternName = "BearishHarami";
Pv =
> > > > ((C1>O1)
> > > > > > > AND (O>C)
> > > > > > > AND (O<= C1) AND (O1<= C) AND ((O-C)<(C1-O1))); }
> > > > > > > else if(P == 32) { PatternName
> > > = "ThreeInsideDownPattern";
> > > > Pv =
> > > > > > > ((C2>O2)
> > > > > > > AND (O1>C1) AND (O1<= C2) AND (O2<= C1) AND ((O1-C1)<
(C2-
> > > O2))
> > > > AND
> > > > > > > (O>C) AND
> > > > > > > (C<C1) AND (O<O1)); }
> > > > > > > else if(P == 33) { PatternName
= "ThreeWhiteSoldiers";
> > Pv
> > > =
> > > > > > > (C>O*1.01)
> > > > > > > AND (C1>O1*1.01) AND (C2>O2*1.01) AND (C>C1) AND
(C1>C2)
> > AND
> > > > > (O<C1)
> > > > > > > AND
> > > > > > > (O>O1) AND (O1<C2) AND (O1>O2) AND (((H-C)/(H-L))<.2)
AND
> > > > > > > (((H1-C1)/(H1-L1))<.2) AND (((H2-C2)/(H2-L2))<.2); }
> > > > > > > else if(P == 34) { PatternName = "DarkCloudCover";
Pv =
> > > > > > > (C1>O1*1.01) AND
> > > > > > > (O>C) AND (O>H1) AND (C>O1) AND (((C1+O1)/2)>C) AND
> > (C>O1)
> > > AND
> > > > > > > (MA(C,13)-Ref(MA(C,13),-4)>0); }
> > > > > > > else if(P == 35) { PatternName = "ThreeBlackCrows";
Pv =
> > > > > > > (O>C*1.01) AND
> > > > > > > (O1>C1*1.01) AND (O2>C2*1.01) AND (C<C1) AND (C1<C2)
AND
> > > > (O>C1)
> > > > > AND
> > > > > > > (O<O1)
> > > > > > > AND (O1>C2) AND (O1<O2) AND (((C-L)/(H-L))<.2) AND
(((C1-
> > > L1)/
> > > > (H1-
> > > > > L1))
> > > > > > > <.2)
> > > > > > > AND (((C2-L2)/(H2-L2))<.2); }
> > > > > > > else if(P == 36) { PatternName = "doji"; Pv = (O ==
> > C); }
> > > > > > > else if(P == 37) { PatternName = "GapUp"; Pv = GapUp
> > (); }
> > > > > > > else if(P == 38) { PatternName = "GapDown"; Pv =
GapDown
> > > > (); }
> > > > > > > else if(P == 39) { PatternName = "BigGapUp"; Pv =
> > > > L>1.01*H1; }
> > > > > > > else if(P == 40) { PatternName = "BigGapDown"; Pv =
> > > > H<0.99*L1; }
> > > > > > > else if(P == 41) { PatternName = "HugeGapUp"; Pv =
> > > > L>1.02*H1; }
> > > > > > > else if(P == 42) { PatternName = "HugeGapDown"; Pv =
> > > > > H<0.98*L1; }
> > > > > > > else if(P == 43) { PatternName = "DoubleGapUp"; Pv =
> > GapUp
> > > > () AND
> > > > > > > Ref(GapUp(),-1); }
> > > > > > > else if(P == 44) { PatternName = "DoubleGapDown";
Pv =
> > > > GapDown()
> > > > > > > AND
> > > > > > > Ref(GapDown(),-1); }
> > > > > > > return Pv;
> > > > > > > }
> > > > > > >
> > > > > > > PatternNameList = "";
> > > > > > > for(Cp=0; Cp<=44; Cp++) <<<<<<<errors
> > > > > > > {
> > > > > > > VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern
> > (Cp));
> > > > > > > PatternNameList = PatternNameList
+PatternName+",";
> > > > > > > }
> > > > > > >
> > > > > > > BI = BarIndex();
> > > > > > > SelectedBar = SelectedValue(BI) -BI[0];
> > > > > > > //Selectedbar = Status("lastvisiblebar")-1;
> > > > > > > PStr="";
> > > > > > > for(Cp=0; Cp<=44; Cp++)
> > > > > > > {
> > > > > > > Temp = VarGet("Pattern"+NumToStr(Cp,1.0));
> > > > > > > if(temp[SelectedBar]) Pstr=Pstr+"#"+NumToStr
> > (Cp,1.0)
> > > > +" -
> > > > > > > "+StrExtract(PatternNameList,Cp)+"\n";
> > > > > > > }
> > > > > > >
> > > > > > > Title = "\nCandle Demostration \n"+ Pstr;
> > > > > > > _SECTION_END();
> > > > > > >
> > > > > > >
> > > > > > > --- In amibroker@xxxxxxxxxxxxxxx, Graham
> > <kavemanperth@xxxx>
> > > > > wrote:
> > > > > > > > can you post the lines around where the error is
> > > occuring,
> > > > i am
> > > > > not
> > > > > > > > familiar with the code you are discusssing
> > > > > > > >
> > > > > > > >
> > > > > > > > On Thu, 03 Mar 2005 00:35:15 -0000, goldwing01_1999
> > > > > > > > <goldwing01_1999@xxxx> wrote:
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > I would think my #include folder is working fine
> > > because I
> > > > > have
> > > > > > > other
> > > > > > > > > codes there with #include and they work fine
> > > > > > > > >
> > > > > > > > > --- In amibroker@xxxxxxxxxxxxxxx, Graham
> > > > <kavemanperth@xxxx>
> > > > > > > wrote:
> > > > > > > > > > Have you tried changing the location of the
files
> > > that
> > > > are
> > > > > in
> > > > > > > the
> > > > > > > > > > #include, or change the include directory shown
> > > > > > > > > >
> > > > > > > > > > If it just has
> > > > > > > > > > #include <xyz.afl>
> > > > > > > > > > then the files should be in the default include
> > > > directory as
> > > > > > > defined
> > > > > > > > > > in your AB preferences
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Wed, 2 Mar 2005 16:28:32 -0800 (PST), l
> > washington
> > > > > > > > > > <goldwing01_1999@xxxx> wrote:
> > > > > > > > > > > If you have MSN i will let you into my
computer
> > for
> > > > you
> > > > > can
> > > > > > > see
> > > > > > > > > your self
> > > > > > > > > > > the problem.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Herman van den Bergen <psytek@xxxx> wrote:
> > > > > > > > > > > There have been reports from others who
> > encountered
> > > > > problems,
> > > > > > > > > however it
> > > > > > > > > > > runs fine on my computer...there is
no "trick" to
> > > it,
> > > > it
> > > > > > > should
> > > > > > > > > work right
> > > > > > > > > > > of the bat. make sure you data is OK and that
you
> > > > have no
> > > > > > > wrapped
> > > > > > > > > lines. You
> > > > > > > > > > > do not provide any information as to what
error
> > > > mesage you
> > > > > > > get...
> > > > > > > > > > >
> > > > > > > > > > > best regards,
> > > > > > > > > > > herman.
> > > > > > > > > > > -----Original Message-----
> > > > > > > > > > > From: goldwing01_1999
> > [mailto:goldwing01_1999@x...]
> > > > > > > > > > > Sent: Wednesday, March 02, 2005 7:06 PM
> > > > > > > > > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > > > > > > > > Subject: [amibroker] Candle Identification
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > has anyone been able to make this code work?
> > Candle
> > > > > > > > > identification
> > > > > > > > > > > Function
> > > > > > > > > > >
> > > > > > > > > > > if so please explain the trick to it.
> > > > > > > > > > >
> > > > > > > > > > > I am getting nothing but errors.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Check AmiBroker web page at:
> > > > > > > > > > > http://www.amibroker.com/
> > > > > > > > > > >
> > > > > > > > > > > Check group FAQ at:
> > > > > > > > > > >
> > > > >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Check AmiBroker web page at:
> > > > > > > > > > > http://www.amibroker.com/
> > > > > > > > > > >
> > > > > > > > > > > Check group FAQ at:
> > > > > > > > > > >
> > > > >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
__________________________________________________
> > > > > > > > > > > Do You Yahoo!?
> > > > > > > > > > > Tired of spam? Yahoo! Mail has the best spam
> > > > protection
> > > > > around
> > > > > > > > > > > http://mail.yahoo.com
> > > > > > > > > > >
> > > > > > > > > > > Check AmiBroker web page at:
> > > > > > > > > > > http://www.amibroker.com/
> > > > > > > > > > >
> > > > > > > > > > > Check group FAQ at:
> > > > > > > > > > >
> > > > >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Yahoo! Groups Sponsor
> > > > > > > > > > > ADVERTISEMENT
> > > > > > > > > > >
> > > > > > > > > > > ________________________________
> > > > > > > > > > > Yahoo! Groups Links
> > > > > > > > > > > To visit your group on the web, go to:
> > > > > > > > > > > http://groups.yahoo.com/group/amibroker/
> > > > > > > > > > >
> > > > > > > > > > > To unsubscribe from this group, send an email
to:
> > > > > > > > > > > amibroker-unsubscribe@xxxxxxxxxxxxxxx
> > > > > > > > > > >
> > > > > > > > > > > Your use of Yahoo! Groups is subject to the
> > Yahoo!
> > > > Terms
> > > > > of
> > > > > > > > > Service.
> > > > > > > > > > > ________________________________
> > > > > > > > > > > Yahoo! Groups Links
> > > > > > > > > > > To visit your group on the web, go to:
> > > > > > > > > > > http://groups.yahoo.com/group/amibroker/
> > > > > > > > > > >
> > > > > > > > > > > To unsubscribe from this group, send an email
to:
> > > > > > > > > > > amibroker-unsubscribe@xxxxxxxxxxxxxxx
> > > > > > > > > > >
> > > > > > > > > > > Your use of Yahoo! Groups is subject to the
> > Yahoo!
> > > > Terms
> > > > > of
> > > > > > > > > Service.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Cheers
> > > > > > > > > > Graham
> > > > > > > > > > http://e-wire.net.au/~eb_kavan/
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Check AmiBroker web page at:
> > > > > > > > > http://www.amibroker.com/
> > > > > > > > >
> > > > > > > > > Check group FAQ at:
> > > > > > >
> > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > > > > > > Yahoo! Groups Links
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Cheers
> > > > > > > > Graham
> > > > > > > > http://e-wire.net.au/~eb_kavan/
> > > > > > >
> > > > > > >
> > > > > > > Check AmiBroker web page at:
> > > > > > > http://www.amibroker.com/
> > > > > > >
> > > > > > > Check group FAQ at:
> > > > >
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > > > > Yahoo! Groups Links
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Cheers
> > > > > > Graham
> > > > > > http://e-wire.net.au/~eb_kavan/
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Check AmiBroker web page at:
> > > > > http://www.amibroker.com/
> > > > >
> > > > > Check group FAQ at:
> > > > > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > > > >
> > > > >
> > > > > Yahoo! Groups Sponsor
> > > > > ADVERTISEMENT
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > ------------------------------------------------------------
----
> > --
> > > --
> > > > --------
> > > > > --
> > > > > Yahoo! Groups Links
> > > > >
> > > > > a.. To visit your group on the web, go to:
> > > > > http://groups.yahoo.com/group/amibroker/
> > > > >
> > > > > b.. To unsubscribe from this group, send an email to:
> > > > > amibroker-unsubscribe@xxxxxxxxxxxxxxx
> > > > >
> > > > > c.. Your use of Yahoo! Groups is subject to the Yahoo!
> > Terms
> > > of
> > > > Service.
> >
> >
> > Check AmiBroker web page at:
> > http://www.amibroker.com/
> >
> > Check group FAQ at:
http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> > Yahoo! Groups Links
> >
> >
> >
> >
> >
>
>
> --
> Cheers
> Graham
> http://e-wire.net.au/~eb_kavan/
------------------------ Yahoo! Groups Sponsor --------------------~-->
Has someone you know been affected by illness or disease?
Network for Good is THE place to support health awareness efforts!
http://us.click.yahoo.com/Rcy2bD/UOnJAA/cosFAA/GHeqlB/TM
--------------------------------------------------------------------~->
Check AmiBroker web page at:
http://www.amibroker.com/
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|