Backtesting/Optimization - page 16

 
tururo:
Hi

MT4 version 200 now has the capability to download 1 minute history from 1999. Wonderful for testing long term any strategies. The problem is, if I backtest on this data, can I duplicate the results on any real data feed? Is this data sourced from a broker that we can get a representative live feed from?

To clarify, can I sign up to a broker and get that same data as a live feed? I have found that small differences in different brokers data can make big differences in profit/loss levels. If I backtest something and it makes a profit, then if I can trade live on the same data, there is a chance it will make a profit.

The datas are from Metaquote. It's the same feed as their usual one using a demo account. You can find on their forum the Slawa's confirmation of this.

As there is no filter at all (like each broker has), it's totally useless for backtesting many kind of strategies, even without the october's hole.

 

EAs and historical data

Hi everyone,

I'm experimenting an issue while running an EA, the underlying candle values (for instance Close[0]) are different from the ones that are displayed on the opened chart and the generated offline chart. Where is the data read when an EA is running ?

To reproduce the problem, simply run an EA that prints out Close[0] for example. All I want is backtest an EA on the historical data I've loaded into the archives.

Thanks in advance,

Mark

 

Don't use the close of the current bar, the tester does not know what the value is until the bar closes.

 

FORWARD and BACK TEST - diference?

Hello there,

I wanna ask a question as far as differences from between Back Test (Strategy Tester MQ4 build 200), and Forward Test are concerned.

I have a PC running online 24x7 with forward test on a demo account (broker MIG) with EA Firebird v1-0c1, M1, GPBUSD, EURUSD, USDCHF a USDJPY

Report: DetailedStatement.htm

From 4.12.06 to 25.12.06 Equity: 12 833.44 and PF 5.3 with init deposit 5000

This is use MM....I do know!

Nice...

And presently I would like to start with an improvement in order to gain lower MAX Drawdown, and above all to gain less of losing Open Trades.

I'm using the same quotes as are running on identical PC in online mode because I believe they're the closest to real ones and tick also.

QUESTION 1

IS THAT OK? Are the tick quotes of a demo account actually real? Are they equal to those on which bases the EA forward test is being processed?

STEP2 - backtests

Because the strategy tester cannot handle more tests of pairs at the same time I've continually done backtest of this EA on M1 for all 4 pairs with a date period from 4.12.06 to 25.12.06.

Result files as follows:

StrategyTester-EURUSD-FB v1-0c1.htm

Net Profit: 973.35, PF: 2.46

StrategyTester-GBPUSD-FB v1-0c1.htm

Net Profit: 1407.74, PF: 3.22

StrategyTester-USDCHF-FB v1-0c1.htm

Net Profit: 208.95, PF: 1.21

StrategyTester-USDJPY-FB v1-0c1.htm

Net Profit: -11.16, PF: 0.99

As a naive layman I might have presumed the forward test and the back test as + - equal and after summation of the 4 single backtest results I'd come near to the forward test result, provided I'd ignore risk of backtests summation which doesn't include risk with parallel drawdown and following Margin Call.

However, the result is so different that it makes me terrified with helpless feeling. I really don't know how to make it up if there is no way how to do it correctly....WHAT PURPOSE THE STRATEGY TESTER IS INDEED FOR?

I know it comes from a fact that the backtests show modeling quality of 25% despite of using quotes from online PC and according to my thought, thus tick.

QUESTION2

Is there any way how to pick up real results from Strategy Tester indeed, which are going to be with a little difference equal to results of identical forward test?

Either I cannot make it....?

Or I do not have a relevant data/quotes?

Or the Strategy Tester cannot make it..?

Because if not, I might really recognise the Tradestation as a better one. After all, such Strategy Tester is completely worthless, and it offers no possibility of developing any tuning strategy.

If it is done by purpose or by chance only I'd rather not to arbitrate!

Files:
reports.zip  1676 kb
 

Optimization

I wanted to start a discussion about trading system optimization, especially in MT4. Does anyone here trade a profitable system that requires optimization? If so, how often do you reoptimize, and what settings do you normally optimize?

 

Same issue here:

http://www.metaquotes.net/forum/2615/

But MT guys are claiming that Close[0] can be used:

http://www.metaquotes.net/forum/2541/

Kind of confusing.

 

optimization

aegis:
I wanted to start a discussion about trading system optimization, especially in MT4. Does anyone here trade a profitable system that requires optimization? If so, how often do you reoptimize, and what settings do you normally optimize?

I will optimized my system only when all indicators seems can't explain wrong price movement .....example ....before I take entry point ...I've to make sure all indicators confirmed ....but if price movement against me ...I will do trading optimization like find another additional indicator that can explain it or adjust indicator parameter .

===================

Forex Indicators Collection

 

I have always found that systems that needed to be optimized to be profitable never work very well on unseen data. Systems which work well on unseen data seem to need very little optimizing. Adding another degree of freedom in response to a failing system would seem suspect based on this experence, but I could be wrong! For an example of over optimzation, witness the performance of Firebird in the MQL trading competition, started out well but crapped out after a couple of weeks (but still came third!)

 

Hi,

This is a VAST topic, you can find many articles and books on this subject on the web. Some books are "downloadable", if you know what I mean. There are many approaches to backtesting and optimization, and everything interacts. You may or may not find this helpful, but this is my approach.. I cannot program MT, it's way beyond me, and from what I've seen it is not really designed as a system-testing platform. I do have MetaStock EOD (which has more backtesting features), and it's much easier. I will not trade ANY strategy unless I can backtest it, period. You may demo trade a system for months and do well, only to have it collapse later. My approach (many will disagree with it): I get as large a dataset as I can, say for futures, 20 years of daily data. Then I program the system in MetaStock and backtest. I keep optimization to a MINIMUM, I want the basic strategy to be robust on its own. If I do optimize, I want to see similar test results over the entire optimization range (robustness). Then I look at the equity curve, it tells the story. If the system produces a nice linear upcurve, I know I'm on to a robust sytem that performs over time. Then I dig deeper and look at average trade, drawdown, P/L ratios, etc. If the EQ curve is lousy, I discard the system or make mods. This is not a highly scientific or orthodox approach, but it culls out the losers and puts me in the right direction. Tradestation is probably the popular standard for backtesting / optimization, but it's pricey, it's a complex program, and "Easy Language" is not easy. You may want to get a copy of MS (it's a fast learning curve), and do your designing there. If you stick to stock indicators you can translate your system to MT4. Many of the MT4 EA's and indicators are a complete mystery to us non-programming types, but if you can grasp the principle behind them you can probably code them into MetaStock. My opinion - if I don't understand the formula behind an indicator, I won't use it. It's a "Black Box". I don't know what it's doing and it may not be coded correctly. I bought the genuine version of BrainTrading, but I don't use it - I can't backtest it. Dumb, huh? Hope this helps, best of luck.

 

This means close[0] is current Ask (or Bid), which unless you are using tick data should be avoided anyway because it's probably 'interpolated' data.

Reason: