NexusFi: Find Your Edge


Home Menu

 





VSA for ThinkorSwim


Discussion in ThinkOrSwim

Updated
      Top Posters
    1. looks_one snowcloud with 93 posts (25 thanks)
    2. looks_two StockJock with 91 posts (27 thanks)
    3. looks_3 cbritton with 37 posts (71 thanks)
    4. looks_4 swimtrader with 22 posts (19 thanks)
      Best Posters
    1. looks_one Hornblower with 2.3 thanks per post
    2. looks_two cbritton with 1.9 thanks per post
    3. looks_3 StockJock with 0.3 thanks per post
    4. looks_4 snowcloud with 0.3 thanks per post
    1. trending_up 309,722 views
    2. thumb_up 223 thanks given
    3. group 86 followers
    1. forum 434 posts
    2. attach_file 131 attachments




 
Search this Thread

VSA for ThinkorSwim

  #111 (permalink)
snowcloud
LA, CA
 
Posts: 93 since Jul 2010
Thanks Given: 2
Thanks Received: 25


swimtrader View Post
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!

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Exit Strategy
NinjaTrader
Trade idea based off three indicators.
Traders Hideout
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
NexusFi Journal Challenge - May 2024
Feedback and Announcements
ZombieSqueeze
Platforms and Indicators
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Spoo-nalysis ES e-mini futures S&P 500
48 thanks
Just another trading journal: PA, Wyckoff & Trends
34 thanks
Tao te Trade: way of the WLD
24 thanks
Bigger Wins or Fewer Losses?
24 thanks
GFIs1 1 DAX trade per day journal
22 thanks
  #112 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154


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


snowcloud View Post
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.

Reply With Quote
  #113 (permalink)
 
cbritton's Avatar
 cbritton 
Atlanta, Georgia
 
Experience: Intermediate
Platform: NT
Broker: DDT
Trading: ZN, ZB
Posts: 230 since Mar 2010
Thanks Given: 152
Thanks Received: 256



StockJock View Post

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.


StockJock View Post

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

“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” - Sun Tzu
Started this thread Reply With Quote
  #114 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154


cbritton View Post
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.


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.

Reply With Quote
  #115 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154

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?

Reply With Quote
  #116 (permalink)
 
cbritton's Avatar
 cbritton 
Atlanta, Georgia
 
Experience: Intermediate
Platform: NT
Broker: DDT
Trading: ZN, ZB
Posts: 230 since Mar 2010
Thanks Given: 152
Thanks Received: 256


StockJock View Post
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

“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” - Sun Tzu
Started this thread Reply With Quote
  #117 (permalink)
 swimtrader 
Sarasota, FL USA
 
Experience: Advanced
Platform: TOS, NinjaTrader
Broker: Mirus/Zenfire & TOS
Trading: ES
Posts: 22 since Sep 2010
Thanks Given: 0
Thanks Received: 19

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.)

Attached Thumbnails
Click image for larger version

Name:	BV_VolProfile_VPA.png
Views:	532
Size:	30.9 KB
ID:	20217   Click image for larger version

Name:	Kelly Calc.png
Views:	504
Size:	60.3 KB
ID:	20218   Click image for larger version

Name:	TG Entry Support.png
Views:	512
Size:	46.6 KB
ID:	20219   Click image for larger version

Name:	TG Selling Pressure.png
Views:	500
Size:	41.0 KB
ID:	20220  
Follow me on Twitter Reply With Quote
  #118 (permalink)
 swimtrader 
Sarasota, FL USA
 
Experience: Advanced
Platform: TOS, NinjaTrader
Broker: Mirus/Zenfire & TOS
Trading: ES
Posts: 22 since Sep 2010
Thanks Given: 0
Thanks Received: 19

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

Attached Files
Elite Membership required to download: BetterVolume_STUDY.ts
Follow me on Twitter Reply With Quote
  #119 (permalink)
snowcloud
LA, CA
 
Posts: 93 since Jul 2010
Thanks Given: 2
Thanks Received: 25


swimtrader View Post

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!

Reply With Quote
  #120 (permalink)
StockJock
Chicago + Illinois/USA
 
Posts: 256 since Aug 2010
Thanks Given: 15
Thanks Received: 154


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.

Reply With Quote




Last Updated on May 21, 2023


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts