Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
Find Out More Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

CAMSLIM Cup and Handle Pattern for Amibroker (AFL)
kaiji
over 8 years ago
Amibroker (AFL)

Rating:
3 / 5 (Votes 3)
Tags:
amibroker, exploration, pattern

CAMSLIM cup and handle pattern exploration. Code is based on the following article: http://www.haikulabs.com/mh.htm

By Jerry Tyliczka

Similar Indicators / Formulas

Double Dojis Exploration
Submitted by ami4me about 5 years ago
Butterfly Pattern
Submitted by asdaf1 over 8 years ago
Pennant Chart Pattern Exploration
Submitted by kaiji over 8 years ago
Candlestick Pattern Finder
Submitted by theone3000 almost 8 years ago
Harmonic pattern detection
Submitted by Yaaad about 8 years ago

Indicator / Formula

Copy & Paste Friendly
MinPrice=20;
MinVolume=100000;

//Left side of Handle formation can occur anywhere from 2-25days - look at the last 25 bars and get the number of bars since condition met.

LH=HHV(Close,25); // Highest close past 25 days.
BLH=HHVBars(Close,25); // Tells us # of bars that have past since high reached. Used to determine lowest bar.

BH=LLV(Close,BLH); //  Lowest close since the highest value was reached/
BBH=LLVBars(Close,BLH); // number of bars that have past since lowest value.

NBLH=BLH-BBH; // this is the number of bars in the formation of the left side handle. NBLH must be atleast 2 to be a valid handle formation.

// Now lets get the cup formation. Cup formation can occur anywhere from 23 to 145 days. The left side of the cup can be from 20-120 days and the right side can be anywhere from 3-25 days.

// get the right side of the cup(low).

BC=LLV(Close,BLH+25); // look at 25 bars since the left side of handle.
BBC=LLVBars(Close,BLH+25);

// get the left side of the cup.

LC=Ref(HHV(Close,120),BBC*-1);
BLC=Ref(HHVBars(Close,120),BBC*-1);

// Get highest value before left side of cup started to form.

KC=Ref(HHV(Close,30),BLC*-1);
BKC=Ref(HHVBars(Close,120),BLC*-1);

Delta= LC/KC;

//Calculate the up/down relative price value during time frame RC (Right Cup Formation)

URPV=DRPV=0;
i=EndValue(BLH);
j=EndValue(BBC);
do
 {
   URPV = IIf(Ref(Close,i*-1)>Ref(Close,(i+1)*-1),Ref(Volume,(i*-1))*Ref(Close,(i*-1))-Ref(Close,(i+1)*-1),URPV);
   DRPV = IIf(Ref(Close,i*-1)<Ref(Close,(i+1)*-1),Ref(Volume,(i*-1))*Ref(Close,(i+1)*-1)-Ref(Close,(i*-1)),DRPV);
   i++;
 } while (i<j);
Alpha = URPV/DRPV; // Should be >1

// Calculate Beta

DRPV=0;
i=EndValue(BBH);
j=EndValue(BLH);
do
 {
   DRPV = IIf(Ref(Close,i*-1)<Ref(Close,(i+1)*-1),Ref(Volume,(i*-1))*Ref(Close,(i+1)*-1)-Ref(Close,(i*-1)),DRPV);
   i++;
 } while (i<j);
Beta = URPV/DRPV;
Gamma = log(Alpha) + log(Beta) + delta;

AddColumn(LH,"Left Handle");
AddColumn(BH,"Bottom Handle");
AddColumn(BC,"Bottom Cup");
AddColumn(LC,"Left Cup");
AddColumn(ALPHA,"Alpha");
AddColumn(DELTA,"Delta");
AddColumn(BETA,"BETA");
AddColumn(GAMMA,"Gamma");

// Filter Criteria as follows:
// 1. Right side of handle must be at least 2 bars. NBHL>2
// 2. Bottom of the cup must be lower than the left top of the cup.
// 3. Left handle must be lower than or equal to the lect cup formation.
// 4. Bottom of the cup must be less than the left handle.
// 5. Bottom of the handle must be > 80% of the left handle + 20% of the bottom cup.
// 6. Start of cup/handle formation must be greater than precedding chart value. LC>LC
// 7. Minimum price and volume you can set any way you like.


Filter= NBLH>2 AND Close>BH AND BC<LC AND LH<=LC AND BC<LH AND BH<LH AND BH>.8*LH+.2*BC AND KC<LC AND Close>MinPrice AND MA(Volume,30)>MinVolume;

3 comments

1. rajaswamy

NOT SHOWING ANY THINK WHAT TO DO SIR JI ADMIN

2. varunavis

error not working.
warning 505

3. dedaniaroop09@gmail.com

any one have rounding bottom afl.

Leave Comment

Please login here to leave a comment.

Back