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.

einja

Run the Strategy Only Once in Tradestation

Recommended Posts

hi everyone,

 

i am new to this Tradestation and EasyLanguage scripting.

 

i am looking for a simple script that places an order once and maybe close it at a certain price. closing is not crucial.

 

Ex. if EURUSD is trading at 1.3356, and the trend is downwards, i want to pass the parameter 1.334 and the order for sell short should be executed. once its executed, the script should become non operational otherwise, it will keep shorting since the condition, if Price <= 1.334 will be triggered many times.

 

thanks for the people who are reading this and trying to help people like me who are beginners.

Share this post


Link to post
Share on other sites

Try something like:

 

If marketposition=0 then
sellshort next bar at 1.334;

 

When you have an existing short position then marketposition=-1 and when you have an open long position then marketposition=1. This is regardless of the number of shares/contracts you hold. When you are flat market position=0.

 

Note that both this method and UrmaBlume's will permit a new position to be initiated if the prior position has been exited and then price trades back down to 1.334.

 

You may want to limit yourself to one entry per day at this level, in which case your code might look like this:

 

If entriestoday=0 then
sellshort next bar at 1.334;

 

There is no need to state a condition for marketposition because if there have been no entries you must already be flat (unless you're holding positions overnight). If you allow a specified number of positions each day - say four - then you'd need:

 

If marketposition=0 and entriestoday=4 then
sellshort next bar at 1.334;

 

I see no reason for the "begin . . . end" loop in Urma's code, a specific price would normally be specified, and "this bar" can be used instead of "at market", so this could be edited to something like:

 

If current shares=0 and close<=1.334 then 
buy this bar;

 

Most likely the difference may be because Urma is using the MultiCharts version of EasyLanguage.

 

Hope that helps.

 

Kind regards,

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

UrmaBlume and BlueHorse,

 

Your guys are amazing. Thank you and i read your replies before too on other posts. Keep up the good work.

 

This is what i was looking for. I see a trend on the chart and it could be a 3rd run or 15th run in that day. once i jump in, it needs to execute once and then get out.

 

This is the psuedo code.

 

1. see the chart pattern (eyeballing and manual).

2. Execute the strategy:

{

Short Sell at specific price.

After some time buy back the same stock

} >> This brasis code should be run once and the strategy should be exited or dys-functional.

Share this post


Link to post
Share on other sites

I think you already have your answer above, don't you?

 

Not sure why you even need an automated strategy for this though - why not just place a resting order at the price level you want, as it sounds like you're going to be around to watch the whole process unfold?

 

BlueHorseshoe

Share this post


Link to post
Share on other sites

i have a long position.

 

i get "not Executed 0.00" printed in the output window.

 

marketposition does not return 1 when i have a long position.

 

 

if MarketPosition = 1 then

BEGIN

Sell All Contracts Next Bar At Market;

 

Print( "yes Executed" );

END

Else

BEGIN

Print( "not Executed", marketposition );

END

Share this post


Link to post
Share on other sites

i am using a simulated account of tradestation.

 

do u know if i can place orders in sim. acct using the code u sent. nothing happens when i run the strategy. i am wondering if the script can be used for just back testing or can we use it for placing orders real time also.

Share this post


Link to post
Share on other sites

You can use place orders in SIM, but only for instruments of the same type as the account. In other words, if you have a TS Forex account, you can't live SIM trade a futures contract. This is because the data-feed is not live, and you're getting delayed data. There is no way around this (TS will not allow you a live Futures feed to a Forex or Securities account, as far as I am aware).

 

Does this sound applicable?

 

Regards,

 

BlueHorseshoe

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.