Dark Theme
Light Theme
Trading Articles
Article Categories
Article Tools
Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to
register in order to view the content of the threads and start contributing to our community.
It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Volume level support and resistance (EasyLanguage)
Updated May 5, 2021
Top Posters
looks_one
Fat Tails
with 9 posts (3 thanks)
looks_two
Big Mike
with 6 posts (25 thanks)
looks_3
zt379
with 5 posts (1 thanks)
looks_4
tbohle
with 3 posts (2 thanks)
Best Posters
looks_one
MooreTech
with 7 thanks per post
looks_two
Big Mike
with 4.2 thanks per post
looks_3
tbohle
with 0.7 thanks per post
looks_4
Fat Tails
with 0.3 thanks per post
trending_up
30,956 views
thumb_up
41 thanks given
group
14 followers
forum
42 posts
attach_file
7 attachments
Volume level support and resistance (EasyLanguage)
March 19th, 2010, 02:25 PM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,499 since Jun 2009
Thanks Given: 33,264
Thanks Received: 101,714
I am still quite new at EL programming, so forgive me
This little indicator just plots some interesting support and resistance areas solely based on where the majority of volume took place. I use it on a 5 minute chart, and it looks like this:
[img]https://nexusfi.com/v/fzsrwp.png[/img]
You'll need a semi-wide right margin to see the text, or you can edit the indicator itself if you want to adjust that. d1..d5 just represents how many days back the line represents, I have it set to do a 5-day rolling action now.
All the lines are drawn ahead of time and do not change intraday. Decide for yourself it is useful or not. The code itself could use some refinement, I am sure. Please post enhancements!
Code
inputs : length ( 3 ), piv1c ( white ), piv2c ( blue ), piv3c ( lightgray ), piv4c ( green ), piv5c ( magenta ), pivstyle ( 3 ), textscale ( 6 ); vars : piv0 ( 0 ), piv1 ( 0 ), piv2 ( 0 ), piv3 ( 0 ), piv4 ( 0 ), piv5 ( 0 ), volph ( 0 ), piv1id ( 0 ), piv2id ( 0 ), piv3id ( 0 ), piv4id ( 0 ), piv5id ( 0 ), piv1tid ( 0 ), piv2tid ( 0 ), piv3tid ( 0 ), piv4tid ( 0 ), piv5tid ( 0 ); if date <> date [ 1 ] then begin volph = 0 ; piv5 = piv4 ; piv4 = piv3 ; piv3 = piv2 ; piv2 = piv1 ; piv1 = piv0 ; end ; if date = date [ 1 ] then begin TL_Delete ( piv1id ); TL_Delete ( piv2id ); TL_Delete ( piv3id ); TL_Delete ( piv4id ); TL_Delete ( piv5id ); end ; piv1id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv1 , date , sessionendtime ( 0 , 1 ), piv1 ); piv2id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv2 , date , sessionendtime ( 0 , 1 ), piv2 ); piv3id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv3 , date , sessionendtime ( 0 , 1 ), piv3 ); piv4id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv4 , date , sessionendtime ( 0 , 1 ), piv4 ); piv5id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv5 , date , sessionendtime ( 0 , 1 ), piv5 ); TL_SetColor ( piv1id , piv1c ); TL_SetColor ( piv2id , piv2c ); TL_SetColor ( piv3id , piv3c ); TL_SetColor ( piv4id , piv4c ); TL_SetColor ( piv5id , piv5c ); TL_SetStyle ( piv1id , pivstyle ); TL_SetStyle ( piv2id , pivstyle ); TL_SetStyle ( piv3id , pivstyle ); TL_SetStyle ( piv4id , pivstyle ); TL_SetStyle ( piv5id , pivstyle ); Text_Delete ( piv1tid ); Text_Delete ( piv2tid ); Text_Delete ( piv3tid ); Text_Delete ( piv4tid ); Text_Delete ( piv5tid ); piv1tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv1 - ( textscale * MinMove / PriceScale ), "[ v-d1 ]" ); piv2tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv2 - ( textscale * MinMove / PriceScale ), "[ v-d2 ]" ); piv3tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv3 - ( textscale * MinMove / PriceScale ), "[ v-d3 ]" ); piv4tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv4 - ( textscale * MinMove / PriceScale ), "[ v-d4 ]" ); piv5tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv5 - ( textscale * MinMove / PriceScale ), "[ v-d5 ]" ); // highest volume bar if Average ( Volume , length ) > volph then begin volph = Average ( Volume , length ); piv0 = XAverage ( Close , length ); //PlotPaintBar(High,Low,Open,Close,"",Yellow); end ;
Attached is the MultiCharts .pla.
Mike
Attached Files
Elite Membership required to download: Volume Pivots.pla
Thanked by:
Alexlaxmikant , atata , bstrader , fearful syymmetry , laski , Laurus12 , mani4kannan , mea109 , RickAce , subterfuge , tbohle , TIKITRADER , websouth
Can you help answer these questions from other members on NexusFi?
Best Threads (Most Thanked) in the last 7 days on NexusFi
March 22nd, 2010, 02:08 PM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,499 since Jun 2009
Thanks Given: 33,264
Thanks Received: 101,714
Here is another screen shot . Remember, the lines are drawn ahead of time and do not move. Here are the past 4 days showing examples of price coming right to the line and interacting with it. I am referring to the horizontal lines, the dashed moving average is an ema20.
Is it perfect? Of course not, nothing is. But it may prove useful, only time will tell.
[img]https://nexusfi.com/v/7fqt4k.png[/img]
Mike
March 25th, 2010, 10:54 PM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,499 since Jun 2009
Thanks Given: 33,264
Thanks Received: 101,714
Another day, and another example of the lines. Again the green and white lines for today were drawn immediately (bar1 of today) and did not change.
You could say the white line represented the cash close of prior day, but you'll see the green line for today worked equally as well... and it represented the line in the sand drawn 3 days prior (22nd), which was also retested 2 days prior (23rd).
[img]https://nexusfi.com/v/vhnu6q.png[/img]
Mike
August 2nd, 2010, 06:17 PM
ottawa ontario canada
Experience: Intermediate
Platform: ninja trader
Broker: ninja trader brokerage
Trading: es
Posts: 100 since Sep 2009
Thanks Given: 17
Thanks Received: 23
Very interesting indicator.hope some talented programmers can convert it to ninja trader .very very nice and special indicator
September 24th, 2010, 11:47 AM
Fairfax, VA
Posts: 3 since Jul 2010
Thanks Given: 2
Thanks Received: 2
Quick Summary
Quick Summary is created and edited by users like you... Add FAQ's, Links and other Relevant Information by clicking the edit button in the lower right hand corner of this message.
Hi Big Mike,
The work you have done on the volume-level support/ resistance appeals to me as very useful and plausible. I have installed the code, yet I don't seem to any plots at all. It seems something is not set correctly. Are there any other dlls necessary to enable the above coding? I'd like to play with it and add some refinements after getting it to work. Thanks.
September 24th, 2010, 11:51 AM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,499 since Jun 2009
Thanks Given: 33,264
Thanks Received: 101,714
tbohle
Hi Big Mike,
The work you have done on the volume-level support/
resistance appeals to me as very useful and plausible. I have installed the code, yet I don't seem to any plots at all. It seems something is not set correctly. Are there any other dlls necessary to enable the above coding? I'd like to play with it and add some refinements after getting it to work. Thanks.
No DLL's, all the code is above. But, I use MultiCharts and can't test it on TradeStation, which may be the problem.
Mike
September 24th, 2010, 12:01 PM
Fairfax, VA
Posts: 3 since Jul 2010
Thanks Given: 2
Thanks Received: 2
Big Mike
No DLL's, all the code is above. But, I use
MultiCharts and can't test it on TradeStation, which may be the problem.
Mike
Mike: "Highest Volume Bar" is coded-out above. What is the rationale? I don't think this would prevent the other lines from drawing, though. Just wanted to verify. Thx.
September 24th, 2010, 12:03 PM
Manta, Ecuador
Site Administrator Developer Swing Trader
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,499 since Jun 2009
Thanks Given: 33,264
Thanks Received: 101,714
tbohle
Mike: "Highest Volume Bar" is coded-out above. What is the rationale? I don't think this would prevent the other lines from drawing, though. Just wanted to verify. Thx.
It's just a comment line.
Mike
September 24th, 2010, 03:30 PM
Orlando, Florida
Experience: Advanced
Platform: NinjaTrader, TradeStation, MultiCharts, eSignal, MetaTrader
Trading: ES
Posts: 57 since Aug 2010
Thanks Given: 6
Thanks Received: 73
tbohle
Hi Big Mike,
The work you have done on the volume-level support/
resistance appeals to me as very useful and plausible. I have installed the code, yet I don't seem to any plots at all. It seems something is not set correctly. Are there any other dlls necessary to enable the above coding? I'd like to play with it and add some refinements after getting it to work. Thanks.
tbohle,
Try the code below. TradeStation didn't like the way the original was handling the trendlines.
Code
inputs : length ( 3 ), piv1c ( white ), piv2c ( blue ), piv3c ( lightgray ), piv4c ( green ), piv5c ( magenta ), pivstyle ( 3 ), textscale ( 6 ); vars : piv0 ( 0 ), piv1 ( 0 ), piv2 ( 0 ), piv3 ( 0 ), piv4 ( 0 ), piv5 ( 0 ), volph ( 0 ), piv1id ( 0 ), piv2id ( 0 ), piv3id ( 0 ), piv4id ( 0 ), piv5id ( 0 ), piv1tid ( 0 ), piv2tid ( 0 ), piv3tid ( 0 ), piv4tid ( 0 ), piv5tid ( 0 ); if date <> date [ 1 ] then begin volph = 0 ; piv5 = piv4 ; piv4 = piv3 ; piv3 = piv2 ; piv2 = piv1 ; piv1 = piv0 ; piv1id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv1 , date , sessionendtime ( 0 , 1 ), piv1 ); piv2id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv2 , date , sessionendtime ( 0 , 1 ), piv2 ); piv3id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv3 , date , sessionendtime ( 0 , 1 ), piv3 ); piv4id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv4 , date , sessionendtime ( 0 , 1 ), piv4 ); piv5id = TL_New ( date , sessionstarttime ( 0 , 1 ), piv5 , date , sessionendtime ( 0 , 1 ), piv5 ); TL_SetColor ( piv1id , piv1c ); TL_SetColor ( piv2id , piv2c ); TL_SetColor ( piv3id , piv3c ); TL_SetColor ( piv4id , piv4c ); TL_SetColor ( piv5id , piv5c ); TL_SetStyle ( piv1id , pivstyle ); TL_SetStyle ( piv2id , pivstyle ); TL_SetStyle ( piv3id , pivstyle ); TL_SetStyle ( piv4id , pivstyle ); TL_SetStyle ( piv5id , pivstyle ); piv1tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv1 - ( textscale * MinMove / PriceScale ), "[ v-d1 ]" ); piv2tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv2 - ( textscale * MinMove / PriceScale ), "[ v-d2 ]" ); piv3tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv3 - ( textscale * MinMove / PriceScale ), "[ v-d3 ]" ); piv4tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv4 - ( textscale * MinMove / PriceScale ), "[ v-d4 ]" ); piv5tid = Text_New ( date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv5 - ( textscale * MinMove / PriceScale ), "[ v-d5 ]" ); end ; If piv1 > 0 then value1 = tl_setend ( piv1tid , date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv1 ); If piv2 > 0 then value1 = tl_setend ( piv2tid , date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv2 ); If piv3 > 0 then value1 = tl_setend ( piv3tid , date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv3 ); If piv4 > 0 then value1 = tl_setend ( piv4tid , date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv4 ); If piv5 > 0 then value1 = tl_setend ( piv5tid , date , Minlist ( Time + 30 , SessionEndTime ( 0 , 1 ) + 100 ), piv5 ); If piv1 > 0 then value1 = Text_setlocation ( piv1tid , d , minlist ( time + 30 , sessionendtime ( 0 , 1 )+ 100 ), piv1 - ( textscale * MinMove / PriceScale )); If piv2 > 0 then value1 = Text_setlocation ( piv2tid , d , minlist ( time + 30 , sessionendtime ( 0 , 1 )+ 100 ), piv2 - ( textscale * MinMove / PriceScale )); If piv3 > 0 then value1 = Text_setlocation ( piv3tid , d , minlist ( time + 30 , sessionendtime ( 0 , 1 )+ 100 ), piv3 - ( textscale * MinMove / PriceScale )); If piv4 > 0 then value1 = Text_setlocation ( piv4tid , d , minlist ( time + 30 , sessionendtime ( 0 , 1 )+ 100 ), piv4 - ( textscale * MinMove / PriceScale )); If piv5 > 0 then value1 = Text_setlocation ( piv5tid , d , minlist ( time + 30 , sessionendtime ( 0 , 1 )+ 100 ), piv5 - ( textscale * MinMove / PriceScale )); // highest volume bar if Average ( Volume , length ) > volph then begin volph = Average ( Volume , length ); piv0 = XAverage ( Close , length ); //PlotPaintBar(High,Low,Open,Close,"",Yellow); end ;
Last Updated on May 4, 2021