[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Candle identification for Selected bar



PureBytes Links

Trading Reference Links

Hi,

Running 4.60 so haven't tried the drag and drop ... but the candlestick comments pop up in the interpretation area so it's fine.

Thanks

--- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen" <psytek@xxxx> wrote:
> Just Drag and Drop it on top of your main chart. You may have to adjust the
> Titel statement...
> herman
>   -----Original Message-----
>   From: firehorse888uk [mailto:firehorse888uk@x...]
>   Sent: Saturday, September 25, 2004 7:25 AM
>   To: amibroker@xxxxxxxxxxxxxxx
>   Subject: [amibroker] Re: Candle identification for Selected bar
> 
> 
>   Hi,
> 
>   100% correct.
> 
>   I had cut and pasted from my email program.
>   When I did it from the browser, it was fine.
> 
>   Now I have another chart below the main price chart with all the
> candlestick formations on the lefthand side.
> 
>   I put the code in the main price formula, but the names of the candles
> don't appear as the 'title', which I think is the name of the ticker?
> 
>   Is there anyway to tweak the code so that I can have the names of the
> candlesticks on the main price chart?
> 
>   Many thanks.
> 
>   --- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen" <psytek@xxxx>
> wrote:
>   > It is probably a linewrap problem or a missed character during copy. The
>   > code works at my end... without seeing your code it is hard to tell what
> is
>   > wrong...
>   >
>   > herman
>   >   -----Original Message-----
>   >   From: firehorse888uk [mailto:firehorse888uk@x...]
>   >   Sent: Saturday, September 25, 2004 4:43 AM
>   >   To: amibroker@xxxxxxxxxxxxxxx
>   >   Subject: [amibroker] Re: Candle identification for Selected bar
>   >
>   >
>   >   Hi,
>   >
>   >   The code below looks wonderful ... but I'm still very new to
> amibroker. I
>   > tried to cut and paste into the existing price indicator but it comes up
>   > with
>   >   ==================
>   >   Line 6, Column 1:
>   >   L1 = Ref(L,-1);L2 = Ref(L,-2);
>   >
>   >   C1 = Ref(C,-1);C2 = Ref(C,-2);
>   >
>   >   function CandlePattern(P)
>   >
>   >
>   >   ^
>   >
>   >   Error 23.
>   >   Syntax error
>   >   ===============
>   >   I also tried creating a new custom indicator and the same thing
> happens.
>   > Can someone help me to get the code working. I'm sure it's simple but I
>   > don't know how.
>   >
>   >   Thanks
>   >
>   >
>   >
>   >   --- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen"
> <psytek@xxxx>
>   > wrote:
>   >   > Somebody asked me to modify the candle code posted earlier so that
> it
>   > would
>   >   > identify candle patterns for the selected bar, see code below. The
>   >   > CandlePattern() was posted before and is just repeated to make the
> code
>   >   > functional. The added pattern extraction loops are at the bottom of
> the
>   > code
>   >   > (watch for line wraps).
>   >   >
>   >   > best regards,
>   >   > herman.
>   >   >
>   >   > 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++)
>   >   >       {
>   >   >       VarSet("Pattern"+NumToStr(Cp,1.0),CandlePattern(cP));
>   >   >       PatternNameList = PatternNameList +PatternName+",";
>   >   >       }
>   >   >
>   >   > SelectedBar = SelectedValue(BarIndex());
>   >   > 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";
>   >   >       }
>   >   >
>   >   > Plot(C,"Close",1,64);
>   >   > Title = Pstr;
>   >
>   >
>   >
>   >   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.
>   >
>   >
>   >
>   > [Non-text portions of this message have been removed]
> 
> 
> 
>   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.
> 
> 
> 
> [Non-text portions of this message have been removed]



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/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/