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.

Mr.Flo

Opening Range

Recommended Posts

Hey guys,

 

I am working on an indicator in Tradestation which should show whether the last price is above/below the opening range (9:30 to 10:30). The indicator has to work on a 2min timeframe (radarscreen) since I am also measuring the price against some moving averages on the that timeframe.

 

I was thinking of starting to store the (new) high and low from 9:30 to 10:30 and the print it at 10:30 so that it wont change after 10:30 but somehow the function for now always returns the LAST2min bar high/low.

 

Basically I want to check the price at any time after 10:30 against the high/low of the first 60min of the day but cant use 60min timeframe due to the other indicators running on the 2min timeframe.

 

Not sure how to fix it. Maybe you have an idea, I post the code below.

 

Thanks!

 

 

vars: myhigh(0), mylow(0), abovebelowOR(0);

 

 

If Time =0932 then

Begin

myhigh=High;

end;

 

If high>myhigh then

Begin

myhigh=high;

end;

 

If time=1030 then

Begin

print(myhigh:0:2);

end;

 

plot1(myhigh,"H",green,black);

 

If Time =0932 then

Begin

mylow=low;

end;

 

If low>mylow then

Begin

mylow=low;

end;

 

If time=1030 then

Begin

print(mylow:0:2);

end;

 

plot2(mylow,"L",red,black);

 

If Time>1030

And last>myhigh then

Begin

abovebelowOR=1;

plot3(abovebelowOR,"AB",black,green);

End;

 

If Time>1030

And last<mylow then

Begin

abovebelowOR=-1;

plot3(abovebelowOR,"AB",black,red);

End;

 

If Time>1030

And last<myhigh

And last>mylow Then

Begin

abovebelowOR=0;

plot3(abovebelowOR,"AB",black,white);

end;

Share this post


Link to post
Share on other sites
Hey guys,

 

I am working on an indicator in Tradestation which should show whether the last price is above/below the opening range (9:30 to 10:30). The indicator has to work on a 2min timeframe (radarscreen) since I am also measuring the price against some moving averages on the that timeframe.

 

I was thinking of starting to store the (new) high and low from 9:30 to 10:30 and the print it at 10:30 so that it wont change after 10:30 but somehow the function for now always returns the LAST2min bar high/low.

 

Basically I want to check the price at any time after 10:30 against the high/low of the first 60min of the day but cant use 60min timeframe due to the other indicators running on the 2min timeframe.

 

Not sure how to fix it. Maybe you have an idea, I post the code below.

 

Thanks!

 

 

vars: myhigh(0), mylow(0), abovebelowOR(0);

 

 

If Time =0932 then

Begin

myhigh=High;

end;

 

If high>myhigh then

Begin

myhigh=high;

end;

 

If time=1030 then

Begin

print(myhigh:0:2);

end;

 

plot1(myhigh,"H",green,black);

 

If Time =0932 then

Begin

mylow=low;

end;

 

If low>mylow then

Begin

mylow=low;

end;

 

If time=1030 then

Begin

print(mylow:0:2);

end;

 

plot2(mylow,"L",red,black);

 

If Time>1030

And last>myhigh then

Begin

abovebelowOR=1;

plot3(abovebelowOR,"AB",black,green);

End;

 

If Time>1030

And last<mylow then

Begin

abovebelowOR=-1;

plot3(abovebelowOR,"AB",black,red);

End;

 

If Time>1030

And last<myhigh

And last>mylow Then

Begin

abovebelowOR=0;

plot3(abovebelowOR,"AB",black,white);

end;

What seems to be the problem?

Share this post


Link to post
Share on other sites

The problem is that the function does not return the high/low of the opening range (9:30-10:30).

 

Instead it shows:

1) the high/low of the current bar (should be opening range 9:30-10:30 high/low)

2) returns the high/low of current bar no matter if prior bars had higher highs/lower lows (should return the highest high + lowest low during the first 60min)

 

Thanks

Share this post


Link to post
Share on other sites

Time set to cme exchange. You should probably edit 830 and 930 (to 930 and 1030 for your purposes). I'm aware you're using this on a 2m interval but you should stick with the time specified (plus or minus n hours rather than something like 0932).

 

var: myH(0), myL(0);

if t>830 and t<=930 then begin
   if t[1]<=830 or t[1]>930 then begin
       myH=H;  myL=L;
   end else begin
       myH=maxlist(myH,H);  myL=minlist(myL,L);
   end;
end;

plot1(myH,"myH",green,black);
plot2(myL,"myL",red,black);

if c>myH then plot3(1,"orb",black,green) else if c<myL then plot3(-1,"orb",black,red) else plot3(0,"orb",black,white);

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.