VSA for ThinkorSwim - ThinkOrSwim Programming | futures io social day trading
futures io futures trading


VSA for ThinkorSwim
Updated: Views / Replies:169,847 / 429
Created: by cbritton Attachments:131

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 90,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you dont need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Reply
 131  
 
Thread Tools Search this Thread
 

VSA for ThinkorSwim

  #111 (permalink)
Trading for Fun
LA, CA
 
Futures Experience: Advanced
Platform: Infinity, IB, TOS
Favorite Futures: currency futures
 
Posts: 93 since Jul 2010
Thanks: 2 given, 24 received


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
 
  #112 (permalink)
Trading for Profit
Chicago + Illinois/USA
 
Futures Experience: Beginner
Platform: ThinkOrSwim
Favorite Futures: Stock
 
StockJock's Avatar
 
Posts: 256 since Aug 2010
Thanks: 15 given, 148 received


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 Williamss 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)
Elite Member
Atlanta, Georgia
 
Futures Experience: Intermediate
Platform: NT
Broker/Data: DDT
Favorite Futures: ZN, ZB
 
cbritton's Avatar
 
Posts: 224 since Mar 2010
Thanks: 152 given, 237 received



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
Reply With Quote
 
  #114 (permalink)
Trading for Profit
Chicago + Illinois/USA
 
Futures Experience: Beginner
Platform: ThinkOrSwim
Favorite Futures: Stock
 
StockJock's Avatar
 
Posts: 256 since Aug 2010
Thanks: 15 given, 148 received


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 Williamss 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)
Trading for Profit
Chicago + Illinois/USA
 
Futures Experience: Beginner
Platform: ThinkOrSwim
Favorite Futures: Stock
 
StockJock's Avatar
 
Posts: 256 since Aug 2010
Thanks: 15 given, 148 received

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)
Elite Member
Atlanta, Georgia
 
Futures Experience: Intermediate
Platform: NT
Broker/Data: DDT
Favorite Futures: ZN, ZB
 
cbritton's Avatar
 
Posts: 224 since Mar 2010
Thanks: 152 given, 237 received


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
Reply With Quote
 
  #117 (permalink)
Elite Member
Sarasota, FL USA
 
Futures Experience: Advanced
Platform: TOS, NinjaTrader
Broker/Data: Mirus/Zenfire & TOS
Favorite Futures: ES
 
Posts: 22 since Sep 2010
Thanks: 0 given, 17 received

Post Number One: "System" Comparisons

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
VSA for ThinkorSwim-bv_volprofile_vpa.png   VSA for ThinkorSwim-kelly-calc.png   VSA for ThinkorSwim-tg-entry-support.png   VSA for ThinkorSwim-tg-selling-pressure.png  
Reply With Quote
 
  #118 (permalink)
Elite Member
Sarasota, FL USA
 
Futures Experience: Advanced
Platform: TOS, NinjaTrader
Broker/Data: Mirus/Zenfire & TOS
Favorite Futures: ES
 
Posts: 22 since Sep 2010
Thanks: 0 given, 17 received

Post Number Two: General Impressions of VPA Study

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
Register to download File Type: ts BetterVolume_STUDY.ts (3.4 KB, 288 views)
Reply With Quote
The following 4 users say Thank You to swimtrader for this post:
 
  #119 (permalink)
Trading for Fun
LA, CA
 
Futures Experience: Advanced
Platform: Infinity, IB, TOS
Favorite Futures: currency futures
 
Posts: 93 since Jul 2010
Thanks: 2 given, 24 received


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)
Trading for Profit
Chicago + Illinois/USA
 
Futures Experience: Beginner
Platform: ThinkOrSwim
Favorite Futures: Stock
 
StockJock's Avatar
 
Posts: 256 since Aug 2010
Thanks: 15 given, 148 received


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

Reply



futures io > > > > > VSA for ThinkorSwim

Thread Tools Search this Thread
Search this Thread:

Advanced Search



Upcoming Webinars and Events (4:30PM ET unless noted)

Jigsaw Trading: TBA

Elite only

FuturesTrader71: TBA

Elite only

NinjaTrader: TBA

Jan 18

RandBots: TBA

Jan 23

GFF Brokers & CME Group: Futures & Bitcoin

Elite only

Adam Grimes: TBA

Elite only

Ran Aroussi: TBA

Elite only
     

Similar Threads
Thread Thread Starter Forum Replies Last Post
Volume Spread Analysis (VSA) slumlord Traders Hideout 57 December 6th, 2017 01:19 AM
VSA indicator for MT4 sam1197 MetaTrader 12 December 21st, 2015 08:15 PM
VSA alexav Russian Traders 5 December 17th, 2012 05:03 AM
VSA in MC? TonyB MultiCharts 10 May 28th, 2011 11:37 AM


All times are GMT -4. The time now is 08:38 PM.

Copyright © 2017 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
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.
no new posts
Page generated 2017-12-16 in 0.18 seconds with 20 queries on phoenix via your IP 54.160.245.121