Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

belflan

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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_close", 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(getsymbolname + "_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

Edited by belflan

Share this post


Link to post
Share on other sites
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/forums/f46/global-variable-v2-2-a-6023.html

Share this post


Link to post
Share on other sites

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.

Edited by zdo
<>

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.