Popov wrote:The ultimate purpose of FSB is to provide a reliable backtesting algorithm.
It is not possible MAs on D1 chart to make more than one crossover during a single D1 bar. And here is the contradiction: we may have several trades during a live trading session in a single day, but the backtester can produce maximum one trade (or no trades at all). If we think such behaviour is acceptable we admit that the all the FSB functions as backtesting, optimization, strategy analysis ... are pointless.
My assumption for the fx trading is that:
- if a strategy shows a bad backtesting result, it will fail on the market,
- if a strategy shows a good backtesting result and passes all robustness tests and analysis, it may win on the market.
Without a backtest we have no idea how a strategy will perform on the market and what we can expect.
1. The Ultimate purpose of FSB is to provide a reliable backtesting algorithm.
Strategy backtesting is an essential tool to see if your strategy works or not. Backtesting software simulates your strategy on historical data and provides a backtesting report, which allows you to conduct proper trading system analysis.
The effectiveness, accuracy and reliability of back testing rest on the data too (not just the algorithm). Back testing is only as good as the data source we use. That's why tick data is highly valued. It provides better accuracy.
Accuracy is of primal importance and thus strategy backtesting should be as realistic (using tick data and not bar value or previous bar value for EA's calculation or search of entry/exit point) as modern technology allows.
A good (trading) simulator is one that provides a good training ground as close as the real environment can be. Software that utlizes tick data recognised that the importance of letting you use the data as close as it is to your real trading environment. Using Bar values to do backtesting produce less desirable results. In addition, FSB's back testing results is further "distorted" by PBV function whereby instead of using the current tick data, it uses the previous bar value to do your back testing calculation and hence, producing a totally "foreign"/"fake" trading environment and that is far removed from the real trading environment that truly reflect how the price behave.
2. It is not possible MAs on D1 chart to make more than one crossover during a single D1 bar. And here is the contradiction: we may have several trades during a live trading session in a single day, but the backtester can produce maximum one trade (or no trades at all).
Yes, in real trading session, there can be many crossover within the bar, before it closes (and what's wrong with that, that's how the market behaves).
Which is acceptable? To accept how the real market behaves (with many possible cross over within a bar) or to force our EA to accept what FSB can "handle? (only bar values)?
Yes, it is not possible to make more than 1 crossover during a single D1 bar because FSB only consider bar value, if tick data is use, we could able to "see" these information of several cross over which truly reflect the market's volatility and price action/behaviours.
3. If we think such behaviour is acceptable we admit that the all the FSB functions as backtesting, optimization, strategy analysis ... are pointless
"such" behaviour (whereby there can be multiple crossing happened within a bar) is not only acceptable but actually happened in real trading world (as you, yourself has said and observed). It is not an issue whether it is acceptable, it is a issue of reality. This is how the market really behaves The failure to accept it and to deny the use of tick data, deprive us of developing robust EA to cope with real market behaviours. Hence, FSB failure to recognise such "acceptable" behaviour and instead choose to organise it's backtesting data with bar values and use previous bar values for it's back testing calculation indeed render the results pointless ("unreliable") and thus explain why "what we see (in FSB's back testing result) isn't what we get in real/demo results. It create a "false" trading environment for us to test and develop our EA that is far removed from reality.
How can we say FSB's back testing using PBV version is reliable? When it's uses bar value and previous bar values instead of tick data. Won't such method of backtesting calculation "distort" the accuracy and fail to truly reflect how the price behave in the real market?
4. My assumption for the fx trading is that:
- if a strategy shows a bad backtesting result, it will fail on the market,
- if a strategy shows a good backtesting result and passes all robustness tests and analysis, it may win on the market
It all depends on how the back testing is done. If back testing's calculation is done with bar values and using previous bar values instead of tick data. This method of backtesting doesn't provide an accurate reflection of how the market behaviour, how then can it produce reliable backtest results to form our basis of our decision whether a strategy is good or bad?
If you assumption is correct, then we would have seen more co-relationship and matching in performance between FSB's backtest results with EA's real performance in either live/demo account. However, the reality is we don't see such strong co-relationship between what FSB's backtesting results with live/demo results.
If someone generated 100 profitable EA via FSB and test all of them out in demo/live account and only 1 out of 100 EA is truly profitable. Do you call this back testing results reliable? Is there significant co-relationship between the backtest results and the demo/live results? (did you observe your assumption come true, if you have been hearing your users comments correctly, we are all experience the opposite of what you are assuming. In fact there are times when FSB backtest results showed me that my EA is not profitable (but I still went ahead to test it out because I have greater confidence in my trading theory than in FSB's back testing results) but in actual fact, my EA is profitable.
5. Without a backtest we have no idea how a strategy will perform on the market and what we can expect?
How do we know whether a strategy is profitable or not? As I've said, it all depends whether a trader has developed any sound trading theory to begin with. For those who has a sound trading theory, their EA will be profitable (even if FSB's back test showed opposite results).
I've mentioned there are 2 possible ways to develop profitable EA.
1) Find and develop a sound trading theory. My belief is "a sound trading theory will produce profitable EA. And I've demonstrated this statement with my trading results posted several times. I formulated these EA on my own without the need for a generator or optimizer.
2) Rely on accurate backtesting results. But make sure the back testing method of using data is reliable and reflect truly how the forex market behaves. As the saying goes, "backtesting is only as good as the data used". The use of PBV, "distort" the prices and use previous bar values for calculation instead of tick data...in my honest opinion and logical deduction, such method of "manipulation" of data and price values, not only caused FSB to calculate my EA "wrongly" in back testing but also execute "wrongly" in real/demo testing.
All is not lost. UPBV comes to the rescue. With UPBV, despite the fact that this is a "mismatch" in the method of execution (any time when market conditions are fulfilled i.e. UPBV and backtesting (bar values calculation) and hence Popov warned about "wrong" back testing results. UPBV posed 1 less problem than PBV. My EA is able to execute correctly as I wanted it to be via using actual and current price value for it's calculation.
The purpose of my feedback of FSB's limitation is to raise the need to re look at FSB's inner working and hopefully find ways to overcome the limitations and improve FSB's performance. I'm not here to be against FSB. In fact, I've been a strong supporter but I'm not a blind supporter. I want to be an honest and objective critic of the programme as possible in order to push FSB to a greater height and performance.
FSB's greatest and un-matched strength lies in the ease of use. It is super user friendly, without any steep learning curves. This is by far FSB's best asset. I tried to use other competitors product and I'm totally lost (cos I don't have prior training in any programming language). Why do I spend so much efforts in this forum, writing in and expressing my frustrations and helping other traders find success by providing trading tips?
It is because I feel that at the end of the day, FSB is still my best hope in helping me programme my EA without any need to learn programming knowledge. If I have not placed such high hope in FSB, I won't spend so much time and effort in wanting to push for better changes and highlight it's limitation in hope that Popov would look into it and fine tune and improve FSB to be the best forex tools available in the market. Likewise, if FSB isn't going to look into these issues I've raised and this channel of communication is close and lost, I would then have to seek other alternatives to enhance my EA performance and seek better backtesting tools to use. This is something I'm very reluctant to do...if given a choice, I would wish FSB is my one and best forex trading tools. When you see all my impressive trading results...this is not possible without FSB. And I owe this to Popov for his wonderful masterpiece. So can anyone still able to develop profitable EA via FSB. Of course. Just take a look at my trading results...it's a concrete proof. But I believe we can do better than that.
Ps: I know what I'm asking, sounds like requeating for an "engine overhaul" to the whole data system that impacts the back testing, Generator and optimiser functioning. But won't an engine overhaul usually end up with a better and more efficient system. It pushes FSB up a number of notches. And any Popov is forever seeking to improve FSB system. Which is costlier? The cost involved to overhaul the system or the cost of not changing it? Which offers greater benefits, overhaul or keep the existing system?
Even if there isn't any overhaul, the least is to provide user the option to use UPBV, I can still make profitable EA and the "wrong" back testing as what Popov said won't bother me, as I said I can live with it.