Yesterday I had a chance to read Karthik's explanation and found it very informative and useful. Here are a couple of observations:
1. I think I found the source of the No Supply bug mentioned in post #41 which I have since fixed. Karthik wrote:
"The No Supply bar is a narrow range low volume down bar closing in the lower half."
I think he meant to write "...closing in the upper half."
2. Earlier in this thread I brought up some concerns I had and continue to have about UpThrusts and PseudoUpThrusts which I won't detail here. Yesterday I found this on page 11 of the explanatory notes: "An Upthrust Bar is a wide range bar, with a high volume and closing down." In contrast, here is the code from the VPA study:
rec isUpThrustBar = isWideSpreadBar && isDownCloseBar && ShortTermTrendSlope > 0;
This code for a Red Square UpThrust contains no reference to volume at all so it's missing one component from the explanation while adding a trend criterion. (UpThrust confirmation condition 3 does reference volume for the current bar which must be two times average but it's symbolized by a Red DownArrow not a Red Square). In addition, the current code does allow for some very un-UpThrust-appearing bars to be characterized as UpThrusts. For example, a bar with Open = High that closes down on a wide spread in a short-term uptrend satisfies the criteria but obviously doesn't up-thrust within itself at all and doesn't necessarily up-thrust very much in comparison with the previous bar. As I mentioned in previous posts, UpThrusts and PseudoUpThrusts seem to work pretty well as is so I've been hesitant to change anything in their code but instead I decided to watch them in action for a while, which I continue to do. However, I do have an idea for an enhancement that might be useful.
I noticed that a Yellow Triangle Weakness symbol will never occur on the same candle as a Red Square UpThrust because the Yellow Triangle is specifically NOT a wide spread bar which a Red Square UpThrust (see code above) definitely is:
def weaknessBar = (isUpBar && high == Highest(high, 5) && isDownBar && (isDownCloseBar OR isMidCloseBar) && volume > sAvgVolume && !isWideSpreadBar && !isPseudoUpThrustBar);
My idea is to create a modified Weakness signal that would contain all of the Weakness criteria except for the !isWideSpreadBar and would appear above a Red Square UpThrust when triggered. I would add isUpThrustBar OR isConfirmedUpThrustBar to the criteria so that it would only appear when a Red Square UpThrust or confirmed UpThrust is present. The result would be a combined signal that satisfies these criteria:
wide-spread, down-close, above-average volume bar with the highest high of the previous 5 bars in a short-term uptrend with the previous bar up.
That seems like a pretty strong indicator of a potential reversal to me even though it still might not look much like a traditional UpThrust bar with a long upper wick.
I plan to go over Karthik's notes multiple times and to similarly scour the Tradeguider notes for other ideas. I welcome any and all ideas from other traders as well.
Last edited by snowcloud; September 11th, 2010 at 08:31 PM.
The following user says Thank You to snowcloud for this post:
In scrutinizing the VPA Indicator's code, consider that what is not in one code might be in the other.
Both the Better Volume Indicator developed by Barry Taylor at EminiWatch and the VPA Indicator developed by Karthik Marar were based on Tom William's concept of Volume Spread Analysis. And, of course, Tom Williams was applying the Wyckoff Method of Trading when he developed the TradeGuider trading platform. Since the programming script for the ThinkOrSwim platform is different from these other platforms, you may have to re-adjust the colors and the symbols to accommodate the language differences. This is to be expected as long as its documented for the users to know the differences and how to use the TOS version of the indicator.
If you mean that what is in Karthik's VPA indicator might not be in others and vice-versa, I agree.
Interestingly, Karthik writes on p.1 of his notes: "Please do not start comparing my description with the ones that may be available from the net. I have used some basic stuff from Tom Williams’s book and have built on it. Here we are not trying to clone the Trader Guider system."
Actually, the changes I made to the color scheme had nothing to do with programming platform differences. The original scheme made no sense to me so I changed it on a scaled system using ROYGBIV as a model. Btw, PrTester (the person who ported the original Ambibroker code to Ninja) admits that his color scheme was, in his word, "horrible." He said he'd revise it - I don't know if he ever did. VSA Indicator - Beta - NinjaTrader Support Forum
I'm sure that there are programming language differences between Ambiroker, Ninja, and ToS. However, most languages allow most tasks to be accomplished one way or another. In comparison to another language, a given programming language might be better at certain tasks and worse at others. But in most cases, most tasks can be accomplished. My impression from cbritton is that the translation form Ninja to ToS was fairly straight-forward with the exception of reconciling differences in the use of Wilders Average. Of course, the lack of certain graphic symbols in ToS required a work-around but not one that impacts the ability of the ToS platform to generate valid and meaningful VSA signals.
So far there are two functions that I'm trying to work around for my current TOS project: barNumber() and fold(). For any chart I'm trying to find the total number of bars for the current aggregated period then index each bar on the chart. So far, no one seems to know how to do this. Also the fold statement is not like looping statements in other languages and its difficult to use and few people know how to use it. For one thing, I don't see a way to create a nested loop with the fold statement. Anyway, this has nothing to do with your project, but I just thought I'd mention it.
Absolutely outstanding work. My sincerest respect for the hard work and attention to detail you and other developers have invested.
I'm a full-time trader, focused solely on identifying important price levels - using the Volume Profile and Auction Market Theory (AMT) - and then watching the market's reaction at those levels using Volume-Spread-Analysis (VSA). The goal: to understand what's moving the market once price arrives at a key reference area (KRA). I spent the first half of this summer collaborating with Thinkscript programmers, modifying Barry Taylor's work for TOS ...and pitching the VSA-AMT combination on Eric's ThinkScripter Forum. We closed that tread about a month ago ...but it remains the most viewed thread on the Forum. In the end, I don't know how one would safely trade, using VSA alone. Both approaches (VSA/AMT) stress the importance of truly understanding market forces and volume - and that understanding is a trader's best edge.
I was an early adopter of the TradeGuider software, have read Richard Wyckoff and Tom William's work, and have the current version (4) of TradeGuider running beside your VPAv1_06bSTUDY this morning. Working my way through familiarlizing myself with your indicators colors and shapes. So far this AM, watching the right edge of the chart (Euro FX), comparing the decision-support of TradeGuider to your study - the signals are nicer on yours! Pretty cool. (They don't need to match; at best, the studies are nothing more than decision support.)
Bottom line: I've got a pretty good understanding of VSA (I'm making my living using it - in conjunction with Auction Market principles). So, I'll give your work a real careful look ...see if there's anything I might add or subtract ...see if I can contribute in some small way. But honestly, on first blush, it just looks like you guys have created the "killer app!" If you have a more recent version - I, for one, would appreciate evaluating it.
Until a few days ago, TradeGuider sold for $5000 and requires an eSignal feed ...for Futures and FX - a $412/month subscription. (Those are my present costs.) Compare that to TOS ...along with a number of other TOS advantages - and you quickly see how valuable your work is.
Again, 'Bravo' to you and all who have worked to develop the study, provide background references, and legends.
The following user says Thank You to swimtrader for this post: