Aug 12

The paintbar is like a second-cousin to the variants of ttmsqueeze that you can find all over the net. The two main things the paintbar tries to identify are:

  1. Signs that we are coming out of a contraction phase. Bollinger Bands must be narrow but widening. The Choppiness Index (an estimation of the fractal dimension of the price action) should indicate choppiness. Price should be near a smooth average.
  2. Signs of a controlled, directional move out of the consolidation area. Price is near a smooth MA, but is crossing the Keltner bands. RSI and On-Balance Volume should point in direction of the cross of the keltner bands.

I made a video about it in my typical rambling style:

The main points are:

  • Use the paintbar on fast charts (I use 3-minute charts). My view has always been that technical indicators work best for daytrading on very fast charts. That’s not to say that traders should trade off those fast candles, necessarily. But they should read indicators that are summarizing fast data. Also, despite how a lot of traders use them, most indicators do not work very robustly against gaps. So, I always enable pre-market data. That way, the indicators have had time to adjust to a morning gap by the time the markets open.
  • The only proper use of the paintbar is to support trading ideas you already have. They are not designed to generate trading ideas out of thin air. All they do is verify that some basic conducive conditions are present in the stock… In fact, if you look at my videos, you’ll see that I always have a number of additional reasons I want to take a trade, and often trade a few candles after the paintbars, when the stock is more clearly doing what I want it to do.
  • I am providing these videos and paintbar rules as a description of what I am doing… They are purely for your entertainment, and I am not claiming that they will make you any money.

In the video I describe this example trade. See how there’s a PnF chart practically screaming to get short the stock as it continues a downtrend?

Example pnf trade on continuation of downtrend.

… and then the 3-minute chart starts posting confirming paintbars?

utek-candle-2h9m_3m-2007-08-12-213823.PNG

This screenshot shows how nicely it would have worked out:

how nicely it worked out

Perfect! If you watch my videos, you know that I don’t leave all those indicators visible on my chart. They are just on this picture to help explain how the paintbar works.

The Rules

Here are the rules. When you add the needed indicators use the (H+L)/2 variant whenever it is available. This helps keep the indicators from getting confused by price spikes, and also keeps the indicator value from changing quite as often in real-time.

Rule 1:

if (Choppiness Index(14)>=50) AND (Bollinger Bandwidth(20,3) <= 0.018) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar Close <= Keltner Bands(20).Lower) AND (Bar High < Keltner Bands(20).Upper) AND (RSI(14,1) <= 50) AND ((T-3(14,0.5) <= T-3(14,0.5)[2]) OR (HMA(14)[2] > HMA(14) AND HMA(14) <= T-3(14,0.5))) AND (Bar Close < HMA(14)) and (On Balance Volume(5).Main <= On Balance Volume(5).Signal) AND (On Balance Volume(5).Signal[1] >= On Balance Volume(5).Signal) AND (((T-3(14,0.5) - Bar Low) / Bar Close) < 0.005) set color to Red and stop

Rule 2:

if (Choppiness Index(14)>=40) AND (Bollinger Bandwidth(20,3) <= 0.018) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar Low <= Keltner Bands(20).Lower) AND (Bar High < Keltner Bands(20).Upper) AND (RSI(14,1) <= 50) AND ((T-3(14,0.5) <= T-3(14,0.5)[2]) OR (HMA(14)[2] > HMA(14) AND HMA(14) <= (T-3(14,0.5) + Bar Close * 0.004))) AND (Bar Close < HMA(14)) and (On Balance Volume(5).Main <= On Balance Volume(5).Signal) AND (On Balance Volume(5).Signal[1] >= On Balance Volume(5).Signal) AND (((T-3(14,0.5) - Bar Low) / Bar Close) < 0.01) set color to Maroon and stop

Rule 3:

if (Choppiness Index(14)>=40) AND (Bollinger Bandwidth(20,3) <= 0.023) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar Low <= Keltner Bands(20).Lower) AND (Bar High < Keltner Bands(20).Upper) AND (RSI(14,1) <= 50) AND ((T-3(14,0.5) <= T-3(14,0.5)[2]) OR (HMA(14)[2] > HMA(14) AND HMA(14) <= (T-3(14,0.5) + Bar Close * 0.004))) AND (Bar Close < HMA(14)) AND (((T-3(14,0.5) - Bar Low) / Bar Close) < 0.01) set color to $0080FF and stop

Rule 4:

if (Choppiness Index(14)>=50) AND (Bollinger Bandwidth(20,3) <= 0.018) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar Close >= Keltner Bands(20).Upper) AND (Bar Low > Keltner Bands(20).Lower) AND (RSI(14,1) >= 50) AND ((T-3(14,0.5) >= T-3(14,0.5)[2]) OR (HMA(14)[2] <= T-3(14,0.5)[2] AND HMA(14) >= T-3(14,0.5))) AND (Bar Close > HMA(14)) and (On Balance Volume(5).Main >= On Balance Volume(5).Signal) AND (On Balance Volume(5).Signal[1] <= On Balance Volume(5).Signal) AND (((Bar High - T-3(14,0.5)) / Bar Close) < 0.005) set color to Lime and stop

Rule 5:

if (Choppiness Index(14)>=40) AND (Bollinger Bandwidth(20,3) <= 0.018) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar High >= Keltner Bands(20).Upper) AND (Bar Low > Keltner Bands(20).Lower) AND (RSI(14,1) >= 50) AND ((T-3(14,0.5) >= T-3(14,0.5)[2]) OR (HMA(14)[2] < HMA(14) AND HMA(14) >= (T-3(14,0.5) - Bar Close * 0.004))) AND (Bar Close > HMA(14)) and (On Balance Volume(5).Main >= On Balance Volume(5).Signal) AND (On Balance Volume(5).Signal[1] <= On Balance Volume(5).Signal) AND (((Bar High - T-3(14,0.5)) / Bar Close) < 0.01) set color to Green and stop

Rule 6:

if (Choppiness Index(14)>=40) AND (Bollinger Bandwidth(20,3) <= 0.023) AND (Bollinger Bandwidth(20,3)[1] < Bollinger Bandwidth(20,3)) AND (Bar High >= Keltner Bands(20).Upper) AND (Bar Low > Keltner Bands(20).Lower) AND (RSI(14,1) >= 50) AND ((T-3(14,0.5) >= T-3(14,0.5)[2]) OR (HMA(14)[2] < HMA(14) AND HMA(14) >= (T-3(14,0.5) - Bar Close * 0.004))) AND (Bar Close > HMA(14)) AND (((Bar High - T-3(14,0.5)) / Bar Close) < 0.01) set color to $FFFF80 and stop

Watch this post's video on Youtube

Aug 2

Here’s a trade I was watching set up, but had to leave before the third candle finished. I would have taken this trade for sure, and probably jumped out way too early! But, it shows how the paintbars are starting to come together a bit.

Not all examples are this nice, of course!

One of these days I’m gonna video a live trade… it’s just that I’m paranoid about it affecting my performance, either via technical problems, or just being on camera affecting my judgment (obviously I would want my live trade to be a winner, you know?).

Watch this post's video on Youtube

Jul 24

I wanted to show you how I’ve been selecting trades the last few weeks. It’s a multi-step process. The paintbars alert me to possible entries on my lowest level charts. Then, if I like what I see, I go from the top down and make sure all my higher-level charts agree. Then, I go to the L1 bid/ask and watch the tape to get into the trade.

Here’s a screenshot of my entire charts screen, with notes on all the various types of charts I use…. it helps put the video below into context (it’s showing the same trade that the video describes).

all my charts

There’s a 6-month daily PnF chart, which is mainly for the trend. There’s two intraday PnF charts… a high-level one and a low-level one. The high-level one always shows two days of action. The low level one just shows whatever is comfortable to view (about 30 bars looks good to me at that size). The lowest-level chart is the 3-minute candlestick chart. It has a ton of indicators loaded, but most are hidden because they are only there to support paintbars. I like to make the paintbars do all the work, if I can, and stare at this chart as little as possible. I only show 2 hours of action on that 3-minute chart, because I don’t want to fall into the habit of trading entirely off the time candles. I want to force myself to use the higher-level PnF charts for higher-level information.

As you can see… I can only look at one stock at a time with this setup, so I try to keep my watchlist pretty small. I cycle through them and try to remember which ones look ripe to set up soon. I visit those more often, and do a full cycle through the charts maybe only once an hour or so. There is a little room over on the right side of the screen to put charts of stocks I want to track closely, but I rarely do that.

Here’s a video where I talk about how I use the lowest level, time-based chart to spot a trade. Refer to the screenshot above for how all the charts fit together. It takes a long time to explain in my ridiculous rambling style, but doing the actual checking takes only a split second. That’s a good thing, because you have to be FAST in these markets!

Watch this post's video on Youtube

May 10

This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


I created Quotetracker paintbars for the HMA/PPO/SMI set up I blogged about yesterday. The setup waits for alignment of the HMA, PPO and SMI in the same direction. The paintbars are added to allow better visual identification. You have to wait for this setup to develop, so you will not get whipped sawed on HMA changes.

The paintbar code is provided below.

The example attached catches a $2.00 move on TSO this morning. The way I normally trade this is on a change, in the direction of the market bias. If the market would not have been weak, the first daily change short would have been ignored, waiting the the next change up. You can see this also caught a move in the same stock yesterday afternoon. TSO is one of the stocks from the scan I posted yesterday, run this morning.

The stocks this morning where AL, AMZN, BNI, FSLR, FWLT, MRO, NYX, PBR, SPWR, TSO, UBB, UTHR, VLO. I assume people can run the scan, or modify as they wish, so I will not be posting it anymore.

HMA, PPO, SMI Paintbars

Read the rest of this entry »


This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


Mar 27

This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


I traded D.R. Horton, Inc. (NYSE: DHI) as an OR breakout short. I saw all of the homebuilders getting whacked after news of Lennar’s 73% profit decline. I used my trade box limits as I discussed yesterday. This one set up early, so I only had a bit over an hour for the trade to move. I didn’t have to wait that long, though: Read the rest of this entry »

Stocks Mentioned In This Article
StockLinks
DHI | |

This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


Feb 5

This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


As we covered in a previous post, QuoteTracker is a powerful charting tool. Paintbars allow you to put custom graphics on your charts and even fire alerts when certain conditions are met. It’s not designed to be a dedicated scanning tool like Trade Ideas, but it can be used to go through a watchlist of stocks that you have already created and look for setups that you define.

The particular setup I’m going to be focusing on here is the ubiquitous “Dummy” setup, and I’ll be using Richard’s Dummy paintbar rules. There’s a bit of work that goes into getting this going, but it should save time over repeatedly cycling through charts every 15-30 minutes visually scanning for a dummy setup.

Step 1. Create paintbars for your setup (Richard’s code is found here and a tutorial of setting up a paintbar is found here). I created one for longs and one for shorts, as Richard described. In the setup, choose what kind of alerts you want by clicking on the “Alert (on or off) Properties” button:

sse.jpg

I chose only to highlight the row with yellow:

ssd.jpg

Step 2. Create the type of chart that your setup will use. For this example, I’ll use a 15-minute intraday candle chart. You want a chart that is as simple as possible, with only the data your paintbar needs:
cal-candle-last-3-days_15m-2007-02-05-090502.GIF

I set up the paintbars like so:

ssa.jpgssb.jpgssc.jpg

This chart is going to be running only in the background, so size it as small as you like. Once your chart is set up with the paintbars and indicators, right click it and “Save Chart Template”. I saved mine as “Dummy Alert”.

Step 3. Now, you select the portfolio that you are going to use as your watchlist. I run a scan on Prophet.net that gives me stocks that gap up and down, and I watch them for dummy entries. Just manually stick your symbols in the portfolio list, until you’re at this point:

ssf.jpg

You then choose a handy function from the menu: Charts–>Show All Charts. It will say “Are you sure you want to do this?” and you say yes. Boom! A chart will be opened for each symbol in the portfolio. Right click one of them, and select “Load Chart Template”, and pick your saved template (mine’s called “Dummy Alert”, and is postage stamp sized). Then right click the chart and select “Sync Open Charts”. All of your open charts will resize and change type and indicators to match the one you chose. Now any time your paintbar alert is triggered, the row will light up in your portfolio since your little chart-minions are watching them for you. Just open more charts as you normally would and use the thumbtack thingy to link them to your portfolio, and place them on top of your little dummy charts. If you get an alert, click it and the linked chart will show you your chart with indicators and setups as normal, and your watcher charts will stay behind the scenes. You could also do this for more than one portfolio at a time, limited only by your datafeed. There’s even a “Close All Charts” function on the Charts menu if you make a mistake and want to start over without clicking X’s for 5 minutes.

There’s a lot of subtle things that will hit you at this point, depending on if you pop-up alerts, set a duplicate alert threshold, and if you get quotes for all portfolios or just the current one. Please post any findings or gotchas in the comments! One of them is that according to Richard’s formula based on the current bar, you will get an alert every time your chart moves on to a new candle if it makes an inside bar with the right prerequisites. As the next few ticks come in, it can invalidate your dummy setup, giving you frequent false alerts. I’d prefer to see a paintbar that only references bars that are [1] or more units back. This would give you only one alert per formed bar, and would keep you from trading from incomplete candles. The paintbar would still show up on the current bar, ahead of the bar you are tracking, so looking at past charts you’d have to remember that. Here’s an example paintbar code:

Long–
if (SMA(5)[1] > SMA(5)[2]) AND (SMA(5)[2] > SMA(5)[3]) AND (SMA(5)[1] >= (Bar Low[1] - (Bar Low[1] * 0.0015))) AND (SMA(5)[1] < Bar Close[1]) AND (Bar High[1]-Bar Low[1]) <= (Bar High[2]-Bar Low[2]) AND (Bar High[1]-Bar Low[1]) <= (Bar High[3]-Bar Low[3]) AND (Bar High[1]<=Bar High[2]) AND (Bar Low[1]>=Bar Low[2]) AND ((Bar High[1] - Bar Low[1]) <= (Bar High[1] * 0.01)) set color to Blue and stop

Short–
if (SMA(5)[1] < SMA(5)[2]) AND (SMA(5)[2] < SMA(5)[3]) AND (SMA(5)[1] <= (Bar High[1] + (Bar High[1] * 0.0015))) AND (SMA(5)[1] > Bar Close[1]) AND (Bar High[1]-Bar Low[1]) <= (Bar High[2]-Bar Low[2]) AND (Bar High[1]-Bar Low[1]) <= (Bar High[3]-Bar Low[3]) AND (Bar High[1]<=Bar High[2]) AND (Bar Low[1]>=Bar Low[2]) AND ((Bar High[1] - Bar Low[1]) <= (Bar High[1] * 0.01)) set color to Blue and stop

For some reason, the duplicate alert threshold isn’t working as I thought it would. I set mine to 15 minutes, which is the same as the period of my chart, so I shouldn’t see it more than once every 15 minutes, but I still get an alert on every tick. Not a big deal for me, as it just highlights my row, but if I was using sounds or pop-ups I’d be crazy by now. Well, crazier. There’s another subtle thing :-P If any of this isn’t clear, let me know and I’ll write up more about it, or if you can fix the alert threshold, post in comments!


This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


Feb 4

I’ve been putting just about everything that needs measurement or arithmetic into paintbars on QuoteTracker. I’m pretty excited about making use of them next week. Most of them won’t mean anything to you, but I did make one that tries to help me spot the “dummy”-style trade entry. I thought that might be worth sharing. I’m not the Dummy authority–it’s relatively rare when I make those plays–but I codified the kind of thing I look for, anyway. I reviewed my old trades, and the dummy-a-day category at uglychart to decide what I wanted to highlight.

As with any indicator I make, I want to catch as many winning signals as possible, without painting the whole chart with noise. It’s a balance you have to strike, between catching everything that could possibly be a signal, and missing a lot of good signals. People probably have different tastes in this regard. To me, painting every narrow bar is too many paintbars to deal with. But, if I make sure it’s near a moving average, and facing the right way, etc… well, then I have few enough alerts that I can browse them effectively.

So, here’s what I came up with:

For longs:

  1. Inside NR3
  2. Bar is at most 1% wide
  3. Closes above 5MA
  4. 5MA is at most 0.15% below the low of the bar
  5. 5MA is rising for the last 3 bars

…and just invert the directional stuff for shorts:

  1. Inside NR3
  2. Bar is at most 1% wide
  3. Closes below 5MA
  4. 5MA is at most 0.15% above the high of the bar
  5. 5MA is falling for the last 3 bars

Forcing it to be an inside bar drops a lot of meaningless signals, but also gets rid of a fair amount of example winners. So, that was hard to decide. I could possibly make the rule such that it has to be “mostly” inside, like it can peek out in the direction of the expected trade by 0.1% or something. But, for now, I’m sticking with a strict inside bar policy.

I made two separate paintbars for the ‘long’ and ’short’ cases, so that I could paint longs above the candle, and shorts below it. Here’s an example (if you aren’t familiar with how dummy trades work, you would enter the bar after the arrow, if the price goes outside the arrow-bar in the right direction):

dummy example

Here’s the code for longs:

if (SMA(5) > SMA(5)[1]) AND (SMA(5)[1] > SMA(5)[2]) AND (SMA(5) >= (Bar Low - (Bar Low * 0.0015))) AND (SMA(5) < Bar Close) AND (Bar High-Bar Low) <= (Bar High[2]-Bar Low[2]) AND (Bar High-Bar Low) <= (Bar High[3]-Bar Low[3]) AND (Bar High<=Bar High[1]) AND (Bar Low>=Bar Low[1]) AND ((Bar High - Bar Low) <= (Bar High * 0.01)) set color to Blue

… and shorts:

if (SMA(5) < SMA(5)[1]) AND (SMA(5)[1] < SMA(5)[2]) AND (SMA(5) <= (Bar High + (Bar High * 0.0015))) AND (SMA(5) > Bar Close) AND (Bar High-Bar Low) <= (Bar High[2]-Bar Low[2]) AND (Bar High-Bar Low) <= (Bar High[3]-Bar Low[3]) AND (Bar High<=Bar High[1]) AND (Bar Low>=Bar Low[1]) AND ((Bar High - Bar Low) <= (Bar High * 0.01)) set color to Blue

Jan 31

This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


QuoteTracker is an outstanding charting program that I use. It’s got a freeware version with a few limitations and ads, and the full version is free to holders of a funded ($2k) TD Ameritrade account (which I also have). Without that, it’s only $7/month or $60/year. QT is a charting package only, not a data provider or brokerage. You can link to lots of different data sources and even integrate trading within QT with some brokerages (like MB Trading, Interactive Brokers and TD Ameritrade). I get my data from my TD Ameritrade account, and I trade manually through Zecco. Lots of different options there–full details are at the QT site.

One of the great features of QT is the Paintbars–graphical signals that show up on your charts based on quantitative calculations that you define. Here’s an example of one of my charts:

cytr-candle-last-3-days_30m-2007-01-31-093357.GIF

This chart has two paintbars added, which I chose to show up as a diamond above the candle–gray if it’s a narrower range bar than the previous one, and yellow if it’s an inside bar (which is also a narrower range bar by definition). In the chart above, the second bar is narrower than the first, hence the gray diamond. The third is inside the second, so it gets yellow.

To set this up in QT, you choose Charts>Chart Paintbar Editor from the menu. You get a screen that looks like this:

ss1.jpg

You can see one of the paintbars that I created in that picture. You create a new paintbar, name it, and then add rules. Rules are the calculations and comparisons made to decide to implement your paintbar on the chart or not. You can have more than one rule per paintbar. If you click the “switch to simple expression” toggle button, you can go to a pulldown list of built-in indicators. By choosing some of these and then clicking the button again, you’ll see the complex expression code–this is a good source of examples to build your own complex expressions. In my example, the words ‘Bar High’ refer to the high of the current bar, and ‘Bar High[1]‘ refers to the high of the previous bar. The number in brackets is an offset of previous bars. The “action” and “else” pulldowns determine what you will do if the conditions you specify are or are not met. You can also change the color involved in the paintbar.

Here’s the code for some of my paintbars:

NRBar:
if ABS(Bar High-Bar Low) <= ABS(Bar High[1]-Bar Low[1]) set color to Gray

InsideBar:
if ABS(Bar High-Bar Low) <= ABS(Bar High[1]-Bar Low[1]) AND Bar High[1]>=Bar High AND Bar Low[1] <= Bar Low set color to Yellow

NR7:
if ABS(Bar High-Bar Low) <= ABS(Bar High[1]-Bar Low[1]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[2]-Bar Low[2]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[3]-Bar Low[3]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[4]-Bar Low[4]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[5]-Bar Low[5]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[6]-Bar Low[6]) AND ABS(Bar High-Bar Low) <= ABS(Bar High[7]-Bar Low[7]) set color to $8000FF

Once you have saved your paintbar, you need to apply them to a chart. Right click on a chart and choose “select indicators”, and you see this screen:

ss2.jpg

There is an indicator called Paintbar-Top and one called Paintbar-Bottom. ‘Top’ shows up on the price, while ‘Bottom’ shows up linked to a lower panel, like volume or another indicator. Once you enable it with the right arrow, you have to click the “edit” button for the paintbar indicator you want to set up. Once you do, you see this:

ss3.jpg

Choose the paintbar you saved that you want to use from the “name” list, and then choose your “show on” effect. Hit ok and you’re ready to see them in action! Make sure you save the chart template if you want to be able to keep the setup.

Feel free to post your own paintbar codes in the comments, or to ask questions about any of the above.


This post was contributed by a guest author, and does not necessarily reflect the views of Richard or MovetheMarkets.com


Jan 26

I just realized via a post on uglychart that I can use QuoteTracker as my charting software for free, since I happen to have an old Ameritrade account lying around. That may be great news for me, since I spend too much energy fighting with Scottrade’s platform (and their occasionally wrong charts!). I wonder if I can set it up to get quotes from Ameritrade, and place orders through scottrade? If not, I can just enter orders through scottrade’s platform. No big deal. I’m going to play with it this weekend! Thanks, Ugly!

Great… one more thing I want to get done this weekend… it’s amazing how fast things pile up! I’ve got so many articles I want to write, now that I’ve been staring at options stuff for a week! I hope you’ll all enjoy it. Between that and some StockTickr work I’ve been promising Dave for a while, and some IB TWS API investigation I’m doing, not to mention all the binge drinking I have planned, something’s going to have to give :-)

Secondly, I wanted to point out the Trade 4 Cash blog, to anyone who hasn’t seen it yet. I think this trader’s style is interesting, and quite a bit different that what most of us day/swing-traders do. That’s why I tried to convince him more than once that what he really wanted to do was contribute here. I think he would have been a great addition and contrast for Move the Markets, but it just wasn’t meant to be. So, until I can get him to change his mind, check out his site. Even if you don’t end up following his trades, you will probably still find some of the weekly articles interesting (such as this one about how some of his systems do better without stops).

If I get anything written this weekend, then I’ll see you then. Otherwise, have a great weekend and let’s finish off January deep in the green next week! I’m going on 10R so far in January, which in risk:reward terms is my biggest month ever, I think.