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.

clbradley

EL End of Day Exit Problem

Recommended Posts

Hey. I have a code which works fairly well in backtesting, but there are bugs in most end of day exit strategy codes at Tradestation, and have noticed recently that SetExitOnClose just works in backtesting. What do I need to do to make sure I'm out by the end of the day or just before? Here's what I have so far:

 

Inputs:

FastLength(10), SlowLength(20), StartTime(0930),EndTime(1600);

 

Vars:

FastAvg(0),SlowAvg(0);

 

FastAvg = xaverage(Close,FastLength);

SlowAvg = xaverage(Close,SlowLength);

 

If Time > StartTime and Time < EndTime then begin

 

If FastAvg crosses above SlowAvg then

buy 100 shares next bar at market;

 

If FastAvg crosses below SlowAvg then

sellshort 100 shares next bar at market;

 

end;

 

 

SetProfitTarget(1000);

SetStopLoss( 100);

 

SetExitOnClose;

 

Except that now I'll leave the last line out since it only works for backtesting, not in real time. Wondering if I need to put the times at the top (EST?), the time zone I'm in, or New York Time (NYT?), and if it should be changed to 1558 or 1559 end time EST or NYT to be sure and be out before 4 PM (1600 EST), and if it should be stated to sell if long or cover if short at 1558 or 1559 EST near the end of the code. Have seen that there are lots of bugs in most exit end of day codes at TS and they don't stop the trade at the end of the day, and not sure what really works. Thanks for any help and hope you're having a great weekend.

 

Curtis

Share this post


Link to post
Share on other sites
.........and if it should be changed to 1558 or 1559 end time EST or NYT to be sure and be out before 4 PM (1600 EST), and if it should be stated to sell if long or cover if short at 1558 or 1559 EST near the end of the code. Have seen that there are lots of bugs in most exit end of day codes at TS ..........
You are right in calling them bugs if you indeed expect the back-testing engine to perfectly extrapolates real life trades - but that is almost never the case. As it was pointed out on the TS forum, if you are using 1 minute charts, as the bar closes at 1600, it is already too late in real life to place a trade at the equities exchange at NYSE; if you use a tick chart or 3 minute chart, the bar may never close at 1600. SetExitonClose is a short hand for the best case scenario for getting out at the exchange close, it doesn't guarantees it.

 

This is comparable to a discretionary trader who predicted the exact highs or lows and place a trade there and never got filled, it is something to be expected and planned for.

 

You can use MarketPosition to find out if you are short or long and close out the trade that way by selling or buy to cover. The following will get you out at market at 1559, one minute before the market closes. TS does not have sub-minute resolution, so that is as close you can get unless you write a lot of code to use the PC's clock:

 

if time >= Endtime then begin // Endtime = 1558; 1 min chart only

if Marketposition > 0 then sell next bar market;

if Marketposition < 0 then buytocover next bar market;

end;

 

There is a lot of information on the TS forum on this and there are many other solutions that is posted by the staff and users, for example here:

https://www.tradestation.com/Discussions/Topic.aspx?Topic_ID=81611&SearchTerm=1558&txtExactMatch=

Share this post


Link to post
Share on other sites

I have been having the best results and not that many trades or commissions/slippage when I test the 20-60 min. or greater timeframes. So instead of "1 min chart only", could I instead state "30 min chart only", when run on a 30 min. timeframe, or are you saying that code is good only for 1 min. charts? Thanks for your help, thrunner.

Share this post


Link to post
Share on other sites

Checked out your link, and it looks like I could exit before the end of each day, and still use the "SetExitOnClose", which will work with Custom Sessions, as described in the TS thread link above. Thanks again, that may work.

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.


  • Topics

  • Posts

    • Why not to simply connect you account to myfxbook which will collect all this data automatically for you? The process you described looks tedious and a bit obsolete but may work for you though.
    • The big breakthrough with AI right now is “natural language computing.”   Meaning, you can speak in natural language to a computer and it can go through huge data sets, make sense out of them, and speak back to you in natural language.   That alone is a huge breakthrough.   The next leg? AI agents. Where they don’t just speak back to you.   They take action. Here’s the definition I like best: an AI agent is an autonomous system that uses tools, memory, and context to accomplish goals that require multiple steps.   Everything from simple tasks (analyzing web traffic) to more complex goals (building executive briefings or optimizing websites).   They can:   > Reason across multiple steps.   >Use tools like a real assistant (Excel spreadsheets, budgeting apps, search engines, etc.)   > Remember things.   And AI agents are not islands. They talk to other agents.   They can collaborate. Specialized agents that excel at narrow tasks can communicate and amplify one another’s strengths—whether it’s reasoning, data processing, or real-time monitoring.   What it Looks Like You wake up one morning, drink your coffee, and tell your AI agent, “I need to save $500 a month.”   It gets to work.   First, it finds all your recurring subscriptions. Turns out you’re paying $8.99 for a streaming service you forgot you had.   It cancels it. Then it calls your internet provider, negotiates a lower bill, and saves you another $40. Finally, it finds you car insurance that’s $200 cheaper per year.   What used to take you hours—digging through statements, talking to customer service reps on hold for an hour, comparing plans—is done while you’re scrolling Twitter.   Another example: one agent tracks your home maintenance needs and gets information from a local weather-monitoring agent. Result: "Rain forecast next week - should we schedule gutter cleaning now?"   Another: an AI agent will plan your vacations (“Book me a week in Italy for under $2,000”), find the cheapest flights, and sort out hotels with a view.   It’ll remind you to pay bills, schedule doctor’s appointments, and track expenses so you’re not wondering where your paycheck went every month.   The old world gave you tools—Excel spreadsheets, search engines, budgeting apps. The new world gives you agents who do the work for you.   Don’t Get Too Scared (or Excited) Yet William Gibson famously said: "The future is already here – it's just not evenly distributed."   AI agents will distribute it. For decades, the tools that billionaires and corporations used to get ahead—personal assistants, financial advisors, lawyers—were out of reach for regular people.   AI agents could change that.   BUT, remember…   We’re in inning one.   AI agents have a ways to go.   They’re imperfect. They mess up. They need more defenses to get ready for prime time.   To be sure, AI is powerful, but it’s not a miracle worker. It’s great at helping humans solve problems, but it’s not going to replace all jobs overnight.   Instead of fearing AI, think of it as a tool to A.] save you time on boring stuff and B.] amplify what you’re already good at. Right now is the BEST time to start experimenting. It’s also the best time to find investments that will “make AI work for you”. Author: Chris Campbell (AltucherConfidential)   Profits from free accurate cryptos signals: https://www.predictmag.com/     
    • What a wild year.   AI seems to be appearing everywhere you look, Paris hosted a weird Olympics, unrest continues in the Middle East, the US endured a crazy-heated election, and the largest rocket ever to fly successfully landed in a giant pair of robot arms.   Okay, but what about the $money stuff?   Well, this year we've seen a load of uncertainty - inflation is still biting and many businesses have gone down.   Property has been very fractured, with developments becoming prohibitively expensive, while other markets have boomed.   It hasn't been an easy ride, that's for sure.   However, the stock market has had some outstanding results, and for those who know how to trade, some have done VERY well for themselves.   Some have replaced their incomes. Some have set themselves up for the rest of their days on this planet.   How about you? How did you go? Author: Louise Bedford    Profits from free accurate cryptos signals: https://www.predictmag.com/  
    • U Unity Software stock watch, attempting to move higher off the 22.4 triple+ support area at https://stockconsultant.com/?U  
    • TSSI TSS stock, watch for an ascending triangle breakout above 11.49, target 15 area at https://stockconsultant.com/?TSSI
×
×
  • Create New...

Important Information

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