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.

bharatk8

Required Backtesting Simulator AFL......

Recommended Posts

Simulated Trading | eToke's Blog

 

Simulated Trading 19apr09

I am very excited today as I have managed to complete something which has been on my to-do list for a very, very long time.

 

A final push of inspiration from Dr. Brett’s new book, The Daily Trading Coach has allowed me to code up a simulator for my current Amibroker Setup.

 

My issue with Simulated Trading in the past is simple: Using a demo account has an opportunity cost: It can only be used during market hours and I just cannot afford the time to spend actual market time in simulation mode. Ideally I want to be able to play-back many market hours of data during weekends and nights where I can practice my trading and ideas without wasting the little exposure to actual market time that I have.

 

Amibroker has a great playback feature, which I have used for this purpose. An added bonus is the ability to playback at faster speeds in order to intensify and shorten the simulated session.

 

I will touch on how I trade both automated system and discretionarily, in detail in later posts, but for now, I will simply say that I have up to now traded my (actual) discretionary trades on TWS through my Amibroker charts.

 

Basically I have 5 buttons. In the past these have only fired orders in TWS. Now the chart can be switched to simulation mode where they create simulated orders :

 

Complete Order: This will place a bracket order in TWS based on 3 horizontal “studïes” (lines on the chart which you can drag up and down in order to adjust the price level) – an entry, a stop and a target.

 

Cancel: Will cancel any pending orders for the current symbol.

 

Attach Bracket: Will attach a bracket order to the existing postion. Will do nothing if there is no open position.

 

Buy and Sell: These will place a limit order at the last price traded. Have a small probability of not being executed, but I prefer it this way than having to pay the bid-ask spread. Pressing these buttons more than once in one direction will pyramid a trade.

 

Close: Closes the current position. Will do nothing if there is no open position.

 

Today I have done the following improvements to my existing code:

 

1 – I have finally taken the plunge to learn how GFX (Graphics programming on charts) in Amibroker works, and replaced the buttons (which used to be in the parameters window – Amibroker users will understand what I mean here). This is a great saver for screen real estate.

 

2 – I have added some code which will allow simulated trading. This works as follows:

 

1. The code will write each transaction (triggered by the buttons above) to a file identical in format to TWS’s executions.txt file.

 

2. An Excel Sheet (which I already have used for several years) reads this file and matches buys and sells together to create roundtrip trades and displays statistics.

 

3. The excel sheet also creates a “History file” in AFL which can be used to display past trades on the chart as well as be run in the backtester. This allows me to look at my trading performance using the metrics available in Amibroker.

 

Points 2 and 3 I already used for my actual trading, but now I can use them to score my sessions on the “simulator”.

 

Note: My position sizing is already coded into the system as a function of the ATR. I have learned not to mess about with position sizing a long time ago and nowadays my trading is simply a matter of pressing these buttons. The sizing changes depending on whether I am day trading or swing trading. This is set in the parameters window of the chart.

 

Here are some screen shots of the setup:

 

This is one of my charts. As indicated in my earlier post I have multiple timeframes on different charts at the same time. The control panel automatically appear only on the short term chart if I am trading using a day trade setup and position size or on the medium term chart when trading the swing setup and position size. The red and green dots indicate my simulated trades.

 

 

 

This is the spreadsheet which does the trade matching:

 

 

 

…and finally, here are the results for 11/09/2008 when run through the backtester:

 

 

 

I have not posted the code for this on the blog because it is currently all over the place and is not really well packaged for distribution, however if you are interested in the code I can email it to you “as is”, with no guarantees it would work on your system! Later on, once I neaten up things a little I will start posting some code too.

 

Feedback and comments would be very welcome!

 

go to blog to find more info.

 

 

hi there........the link you provided is no good so you might give us another one so that we can have an idea about what you mean

Share this post


Link to post
Share on other sites

bumping............................

Simulated Trading | eToke's Blog

 

Simulated Trading 19apr09

I am very excited today as I have managed to complete something which has been on my to-do list for a very, very long time.

 

A final push of inspiration from Dr. Brett’s new book, The Daily Trading Coach has allowed me to code up a simulator for my current Amibroker Setup.

 

My issue with Simulated Trading in the past is simple: Using a demo account has an opportunity cost: It can only be used during market hours and I just cannot afford the time to spend actual market time in simulation mode. Ideally I want to be able to play-back many market hours of data during weekends and nights where I can practice my trading and ideas without wasting the little exposure to actual market time that I have.

 

Amibroker has a great playback feature, which I have used for this purpose. An added bonus is the ability to playback at faster speeds in order to intensify and shorten the simulated session.

 

I will touch on how I trade both automated system and discretionarily, in detail in later posts, but for now, I will simply say that I have up to now traded my (actual) discretionary trades on TWS through my Amibroker charts.

 

Basically I have 5 buttons. In the past these have only fired orders in TWS. Now the chart can be switched to simulation mode where they create simulated orders :

 

Complete Order: This will place a bracket order in TWS based on 3 horizontal “studïes” (lines on the chart which you can drag up and down in order to adjust the price level) – an entry, a stop and a target.

 

Cancel: Will cancel any pending orders for the current symbol.

 

Attach Bracket: Will attach a bracket order to the existing postion. Will do nothing if there is no open position.

 

Buy and Sell: These will place a limit order at the last price traded. Have a small probability of not being executed, but I prefer it this way than having to pay the bid-ask spread. Pressing these buttons more than once in one direction will pyramid a trade.

 

Close: Closes the current position. Will do nothing if there is no open position.

 

Today I have done the following improvements to my existing code:

 

1 – I have finally taken the plunge to learn how GFX (Graphics programming on charts) in Amibroker works, and replaced the buttons (which used to be in the parameters window – Amibroker users will understand what I mean here). This is a great saver for screen real estate.

 

2 – I have added some code which will allow simulated trading. This works as follows:

 

1. The code will write each transaction (triggered by the buttons above) to a file identical in format to TWS’s executions.txt file.

 

2. An Excel Sheet (which I already have used for several years) reads this file and matches buys and sells together to create roundtrip trades and displays statistics.

 

3. The excel sheet also creates a “History file” in AFL which can be used to display past trades on the chart as well as be run in the backtester. This allows me to look at my trading performance using the metrics available in Amibroker.

 

Points 2 and 3 I already used for my actual trading, but now I can use them to score my sessions on the “simulator”.

 

Note: My position sizing is already coded into the system as a function of the ATR. I have learned not to mess about with position sizing a long time ago and nowadays my trading is simply a matter of pressing these buttons. The sizing changes depending on whether I am day trading or swing trading. This is set in the parameters window of the chart.

 

Here are some screen shots of the setup:

 

This is one of my charts. As indicated in my earlier post I have multiple timeframes on different charts at the same time. The control panel automatically appear only on the short term chart if I am trading using a day trade setup and position size or on the medium term chart when trading the swing setup and position size. The red and green dots indicate my simulated trades.

 

 

 

This is the spreadsheet which does the trade matching:

 

 

 

…and finally, here are the results for 11/09/2008 when run through the backtester:

 

 

 

I have not posted the code for this on the blog because it is currently all over the place and is not really well packaged for distribution, however if you are interested in the code I can email it to you “as is”, with no guarantees it would work on your system! Later on, once I neaten up things a little I will start posting some code too.

 

Feedback and comments would be very welcome!

 

go to blog to find more info.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

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