StockFetcher Forums · Filter Exchange · CHUTES and LADDERS<< 1 2 >>Post Follow-up
tomm1111
198 posts
msg #67723
Ignore tomm1111
modified
9/25/2008 1:10:04 AM

CHUTES and LADDERS

...work in progress. (Updated filter last post.)

This filter calculates probability of price change % based on past performance of specified intervals. I believe it can be applied to both short and longer term trading.

To provide a normal distribution for the probability calculations (important), I used the daily price change percentage. The calculation is basically a z-table value of a normal distribution (bell curve).

Sort by "x-day" columns. Negative "x-day" (or z-table) numbers reflect a positive change in close price.

Please feel free to modify, tweak, and add your criteria. Please share your work on this post.

In the next few days, I will try to get a out a more detailed explanation.

tomm


Fetcher[
/* CHUTES and LADDERS */
/* Price change(%) probability calculations */

/*my_ind calcs*/
set{prc_chg,close - close 1 day ago}
set{np, prc_chg / close 1 day ago}
set{my_ind,np * 100}

/*5 day*/
set{my_sd_5,cstddev(my_ind,5)}
set{my_sum_5,sum(my_ind,5)}
set{my_mean_5,my_sum_5 / 5}

/* 5 day, z-table calc*/
set{target_L5,0}
set{p5,target_L5 - my_mean_5}
set{z_5,p5 / my_sd_5}

/*10 day*/
set{my_sd_10,cstddev(my_ind,10)}
set{my_sum_10,sum(my_ind,10)}
set{my_mean_10,my_sum_10 / 10}

/* 10 day, z-table calc*/
set{target_L10,0}
set{p10,target_L10 - my_mean_10}
set{z_10,p10 / my_sd_10}

/*20 day*/
set{my_sd_20,cstddev(my_ind,20)}
set{my_sum_20,sum(my_ind,20)}
set{my_mean_20,my_sum_20 / 20}

/* 20 day, z-table calc*/
set{target_L20,0}
set{p20,target_L20 - my_mean_20}
set{z_20,p20 / my_sd_20}

/*30 day*/
set{my_sd_30,cstddev(my_ind,30)}
set{my_sum_30,sum(my_ind,30)}
set{my_mean_30,my_sum_30 / 30}

/* 30 day, z-table calc*/
set{target_L30,0}
set{p30,target_L30 - my_mean_30}
set{z_30,p30 / my_sd_30}

/*45 day*/
set{my_sd_45,cstddev(my_ind,45)}
set{my_sum_45,sum(my_ind,45)}
set{my_mean_45,my_sum_45 / 45}

/* 45 day, z-table calc*/
set{target_L45,0}
set{p45,target_L45 - my_mean_45}
set{z_45,p45 / my_sd_45}

/*60 day*/
set{my_sd_60,cstddev(my_ind,60)}
set{my_sum_60,sum(my_ind,60)}
set{my_mean_60,my_sum_60 / 60}

/* 60 day, z-table calc*/
set{target_L60,0}
set{p60,target_L60 - my_mean_60}
set{z_60,p60 / my_sd_60}

/*100 day*/
set{my_sd_100,cstddev(my_ind,100)}
set{my_sum_100,sum(my_ind,100)}
set{my_mean_100,my_sum_100 / 100}

/* 100 day, z-table calc*/
set{target_L100,0}
set{p100,target_L100 - my_mean_100}
set{z_100,p100 / my_sd_100}

show stocks where close is above 1
and volume is above 100000
and not otcbb

add column separator
add column z_5{5-day}
add column z_10{10-day}
add column z_20{20-day}
add column z_30{30-day}
add column z_45{45-day}
add column z_60{60-day}
add column z_100{100-day}
and add column separator
add column average day range(10)

set{ma5,cema(z_5,5)}
draw z_5
draw ma5 on plot z_5

set{ma10,cema(z_10,8)}
draw z_10
draw ma10 on plot z_10

set{ma20,cema(z_20,20)}
draw z_20
draw ma20 on plot z_20

set{ma60,cema(z_60,60)}
draw z_60
draw ma60 on plot z_60
]






chetron
2,817 posts
msg #67724
Ignore chetron
9/25/2008 6:30:30 AM

FOR THE CHEAP SEATS....


YOU NEED TO OVERLAY THE PLOTS BY EYE.....


Fetcher[


/* CHUTES and LADDERS */
/* Price change(%) probability calculations */

/*my_ind calcs*/
set{prc_chg,close - close 1 day ago}
set{np, prc_chg / close 1 day ago}
set{my_ind,np * 100}

/*5 day*/
set{my_sd_5,cstddev(my_ind,5)}
set{my_sum_5,sum(my_ind,5)}
set{my_mean_5,my_sum_5 / 5}

/* 5 day, z-table calc*/
set{target_L5,0}
set{p5,target_L5 - my_mean_5}
set{z_5,p5 / my_sd_5}

/*10 day*/
set{my_sd_10,cstddev(my_ind,10)}
set{my_sum_10,sum(my_ind,10)}
set{my_mean_10,my_sum_10 / 10}

/* 10 day, z-table calc*/
set{target_L10,0}
set{p10,target_L10 - my_mean_10}
set{z_10,p10 / my_sd_10}

/*20 day*/
set{my_sd_20,cstddev(my_ind,20)}
set{my_sum_20,sum(my_ind,20)}
set{my_mean_20,my_sum_20 / 20}

/* 20 day, z-table calc*/
set{target_L20,0}
set{p20,target_L20 - my_mean_20}
set{z_20,p20 / my_sd_20}

/*30 day*/
set{my_sd_30,cstddev(my_ind,30)}
set{my_sum_30,sum(my_ind,30)}
set{my_mean_30,my_sum_30 / 30}

/* 30 day, z-table calc*/
set{target_L30,0}
set{p30,target_L30 - my_mean_30}
set{z_30,p30 / my_sd_30}

/*45 day*/
set{my_sd_45,cstddev(my_ind,45)}
set{my_sum_45,sum(my_ind,45)}
set{my_mean_45,my_sum_45 / 45}

/* 45 day, z-table calc*/
set{target_L45,0}
set{p45,target_L45 - my_mean_45}
set{z_45,p45 / my_sd_45}

/*60 day*/
set{my_sd_60,cstddev(my_ind,60)}
set{my_sum_60,sum(my_ind,60)}
set{my_mean_60,my_sum_60 / 60}

/* 60 day, z-table calc*/
set{target_L60,0}
set{p60,target_L60 - my_mean_60}
set{z_60,p60 / my_sd_60}

/*100 day*/
set{my_sd_100,cstddev(my_ind,100)}
set{my_sum_100,sum(my_ind,100)}
set{my_mean_100,my_sum_100 / 100}

/* 100 day, z-table calc*/
set{target_L100,0}
set{p100,target_L100 - my_mean_100}
set{z_100,p100 / my_sd_100}

show stocks where close is above 1
and volume is above 100000
and not otcbb

add column separator
add column z_5{5-day}
add column z_10{10-day}
add column z_20{20-day}
add column z_30{30-day}
add column z_45{45-day}
add column z_60{60-day}
add column z_100{100-day}
and add column separator
add column average day range(10)

set{ma5,cema(z_5,5)}
draw z_5
draw ma5

set{ma10,cema(z_10,8)}
draw z_10
draw ma10

set{ma20,cema(z_20,20)}
draw z_20
draw ma20

set{ma60,cema(z_60,60)}
draw z_60
draw ma60
]



chetron
2,817 posts
msg #67725
Ignore chetron
9/25/2008 6:47:09 AM

AND MAYBE....



Fetcher[




/* CHUTES and LADDERS */
/* Price change(%) probability calculations */

/*my_ind calcs*/
set{prc_chg,close - close 1 day ago}
set{np, prc_chg / close 1 day ago}
set{my_ind,np * 100}

/*5 day*/
set{my_sd_5,cstddev(my_ind,5)}
set{my_sum_5,sum(my_ind,5)}
set{my_mean_5,my_sum_5 / 5}

/* 5 day, z-table calc*/
set{target_L5,0}
set{p5,target_L5 - my_mean_5}
set{z_5,p5 / my_sd_5}

/*10 day*/
set{my_sd_10,cstddev(my_ind,10)}
set{my_sum_10,sum(my_ind,10)}
set{my_mean_10,my_sum_10 / 10}

/* 10 day, z-table calc*/
set{target_L10,0}
set{p10,target_L10 - my_mean_10}
set{z_10,p10 / my_sd_10}

/*20 day*/
set{my_sd_20,cstddev(my_ind,20)}
set{my_sum_20,sum(my_ind,20)}
set{my_mean_20,my_sum_20 / 20}

/* 20 day, z-table calc*/
set{target_L20,0}
set{p20,target_L20 - my_mean_20}
set{z_20,p20 / my_sd_20}

/*30 day*/
set{my_sd_30,cstddev(my_ind,30)}
set{my_sum_30,sum(my_ind,30)}
set{my_mean_30,my_sum_30 / 30}

/* 30 day, z-table calc*/
set{target_L30,0}
set{p30,target_L30 - my_mean_30}
set{z_30,p30 / my_sd_30}

/*45 day*/
set{my_sd_45,cstddev(my_ind,45)}
set{my_sum_45,sum(my_ind,45)}
set{my_mean_45,my_sum_45 / 45}

/* 45 day, z-table calc*/
set{target_L45,0}
set{p45,target_L45 - my_mean_45}
set{z_45,p45 / my_sd_45}

/*60 day*/
set{my_sd_60,cstddev(my_ind,60)}
set{my_sum_60,sum(my_ind,60)}
set{my_mean_60,my_sum_60 / 60}

/* 60 day, z-table calc*/
set{target_L60,0}
set{p60,target_L60 - my_mean_60}
set{z_60,p60 / my_sd_60}

/*100 day*/
set{my_sd_100,cstddev(my_ind,100)}
set{my_sum_100,sum(my_ind,100)}
set{my_mean_100,my_sum_100 / 100}

/* 100 day, z-table calc*/
set{target_L100,0}
set{p100,target_L100 - my_mean_100}
set{z_100,p100 / my_sd_100}

show stocks where close is above 1
and volume is above 100000
and not otcbb

add column separator
add column z_5{5-day}
add column z_10{10-day}
add column z_20{20-day}
add column z_30{30-day}
add column z_45{45-day}
add column z_60{60-day}
add column z_100{100-day}
and add column separator
add column average day range(10)

set{ma5,cema(z_5,5)}
draw z_5
draw ma5

MA5 CROSSED BELOW 0
Z_5 1 DAY AGO CROSSED BELOW 0

set{ma10,cema(z_10,8)}
draw z_10
draw ma10

set{ma20,cema(z_20,20)}
draw z_20
draw ma20

set{ma60,cema(z_60,60)}
draw z_60
draw ma60


]



johnpaulca
11,285 posts
msg #67727
Ignore johnpaulca
9/25/2008 9:05:56 AM

You guys are amazing...thanks for the great work.

Chet....thanks for the tickets to the nose bleed seats....lol.

chetron
2,817 posts
msg #67728
Ignore chetron
9/25/2008 9:13:32 AM


MY PLEASURE.


Sqwii
160 posts
msg #67750
Ignore Sqwii
9/25/2008 4:52:21 PM

PLease explain this filter in DETAILS... which stocks would be best to buy and hold ?

The stocks on the top of the list ? what are YOU looking after?

chetron
2,817 posts
msg #67763
Ignore chetron
9/25/2008 11:00:20 PM

AND EVEN .....

I'M JUST CRANKIN' HERE, BOSS.
WHAT DO YOU THINK?

Fetcher[

/* CHUTES and LADDERS */
/* Price change(%) probability calculations */

/*my_ind calcs*/
set{prc_chg,close - close 1 day ago}
set{np, prc_chg / close 1 day ago}
set{my_ind,np * 100}

/*5 day*/
set{my_sd_5,cstddev(my_ind,5)}
set{my_sum_5,sum(my_ind,5)}
set{my_mean_5,my_sum_5 / 5}

/* 5 day, z-table calc*/
set{target_L5,0}
set{p5,target_L5 - my_mean_5}
set{z_5,p5 / my_sd_5}

/*10 day*/
set{my_sd_10,cstddev(my_ind,10)}
set{my_sum_10,sum(my_ind,10)}
set{my_mean_10,my_sum_10 / 10}

/* 10 day, z-table calc*/
set{target_L10,0}
set{p10,target_L10 - my_mean_10}
set{z_10,p10 / my_sd_10}

/*20 day*/
set{my_sd_20,cstddev(my_ind,20)}
set{my_sum_20,sum(my_ind,20)}
set{my_mean_20,my_sum_20 / 20}

/* 20 day, z-table calc*/
set{target_L20,0}
set{p20,target_L20 - my_mean_20}
set{z_20,p20 / my_sd_20}

/*30 day*/
set{my_sd_30,cstddev(my_ind,30)}
set{my_sum_30,sum(my_ind,30)}
set{my_mean_30,my_sum_30 / 30}

/* 30 day, z-table calc*/
set{target_L30,0}
set{p30,target_L30 - my_mean_30}
set{z_30,p30 / my_sd_30}

/*45 day*/
set{my_sd_45,cstddev(my_ind,45)}
set{my_sum_45,sum(my_ind,45)}
set{my_mean_45,my_sum_45 / 45}

/* 45 day, z-table calc*/
set{target_L45,0}
set{p45,target_L45 - my_mean_45}
set{z_45,p45 / my_sd_45}

/*60 day*/
set{my_sd_60,cstddev(my_ind,60)}
set{my_sum_60,sum(my_ind,60)}
set{my_mean_60,my_sum_60 / 60}

/* 60 day, z-table calc*/
set{target_L60,0}
set{p60,target_L60 - my_mean_60}
set{z_60,p60 / my_sd_60}

/*100 day*/
set{my_sd_100,cstddev(my_ind,100)}
set{my_sum_100,sum(my_ind,100)}
set{my_mean_100,my_sum_100 / 100}

/* 100 day, z-table calc*/
set{target_L100,0}
set{p100,target_L100 - my_mean_100}
set{z_100,p100 / my_sd_100}

show stocks where close is above 1
and volume is above 100000
and not otcbb

add column separator
add column z_5{5-day}
add column z_10{10-day}
add column z_20{20-day}
add column z_30{30-day}
add column z_45{45-day}
add column z_60{60-day}
add column z_100{100-day}
and add column separator
add column average day range(10)

set{ma5,cema(z_5,5)}
draw z_5
draw ma5

Z_5 CROSSED BELOW 1.5
RSI(2) BELOW 25

set{ma10,cema(z_10,8)}
draw z_10
draw ma10

set{ma20,cema(z_20,20)}
draw z_20
draw ma20

set{ma60,cema(z_60,60)}
draw z_60
draw ma60

]



tomm1111
198 posts
msg #67768
Ignore tomm1111
modified
9/26/2008 2:00:59 AM

I couldn't do exactly what I wanted to. I think I ran out of available nested calculations, even with the advanced subscription. However, this is a step in the direction I wanted to go.

Here is what you want to look for:

1. clo in extreme low or extreme high
2. sort by the "5-day" column at both ends
3. Spike in at least z_5, z_10, or z-20. All 3 is best. (2 better than 1)
4. Also, look for fake outs. Pull backs from extreme top or bottom to quickly rebound.
5. All indicators are inverse. Up = decrease in price, down = increase in price
6. This filter has great trend finding abilities. Sort by x-day column. (neg = upward trend, pos = downward trend.)
7. The change in close price was the only metric used in this filter.

tomm

Fetcher[
/* CHUTES and LADDERS */
/* Price change(%) probability calculations */

/*my_ind calcs*/
set{prc_chg,close - close 1 day ago}
set{np, prc_chg / close 1 day ago}
set{my_ind,np * 100}

/*5 day*/
set{my_sd_5,cstddev(my_ind,5)}
set{my_sum_5,sum(my_ind,5)}
set{my_mean_5,my_sum_5 / 5}

/* 5 day, z-table calc*/
set{target_L5,0}
set{p5,target_L5 - my_mean_5}
set{z_5,p5 / my_sd_5}

/*10 day*/
set{my_sd_10,cstddev(my_ind,10)}
set{my_sum_10,sum(my_ind,10)}
set{my_mean_10,my_sum_10 / 10}

/* 10 day, z-table calc*/
set{target_L10,0}
set{p10,target_L10 - my_mean_10}
set{z_10,p10 / my_sd_10}

/*20 day*/
set{my_sd_20,cstddev(my_ind,20)}
set{my_sum_20,sum(my_ind,20)}
set{my_mean_20,my_sum_20 / 20}

/* 20 day, z-table calc*/
set{target_L20,0}
set{p20,target_L20 - my_mean_20}
set{z_20,p20 / my_sd_20}

/*30 day*/
set{my_sd_30,cstddev(my_ind,30)}
set{my_sum_30,sum(my_ind,30)}
set{my_mean_30,my_sum_30 / 30}

/* 30 day, z-table calc*/
set{target_L30,0}
set{p30,target_L30 - my_mean_30}
set{z_30,p30 / my_sd_30}

/*45 day*/
set{my_sd_45,cstddev(my_ind,45)}
set{my_sum_45,sum(my_ind,45)}
set{my_mean_45,my_sum_45 / 45}

/* 45 day, z-table calc*/
set{target_L45,0}
set{p45,target_L45 - my_mean_45}
set{z_45,p45 / my_sd_45}

/*60 day*/
set{my_sd_60,cstddev(my_ind,60)}
set{my_sum_60,sum(my_ind,60)}
set{my_mean_60,my_sum_60 / 60}

/* 60 day, z-table calc*/
set{target_L60,0}
set{p60,target_L60 - my_mean_60}
set{z_60,p60 / my_sd_60}

/*100 day*/
set{my_sd_100,cstddev(my_ind,100)}
set{my_sum_100,sum(my_ind,100)}
set{my_mean_100,my_sum_100 / 100}

/* 100 day, z-table calc*/
set{target_L100,0}
set{p100,target_L100 - my_mean_100}
set{z_100,p100 / my_sd_100}

/* Calculate CLO */
set{hat,z_5 + z_10}
set{hat1,z_20 + z_45}
set{hat2,hat + hat1}

set{var1,hat2 * 1.5}
set{x,cema(var1,3)}
set{s,exp10(x)}

set{var3,s - 1}
set{var4,s + 1}
set{clo,var3 / var4}

draw clo
set{u_lim,0.9}
set{l_lim,-0.9}
draw u_lim on plot clo
draw l_lim on plot clo


show stocks where close is above 1
and volume is above 200000
and not otcbb

add column separator
add column clo
add column separator
add column z_5{5-day}
add column z_10{10-day}
add column z_20{20-day}
add column z_30{30-day}
add column z_45{45-day}
add column z_60{60-day}
add column z_100{100-day}
and add column separator
add column average day range(30)

sort column 8 descending

set{ma5,cema(z_5,5)}
draw z_5
draw ma5 on plot z_5

set{ma10,cema(z_10,8)}
draw z_10
draw ma10 on plot z_10

set{ma20,cema(z_20,20)}
draw z_20
draw ma20 on plot z_20
]



tomm1111
198 posts
msg #67769
Ignore tomm1111
9/26/2008 2:26:32 AM

Thanks chetron for crankin' away. :o)

I'm not sure if the filter in the last post will work up in the nose bleed section.


chetron
2,817 posts
msg #67772
Ignore chetron
9/26/2008 8:28:57 AM


CONGRATULATIONS, TOMM. YOU HAVE TRULY CROSSED THE THRESHOLD OF ACTUALLY WRITING AN ADVANCED SUBSCRIPTION FILTER. THIS MAKES 6 SUCH FILTERS THAT HAVE NOW BEEN PUBLISHED ON THIS SITE. THERE IS NO QUICK WORK AROUND FOR THIS NEW FILTER OF YOURS. YOU ARE OFFICIALLY AN "EXCEEDER".



StockFetcher Forums · Filter Exchange · CHUTES and LADDERS<< 1 2 >>Post Follow-up

*** Disclaimer *** StockFetcher.com does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. StockFetcher.com does not recommend particular securities. StockFetcher.com, Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.


Copyright 2016 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus