Welcome to the Traders Laboratory Forums.
Coding Forum Collaborate, receive help, or discuss coding related issues.

Like Tree1Likes

Reply
Old 11-01-2009, 06:50 PM   #9

Join Date: Oct 2009
Location: Catania
Posts: 20
Ignore this user

Thanks: 2
Thanked 3 Times in 1 Post



Re: Building a VolumeProfile Indicator with EasyLanguage

Quote:
Originally Posted by Tams »
I believe DBntina uses the mid point of the array as starting point...

1. he can save one dimension in the array... because array takes up memory !
2. faster operation
3. opening tick is the starting point... all subsequent ticks are as a plus or minus of the previous tick... therefore no need for the price data.


CLEVER !
Great TAMS !!!
So a 1 dimensional array is a clever and better solution.
Now my question is:
is the PVPVolArray[V2VolLevel] the array with all the volume at price data ? Or I've to create a new Loop to find it using the same logic ?

AndyTick
Andytick is offline  
Reply With Quote
Old 11-01-2009, 08:09 PM   #10

Join Date: Nov 2009
Location: new york
Posts: 2
Ignore this user

Thanks: 0
Thanked 0 Times in 0 Posts



Re: Building a VolumeProfile Indicator with EasyLanguage

[quote=Andytick;79445]Brownmar,
try to use google and search "MARKET PROFILE TPO"...........after some first links, you will find this [url=http://www.elitetrader.com.[/quote]

Tradestation has blocked that link because is illegal.
Try the link now.
brownmar is offline  
Reply With Quote
Old 11-01-2009, 08:49 PM   #11

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,590
Ignore this user

Thanks: 2,027
Thanked 1,402 Times in 862 Posts



Re: Building a VolumeProfile Indicator with EasyLanguage

Quote:
Originally Posted by Andytick »
Great TAMS !!!
So a 1 dimensional array is a clever and better solution.
Now my question is:
is the PVPVolArray[V2VolLevel] the array with all the volume at price data ? Or I've to create a new Loop to find it using the same logic ?

AndyTick

see step #4 in post #4

try
numtostr( V2VolLevel, 0 )
text( PVPVolArray[ V2VolLevel ] )
text( StartPrice )
text( MyVolume )
__________________


..........This is a terribly difficult question to answer. The only satisfactory answer is: "It depends"...
Tams is offline  
Reply With Quote
Old 11-01-2009, 10:05 PM   #12

Join Date: Jun 2007
Location: MC
Posts: 46
Ignore this user

Thanks: 4
Thanked 24 Times in 16 Posts



Re: Building a VolumeProfile Indicator with EasyLanguage

Quote:
Originally Posted by brownmar »
Tradestation has blocked that link because is illegal.
Try the link now.
Mark Brown. If you are the author and copyright holder, why don't you go after elitetrader (threadid=131234) and jficquette who posted the code?
They are both well known
John Ficquette - San Diego, CA | Facebook
Attached Thumbnails
Building a VolumeProfile Indicator with EasyLanguage-elitetrader2009-11-01_205706.gif  
3monkeys is offline  
Reply With Quote
Old 11-02-2009, 04:18 AM   #13

Join Date: Oct 2009
Location: Catania
Posts: 20
Ignore this user

Thanks: 2
Thanked 3 Times in 1 Post



Re: Building a VolumeProfile Indicator with EasyLanguage

Quote:
Originally Posted by brownmar »
Tradestation has blocked that link because is illegal.
Try the link now.
Surely it's illegal, but it was there until I wrote the post for everyone who search it and it is still there. The link is not blocked and it's still reachable there.
I'm sorry about tradestation, but the fault is not mine and I'm still waiting for your apology about your words.

Andytick
Andytick is offline  
Reply With Quote
Old 11-02-2009, 04:55 AM   #14

BlowFish's Avatar

Join Date: Mar 2007
Location: In Da House
Posts: 3,272
Ignore this user

Thanks: 129
Thanked 1,038 Times in 694 Posts



Re: Building a VolumeProfile Indicator with EasyLanguage

You have picked a good place to start with that code. Mind you I would say that I re-wrote it and sent it to Dbtina!

The way to do things is construct an array of volume and use a tick's price to index it (after suitable scaling so each change in price is '1'). That is exactly what I wrote and runs efficiently enough to process every tick. All the previous code I have seen uses messy, slow and inefficient loops. My intention was always to expand it to plot a volume profile though never got round to it.

One important idea. Again do not use loops to plot just add volume at the appropriate level when a tick arrives. If that happens to be at the mode (PVP, peak, wahtever you call it) You may need to loop through the whole array just for that tick to rescale things to the new peak. This depends on how you choose to scale in the first place and is avoidable if you use a fixed scale of n volume per x axis unit.

I have been away from TL for quite a while and have a lot of catching up to do, Once I have I'll take a proper look at what you are up to
BlowFish is offline  
Reply With Quote
The Following 2 Users Say Thank You to BlowFish For This Useful Post:
Andytick (11-02-2009), Tams (11-02-2009)
Old 11-02-2009, 05:13 AM   #15

Join Date: Oct 2009
Location: Catania
Posts: 20
Ignore this user

Thanks: 2
Thanked 3 Times in 1 Post



Thumbs up Re: Building a VolumeProfile Indicator with EasyLanguage

Quote:
Originally Posted by BlowFish »
You have picked a good place to start with that code. Mind you I would say that I re-wrote it and sent it to Dbtina!

The way to do things is construct an array of volume and use a tick's price to index it (after suitable scaling so each change in price is '1'). That is exactly what I wrote and runs efficiently enough to process every tick. All the previous code I have seen uses messy, slow and inefficient loops. My intention was always to expand it to plot a volume profile though never got round to it.

One important idea. Again do not use loops to plot just add volume at the appropriate level when a tick arrives. If that happens to be at the mode (PVP, peak, wahtever you call it) You may need to loop through the whole array just for that tick to rescale things to the new peak. This depends on how you choose to scale in the first place and is avoidable if you use a fixed scale of n volume per x axis unit.

I have been away from TL for quite a while and have a lot of catching up to do, Once I have I'll take a proper look at what you are up to
Thanks Blowfish, your contribution will be very appreciated as one of the first developer of the PVP code.
AndyTick
Andytick is offline  
Reply With Quote
Old 11-02-2009, 08:50 AM   #16

BlowFish's Avatar

Join Date: Mar 2007
Location: In Da House
Posts: 3,272
Ignore this user

Thanks: 129
Thanked 1,038 Times in 694 Posts



Re: Building a VolumeProfile Indicator with EasyLanguage

As Tams points out the array index itself is used to derive the price. The days starting price starts in the middle of the array.

V2VolLevel = 5000+(Value2*(1/(minmove/pricescale)));

converts a tick to be an integer. So whether it is the ES (.25 tick) or DAX (.5 tick) this will convert it do an array index. (Don't ask me how I struggled with that!)

Edit: Another way of looking at this is V2VolLevel is an integer representing Where the tick is in the array compared to the opening tick at 5000. It's not a very well chosen name to be honest. Im not sure I have explained it well enough?

Last edited by BlowFish; 11-02-2009 at 09:06 AM.
BlowFish is offline  
Reply With Quote
The Following User Says Thank You to BlowFish For This Useful Post:
Tams (11-02-2009)

Reply

Tags
array, volume

« Snake Force | - »
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
EasyLanguage Indicator -- How Long (in Min) 1500 Tick Bar Took to Complete Frank Coding Forum 3 03-16-2010 11:47 AM
Building a GAP Trading Strategy brownsfan019 The Candlestick Corner 41 08-06-2009 12:54 PM
Adding Sound to Your Indicator (EasyLanguage) Tams Coding Forum 33 05-10-2009 08:58 AM
building a track record? darthtrader Market Analysis 7 06-23-2007 12:19 AM
Building a Computer System wsam29 General Discussion 5 03-04-2007 07:28 PM

All times are GMT -4. The time now is 06:22 AM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.