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

Reply
Old 10-30-2009, 04:24 AM   #1

Join Date: Feb 2009
Location: the moon
Posts: 2
Ignore this user

Thanks: 4
Thanked 0 Times in 0 Posts

Value of an Instrument at a Certain Time of Day (EL)

I’m trying to take the value of an instrument at a certain time of day and then compare it to its current value. My attempt was

If (value1) > (value1 at time 1400) then begin;

Can anyone tell me were I'm going wrong

thanks
belflan is offline  
Reply With Quote
Old 10-30-2009, 04:53 AM   #2

Join Date: Feb 2009
Location: the moon
Posts: 2
Ignore this user

Thanks: 4
Thanked 0 Times in 0 Posts

Re: Value of an Instrument at a Certain Time of Day (EL)

Very kindly posted by Chalton on T2w


Belflan
I would advise you to use Global Variables (GV). They are extremely powerful and allow you to store and pass values across windows and radar screens, including between symbols and timeframes. You can find a document on global variables on the TS support sites.

The pre-requisite is to have a copy of globalvariable.dll sitting in the program directory where you have installed tradestation. Again copies of this file are available on the TS support site and I believe there are copies floating around T2W.

The code below is a simple example to illustrate how you can pick up the value (in this case the closing price) from 1200 and compare it to the current bar. This example was created after the market closed, so I also included yesterday's date as a filter. The first if statement is creating a global variable called 1200_close and storing the closing price when the time is 1200.

The second if statement compares for each bar (provided we have passed 1200 hours, the close of that bar and the contents of the GV. If the current close is larger it plots the result on the chart and also sends a print statement out to the Easylanguage Output bar, which is useful when you are developing code.

Now you could replace the date filter with current date and you could also make the name of the GV dynamic. For example you can include the symbol name automatically, which is useful if you want to do calculations based on data from several symbols or indicators.

Anyway this should start you off

Charlton



Vars:
initialise_GV(0);

if time = 1200 and date = ELDate(10,29,2009) then
initialise_GV =gvsetnamedint("1200_clos e", close) ;

if close > gvgetnamedint("1200_close ",2) and date = ELDate(10,29,2009) and time > 1200 then begin
plot1(close - gvgetnamedint("1200_close ",0));
print(time, " Time 1200 value ", gvgetnamedint("1200_close ",2 ), " current value ", close, " Diff ",(close - gvgetnamedint("1200_close ",0)) );
end


//replace ELDate(10,29,2009) with ELDate(CurrentDate) - to do the test for the current date

//Could replace the name of the GV by one which contains the symbol being processed e.g. gvsetnamedint(getsymbolna me + "_1200_close) would create
//If the symbol was, say IBM, the GV would then be called IBM_1200_close

Here is what the print output looks like (this is running on symbol $INDU):

1230.00 Time 1200 value 9872.00 current value 9898.80 Diff 26.80
1300.00 Time 1200 value 9872.00 current value 9914.74 Diff 42.74
1330.00 Time 1200 value 9872.00 current value 9919.28 Diff 47.28
1400.00 Time 1200 value 9872.00 current value 9928.57 Diff 56.57
1430.00 Time 1200 value 9872.00 current value 9928.27 Diff 56.27
1500.00 Time 1200 value 9872.00 current value 9957.29 Diff 85.29
1530.00 Time 1200 value 9872.00 current value 9950.64 Diff 78.64
1600.00 Time 1200 value 9872.00 current value 9962.88 Diff 90.88
__________________
Onwards and Upwards

Last edited by belflan; 10-30-2009 at 05:18 AM.
belflan is offline  
Reply With Quote
Old 10-30-2009, 08:30 AM   #3

Tams's Avatar

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

Thanks: 2,084
Thanked 1,477 Times in 912 Posts

Re: Value of an Instrument at a Certain Time of Day (EL)

Quote:
Originally Posted by belflan »
Very kindly posted by Chalton on T2w


Belflan
I would advise you to use Global Variables (GV). They are extremely powerful and allow you to store and pass values across windows and radar screens, including between symbols and timeframes. You can find a document on global variables on the TS support sites.
...


you can also get Global Variable V2.2 here:

http://www.traderslaboratory.com/for...-2-a-6023.html
__________________



Only an idiot would reply to a stupid post
Tams is online now  
Reply With Quote
The Following 2 Users Say Thank You to Tams For This Useful Post:
belflan (10-30-2009), Charlton (10-30-2009)
Old 10-30-2009, 09:25 AM   #4
zdo

Join Date: Nov 2007
Location: boonies
Posts: 1,349
Ignore this user

Thanks: 317
Thanked 355 Times in 256 Posts
Blog Entries: 104

Re: Value of an Instrument at a Certain Time of Day (EL)

GV is great but, in this particular case, you do not need to use it unless you are comparing the closes of different instruments. (If that, you could also use two data streams on same chart)
In EL once you set a variable in holds until you change it or the instance of that workspace ends.

So (in pseudo code) you could just do something like

If t =1400 then // btw, usually to bracket with if (t[1] <= __ and t[0] and t[0] > __)
cat = c[0];

Then from then on just use the var: cat as you need.

Last edited by zdo; 10-30-2009 at 09:43 AM. Reason: <>
zdo is offline  
Reply With Quote
The Following 2 Users Say Thank You to zdo For This Useful Post:
belflan (10-30-2009), Tams (10-30-2009)

Reply

Tags
global variable

Thread Tools
Display Modes Help Others By Rating This Thread
Help Others By Rating This Thread:


Similar Threads
Thread Thread Starter Forum Replies Last Post
What Made You Pick Your Instrument RobinHood Beginners Forum 23 11-29-2008 06:21 AM
Any UK Futures or Instrument That Reflects the UK Economy? FrankTheTank Futures Trading Laboratory 14 05-15-2008 06:50 AM
Long time reader first time poster ajhunter Introduce Yourself 4 09-19-2007 12:23 AM
Change of instrument feb2865 Forex Trading Laboratory 2 11-12-2006 09:54 PM

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