Big Mike's Trading Forum

Big Mike's Trading Forum (https://www.bigmiketrading.com/)
-   ThinkOrSwim Programming (https://www.bigmiketrading.com/thinkorswim-programming/)
-   -   VSA for ThinkorSwim (https://www.bigmiketrading.com/thinkorswim-programming/3477-vsa-volume-spread-analysis-thinkorswim.html)

snowcloud September 14th, 2010 01:34 PM

Quote:

Quoting swimtrader (Post 61498)
Snow,

Absolutely outstanding work. My sincerest respect for the hard work and attention to detail you and other developers have invested...

Again, 'Bravo' to you and all who have worked to develop the study, provide background references, and legends.

Steve

Thank you very much, Steve. Kudos from a trader such as yourself who obviously really knows the VSA ropes is very gratifying indeed. At this point I would be remiss if I didn't mention the others who worked on this study before me - Karthik who wrote the original code, PrTester who ported it to NinjaTrader, and cbritton who ported it to TOS. My contributions stand on their shoulders.

I am very interested in your comments going forward about what works and what doesn't and in your suggestions for future enhancements.

Thanks again!

StockJock September 14th, 2010 03:20 PM

Quote:

Quoting snowcloud (Post 61202)
If you mean that what is in Karthik's VPA indicator might not be in others and vice-versa, I agree.

Quote:

Quoting snowcloud (Post 61202)
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."

What I meant was that the VSA concept should be the same no matter who writes the code. For example, a short bar closing near the bottom with a high volume may be coded differently by different programmers, but it is a VSA concept like other bar spreads and volume sizes that all should be included in a VSA type of indicator remains the same. Different programmers have different styles, but the VSA concept remains the same. Wouldn't you think? Karthik may not be trying to clone the TradeGuider system, but shouldn't the same patterns be indicated in some fashion? Same goes with the Better Volume Indicator. It seems to me the codes that deal with the bars and volumes should be similar, but how the results are displayed (i.e. symbols, colors, etc.) can be different.

Actually, I think that if we could get feedback from TradeGuider users on the consistancy of signals between the VPA indicator, the Better Volume indicator and the TradeGuider platform we would have better information on the accuracy of these VSA indicators for TOS.

cbritton September 14th, 2010 03:43 PM

Quote:

Quoting StockJock (Post 61565)

What I meant was that the VSA concept should be the same no matter who writes the code. For example, a short bar closing near the bottom with a high volume may be coded differently by different programmers, but it is a VSA concept like other bar spreads and volume sizes that all should be included in a VSA type of indicator remains the same. Different programmers have different styles, but the VSA concept remains the same. Wouldn't you think? Karthik may not be trying to clone the TradeGuider system, but shouldn't the same patterns be indicated in some fashion? Same goes with the Better Volume Indicator. It seems to me the codes that deal with the bars and volumes should be similar, but how the results are displayed (i.e. symbols, colors, etc.) can be different.

The problem is trying to quantify certain conditions. Like you mentioned before, what determines short, medium and long term trends? If that's subject to someone trying to implement this indicator, then you will have a bunch of different answers. Someone may use EMA. Another person may think HMA would be better. etc.

@snowcloud and I had a discussion about upthrust bars earlier that was also open to some interpretation.

Quote:

Quoting StockJock (Post 61565)

Actually, I think that if we could get feedback from TradeGuider users on the consistancy of signals between the VPA indicator, the Better Volume indicator and the TradeGuider platform we would have better information on the accuracy of these VSA indicators for TOS.

I thought the same thing as well, but that deviates from the subject of this indicator. This is an interpretation Karthik's VPA indicator, not VSA. If you want a VSA indicator, then perhaps it's better to lay out all of the rules interpreted from William's book instead of trying to fit this indicator back into VSA.

Regards,
-C

StockJock September 14th, 2010 04:47 PM

Quote:

Quoting cbritton (Post 61570)
I thought the same thing as well, but that deviates from the subject of this indicator. This is an interpretation Karthik's VPA indicator, not VSA. If you want a VSA indicator, then perhaps it's better to lay out all of the rules interpreted from William's book instead of trying to fit this indicator back into VSA.

Quote:

Quoting Karthik Marar
I have used some basic stuff from Tom Williamsís book and have built on it.

I may have misunderstood the differences/similarities between VSA and VPA. I though we were discussing the Volume Spread Analysis as formulated by Tom Williams from Richard D. Wyckoff's Trading Method. Have the diffences between VPA and VSA been made clear for us in Karthik's notes or his postings in the Traders Laboratory Forum? I'm not sure that Wyckoff used any indicator code for chart analysis other that for Point and Figure charts or how Tom Williams or Karthik Marar decided on which moving average or linear regression formulas to use, but aren't the relationships between the price spreads and the volume sizes used in both codes? The only reason that I can think of using moving average or linear regression formulas in the code would be to compare the current bar and its spread and volume to previous bars and volumes to confirm the current chart activity. I haven't found any explanations as to why they chose the averaging formulas that they used.

I'm interested in your perspective on the VPA and VSA differences. Please expound.

StockJock September 14th, 2010 05:33 PM

In the discussion in the Traders Laboratory Forum, the members there came up with some basic formula for price and volume activity. Its interesting in the way they arrived at these formula in that they reference specific quotes from Tom William's book Master The Markets.

Joel Pozen's (Signal) No Demand & No Supply
Code:

No Demand: C>ref(C,-1) and V<ref(V,-1) and V<ref(V,-2)
No Dmenad2: C=ref(C,-1) and V<ref(V,-1) and V<ref(V,-2) and ref(C,-1)>ref(C,-2)
 
No Supply: C<ref(C,-1) and V<ref(V,-1) and V<ref(V,-2)
No Supply2: C=ref(C,-1) and V<ref(V,-1) and V<ref(V,-2) and ref(C,-1)<ref(C,-2)

Pivot Profiler's (signals) No Demand and No Supply
Code:

NoDemand:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and V<ref(V,-1) and V<ref(V,-2) and C>ref(C,+1) and H>=ref(H,+1),1,0);
NoSupply:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and V<ref(V,-1) and V<ref(V,-2) and C<ref(C,+1) and L<=ref(L,+1),1,0);
 
NoDemand2:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2),1,0);
NoSupply2:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand3:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and C=H and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand2=0,1,0);
NoSupply3:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and C=L and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply2=0,1,0);
 
NoDemand4:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and C=((H-L)*0.5)+L and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand2=0,1,0);
NoSupply4:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and C=((H-L)*0.5)+L and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply2=0,1,0);
 
NoDemand5:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and C=L and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand2=0,1,0);
NoSupply5:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and C=H and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply2=0,1,0);
 
NoDemand6:=If(C>ref(C,-1) and (H-L)<ref((H-L),-1) and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply6:=If(C<ref(C,-1) and (H-L)<ref((H-L),-1) and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand7:=If(C>ref(C,-1) and (H-L)=ref((H-L),-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply7:=If(C<ref(C,-1) and (H-L)=ref((H-L),-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand8:=If(C>ref(C,-1) and (H-L)=ref((H-L),-1) and C=H and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply8:=If(C<ref(C,-1) and (H-L)=ref((H-L),-1) and C=L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand9:=If(C>ref(C,-1) and (H-L)=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply9:=If(C<ref(C,-1) and (H-L)=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand10:=If(C>ref(C,-1) and (H-L)=ref((H-L),-1) and C=L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply10:=If(C<ref(C,-1) and (H-L)=ref((H-L),-1) and C=H and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand11:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply11:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand12:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=H and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply12:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand13:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply13:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand14:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V<ref(V,-2) and NoDemand=0,1,0);
NoSupply14:=If(C=ref(C,-1) and (H-L)<ref((H-L),-1) and C=H and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V<ref(V,-2) and NoSupply=0,1,0);
 
NoDemand15:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C>=ref(C,-1) and C=O and C=ref(C,+1) and C>ref(C,+2) and H>=ref(H,+1) and H>=ref(H,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
NoSupply15:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C<=ref(C,-1) and C=O and C=ref(C,+1) and C<ref(C,+2) and L<=ref(L,+1) and L<=ref(L,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand16:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C>=ref(C,-1) and C=H and C<>O and C=ref(C,+1) and C>ref(C,+2) and H>=ref(H,+1) and H>=ref(H,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
NoSupply16:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C<=ref(C,-1) and C=L and C<>O and C=ref(C,+1) and C<ref(C,+2) and L<=ref(L,+1) and L<=ref(L,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand17:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C>=ref(C,-1) and C=((H-L)*0.5)+L and C<>O and C=ref(C,+1) and C>ref(C,+2) and H>=ref(H,+1) and H>=ref(H,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
NoSupply17:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C<=ref(C,-1) and C=((H-L)*0.5)+L and C<>O and C=ref(C,+1) and C<ref(C,+2) and L<=ref(L,+1) and L<=ref(L,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand18:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C>=ref(C,-1) and C=L and C<>O and C=ref(C,+1) and C>ref(C,+2) and H>=ref(H,+1) and H>=ref(H,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
NoSupply18:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C<=ref(C,-1) and C=H and C<>O and C=ref(C,+1) and C<ref(C,+2) and L<=ref(L,+1) and L<=ref(L,+2) and V<ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand19:=If(H>ref(H,-1) and L>=ref(L,-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
NoSupply19:=If(L<ref(L,-1) and H<=ref(H,-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand20:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
NoSupply20:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand21:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
NoSupply21:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand22:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
NoSupply22:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V<ref(V,-2),1,0);
 
NoDemand23:=If(H>ref(H,-1) and L>=ref(L,-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
NoSupply23:=If(L<ref(L,-1) and H<=ref(H,-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand24:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
NoSupply24:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand25:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
NoSupply25:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand26:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
NoSupply26:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V<ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand27:=If(H>ref(H,-1) and L>=ref(L,-1) and C=O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
NoSupply27:=If(L<ref(L,-1) and H<=ref(H,-1) and C=O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand28:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
NoSupply28:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand29:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
NoSupply29:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=((H-L)*0.5)+L and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
 
NoDemand30:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)<=ref((H-L),-1) and C=L and C<>O and C>ref(C,+1) and H>=ref(H,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);
NoSupply30:=If(L<ref(L,-1) and H<=ref(H,-1) and (H-L)<=ref((H-L),-1) and C=H and C<>O and C<ref(C,+1) and L<=ref(L,+1) and V=ref(V,-1) and V=ref(V,-2),1,0);

Pivot Profiler's Effort Bars
Code:

EffortU1:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)=ref((H-L),-1) and O<=((H-L)*0.1)+L and C>=((H-L)*0.9)+L and C>ref(C,-1) and Mp()>ref(H,-1) and V>ref(V,-1) and V>VolAve and V<=2*VolAve and WRB=1,1,0);
 
EffortD1:=If(L>ref(L,-1) and H<=ref(H,-1) and (H-L)=ref((H-L),-1) and O>=((H-L)*0.9)+L and C<=((H-L)*0.1)+L and C<ref(C,-1) and Mp()<ref(L,-1) and V>ref(V,-1) and V>VolAve and V<=2*VolAve and WRB=1,1,0);
 
EffortU2:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and O<=((H-L)*0.2)+L and C>=((H-L)*0.8)+L and C>ref(C,-1) and Mp()>=ref(H,-1) and V>ref(V,-1) and V>2*VolAve and V<=4*VolAve and WRB=1 and C<ref(C,+1),1,0);
 
EffortD2:=If(L>ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and O>=((H-L)*0.8)+L and C<=((H-L)*0.2)+L and C<ref(C,-1) and Mp()<=ref(L,-1) and V>ref(V,-1) and V>2*VolAve and V<=4*VolAve and WRB=1 and C>ref(C,+1),1,0);
 
EffortU3:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)=ref((H-L),-1) and O<=((H-L)*0.1)+L and C>=((H-L)*0.9)+L and C>ref(C,-1) and Mp()>ref(H,-1) and V>ref(V,-1) and V>2*VolAve and V<=4*VolAve and WRB=1 and C<ref(C,+1),1,0);
 
EffortD3:=If(L>ref(L,-1) and H<=ref(H,-1) and (H-L)=ref((H-L),-1) and O>=((H-L)*0.9)+L and C<=((H-L)*0.1)+L and C<ref(C,-1) and Mp()<ref(L,-1) and V>ref(V,-1) and V>2*VolAve and V<=4*VolAve and WRB=1 and C>ref(C,+1),1,0);
 
EffortU4:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)>ref((H-L),-1) and O<=((H-L)*0.2)+L and C>=((H-L)*0.8)+L and C>ref(C,-1) and Mp()>=ref(H,-1) and V<VolAve and V>ref(V,-1) and V>ref(V,-2) and WRB=1,1,0);
 
EffortD4:=If(L>ref(L,-1) and H<=ref(H,-1) and (H-L)>ref((H-L),-1) and O>=((H-L)*0.8)+L and C<=((H-L)*0.2)+L and C<ref(C,-1) and Mp()<=ref(L,-1) and V<VolAve and V>ref(V,-1) and V>ref(V,-2) and WRB=1,1,0);
 
EffortU5:=If(H>ref(H,-1) and L>=ref(L,-1) and (H-L)=ref((H-L),-1) and O<=((H-L)*0.1)+L and C>=((H-L)*0.9)+L and C>ref(C,-1) and Mp()>ref(H,-1) and V>VolAve and V>ref(V,-1) and ref(V,-1)>ref(V,-2) and WRB=1,1,0);
 
EffortD5:=If(L>ref(L,-1) and H<=ref(H,-1) and (H-L)=ref((H-L),-1) and O>=((H-L)*0.9)+L and C<=((H-L)*0.1)+L and C<ref(C,-1) and Mp()<ref(L,-1) and V>VolAve and V>ref(V,-1) and ref(V,-1)>ref(V,-2) and WRB=1,1,0);

BTW cbritton, have you seen Sun Tzu's website and his book?

cbritton September 14th, 2010 06:44 PM

Quote:

Quoting StockJock (Post 61587)
I may have misunderstood the differences/similarities between VSA and VPA. I though we were discussing the Volume Spread Analysis as formulated by Tom Williams from Richard D. Wyckoff's Trading Method. Have the diffences between VPA and VSA been made clear for us in Karthik's notes or his postings in the Traders Laboratory Forum? I'm not sure that Wyckoff used any indicator code for chart analysis other that for Point and Figure charts or how Tom Williams or Karthik Marar decided on which moving average or linear regression formulas to use, but aren't the relationships between the price spreads and the volume sizes used in both codes? The only reason that I can think of using moving average or linear regression formulas in the code would be to compare the current bar and its spread and volume to previous bars and volumes to confirm the current chart activity. I haven't found any explanations as to why they chose the averaging formulas that they used.

I'm interested in your perspective on the VPA and VSA differences. Please expound.

Maybe I'm confused about what your concerns are.

What I mean is that the original intent of this thread was about the conversion process for the ninja trader VPA indicator to ToS. Along the way, there has been a lot of questionable items pointed out that perhaps this indicator does not meet William's interpretation and justifiably brought up points about its VSA implementation. Further, VPA is Karthik's interpretation as you mentioned. I'm all for completely understanding how an indicator works and making sure that the indicator does what it says it claims before using it.

Since you pointed out that the interpretation of VSA should not be difficult to implement, my suggestion is that it would seem better to restart a VSA indicator for ToS from scratch based on William's book and perhaps input from a TradeGuider user. Having a forum like this to discuss the implementation would go much further in driving input from users rather than having them go through the code line by line trying to understand it.

Regards,
-C

swimtrader September 14th, 2010 10:15 PM

Post Number One: "System" Comparisons
 
4 Attachment(s)
I frequently trade the Russell 2000 Futures. Its signals are nicer than ES, it has less event risk than ES, and it's efficient. So I'll show you how the 3 indicator systems we're discussing, in this thread, compared on today's opening trade for the Russell. I'm showing you my Position Sizing calculation based on Auction Market Entry/Exit targets. I took this trade ...but to show you all the indicator comparisons, this is necessarily retrospective.

The Challenge: TradeGuider vs VPA Study vs BetterVolume/Auction Market Profile (AMP)

The Market: Today's Russell 2000, Trade the Market Open on a 15-Minute Chart (TradeGuider does not support tick charts.)

Entry/Exit Methodologies for the Trade:

1) TradeGuider: Decision Support Advice and Company-promoted methodology (I turned on all of the Indicator systems.)
2) VPA Study: VPA Indicator Signals (applied to my modified BetterVolume ...trend bars off)
3) BetterVolume/AMP: BetterVolume bars @ AMP Key Reference Levels = High Probability "Responsive" Targets in a rotating market

Position Sizing (For #3) by Modified Kelly Formula (Fixed Fractional)

Results:

TradeGuider:
- Entry signals late and ambiguous
- Exit signals late

VPA Study:
- Entry nicely forecast by rapid decline in price - marked by "Effort to Move Down" - which immediately fails to produce result (bullish) and marking the same bar "Upthrust" with selling pressure.
- No Exit signal.

BetterVolume/AMP:

- Entry on price decline greater than 3SDs, immediately rejected by Low Volume Node ("Price bounces off of LVNs like a super-ball on concrete.")
- Exit signaled by Auction Bracket High Breakout on Low Volume, small speculators buying the peak of the rally.

Result:

Position Size: See attached for Kelly allocation. I made a half-Kelly bet, using a small allocation.

Placing Limit orders to Enter at the Auction Bracket Low and a limit order to Exit at the Auction Bracket High (Auction Market Responsive Strategy):

The position risked $1000 to make $2300.

Entering on the Auction Bracket Low and Holding at the Auction Bracket High when BetterVolume showed small speculators in a buying frenzy at the rally peak - an exit on the Low Volume bar would have risked $1000 and profit $3200.

There was no drawdown, entering a sold off market at an Auction Bracket Low.

See attachments.

Summary:

TradeGuider lost this one. VPA was helpful. BetterVolume produced the clearest signals - at AMP KRAs. Fixed Fractional Position Sizing could only be applied where Key Reference Areas are identified in advance. (If you use another system - Pivots, Fibonacci ...you could calculate a Stop and Profit target from those.)

swimtrader September 14th, 2010 10:36 PM

Post Number Two: General Impressions of VPA Study
 
1 Attachment(s)
Okay, drove it around the block. Just a test drive, mind you ...and initial impressions only. Good news - bad news. First, the bad:

- I had to turn off the trend bars! First of all, in the world of Auction Market Profile, trend - referred to as "vertical or horizontal development" - is defined by stair-stepping, uni-directional high volume nodes (HVNs). So coloring price bars immediately plays with my head - i.e. biases me. Bias is an enemy. Cognitive load is an enemy. Less is more. I had to quickly turn them off ...and then things went much smoother. I feel the same way about TradeGuider's "diamond system," "diamond stops," and "trend bars." Too much information and too mechanical for my taste.

- Regarding the signals, themselves: You've really got to come from Missouri when you monitor indicators - i.e. the "show me state." Like any signal - they appear and you have to say, "Okay? Does that make sense? Is that within the context of my overall market read?" If so ...look for just a little more confirmation ...and if you get it, confidently make your move - with a predetermined level at which a change in market condition proves you wrong and you cover. Auction Market Theory is all about location, location, location. Wyckoff method is all about judgment. And not to sound redundant, but I really think indicators are merely supportive and it is very risky to trade off of them alone. (Probably preaching to the choir on this.)

- Additionally, I had to turn off the alerts ...thought I'd like them ...but they kept distracting me. And that's a risk with any signal-based system. When signals appeared during normal intra-bar fluctuations, I had to consciously avoid trying to get some "early" read. Wait for the print.

- Finally, there's always the issue of bid/ask volume ...which TOS does not support. Personally, I think you can make sound decisions without it. Some will disagree, I'm sure. I may be wrong.

Now, the good news:

- Whether we call this VPA, VSA, or VRA (volume-range-analysis) ...the main issue is this: Does the indicator quickly tell me when I'm wrong ...and when I'm right, does it support my staying in the trade? In this regard, I think the study performs pretty well. I think it's very good at keeping one abreast of who's got the power ...is the market strong or weak ...where is supply and demand?

- As for its similarity to TradeGuider ...its similarity is a moot point. At the extremes, they're functionally pretty similar. And that's good. That's where you want to be either entering, exiting ...or keeping a very close eye. And that's where you need clear, reliable information the most. But honestly ...repeat, honestly ...you could arrive at the same conclusions with nothing more than price bars - and volume on the vertical and horizontal axes ...i.e. no indicators! Seriously. The information's there. Still, it's probably easier and more consistent to have the ongoing user interface reminders.

Anyway, those are my 1-day ...first impressions. Again, I think all of you that contributed really did a nice job.

I'll attach the study that we arrived at when we, thinkscripter.com forum participants, worked on this. The attachment is the one I use ...I can't support it and would be reluctant to modify it. I think it's a real winner.

Please note: Entry and Exit is probably less important than: 1) identifying a level that your premise is invalid (AKA a "stop"), and 2) position sizing by the Kelly formula. If you get too focused on indicator entries and exits ...you'll be missing the considerations which are most closely tied to your survival and geometric growth. After the trade - the key step is performance measurement.

Regards,
Steve

snowcloud September 15th, 2010 01:00 AM

Quote:

Quoting swimtrader (Post 61642)

The Challenge: TradeGuider vs VPA Study vs BetterVolume/Auction Market Profile (AMP)

The Market: Today's Russell 2000, Trade the Market Open on a 15-Minute Chart (TradeGuider does not support tick charts.)

Thank you very much for this post and the next and for the attachments. Tomorrow I'll have time to check them out in detail and will post more then. Thanks!

StockJock September 15th, 2010 09:55 AM

swimtrader,

Excellent observation and reporting. This shows us your level of sophistication and we appreciate your detailed comparison of the three indicators. I've read through it and I'll have to reread it a couple of more times to appreciate the evaluation. I get the sense that you like the Better Volume indicator the most. Is that because you helped develop it in the thinkScripter forum or because of your comparison of these three indicator? Is there something from this that might help improve snowcloud's VPA indicator? Thank you for your time in evaluating these indicators.

One more question. Would you say that the major difference in the code between the VPA indicator and the Better Volume indicator would be in how the time averaging of the volume is calculated?

Also, you've heightened my interest in the Volume Profile and Auction Market Theory (AMT). I will do some research on this.


All times are GMT -4. The time now is 10:28 PM.

Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
Copyright © 2014 by Big Mike Trading. All information is for educational use only and is not investment advice.


Page generated 2014-04-24 in 0.09 seconds with 15 queries on atlantis via your IP 54.204.64.152