Can CUDA of GPU of NVIDIA be used for the backing test of MT4? - page 2

Marco vd Heijden
Moderator
13413
Marco vd Heijden  
Sergiy Podolyak:

Ok. I think and I am sure that the question on acceleration of backtesting and optimization will be a hot topic in coming years. Really profitable algos are very computing-power-hungry.

For example the famous and very profitable RenTec hedge-fund has the best in financial industry computer center, better than in best of banks.

Users of MQL4-5 are a kind of lucky in this aspect: MT4 is offering very friendly and transparent support for CUDA-DLL acceleration.

And MQL5 on MT5 is offering high-speed MQL5 compiler, ready-to-go cloud computing and ready-to-go OpenCL support, or again CUDA-DLL support.

And i think it is utterly useless, and the only thing that is reliable, are real tests on live markets.

Yes you mention hedge-fund and i totally agree on that one, but you would have to agree with me, that hedges can not be tested on mt4 or mt5,

This is one of the main reasons i find it to be useless.

[Deleted]  
Marco vd Heijden:

And i think it is utterly useless, and the only thing that is reliable, are real tests on live markets.

Yes you mention hedge-fund and i totally agree on that one, but you would have to agree with me, that hedges can not be tested on mt4 or mt5,

This is one of the main reasons i find it to be useless.

I think this statement is not 100% correct.

1). Nobody in the financial industry will run into position without extensive back tests.

-------------------------------------------------------------------------------------------------------

A Day in the Life of a Quantitative Developer

https://www.mql5.com/en/blogs/post/287

"5:00 PM Management Meeting - Management, quant development and quant trading all get together for a weekly meeting. We have a "traffic light" system for issue reporting (red, yellow and green for issue severity). This helps us identify longer-term issues that can be corrected.

The first half of the meeting is given over to discussing recent performance of the funds and whether it is in line with prior backtests. The funds are performing well this week and are in-line with expectations."

-------------------------------------------------------------------------------------------------------

2). In general terms in the investment world the hedge is "an investment position intended to offset potential losses/gains that may be incurred by a companion investment".

As to trading I prefer to call it pairs trading.

As I know MT5 is pretty compatible with pairs trading. It has a really multicurrency tester.

I think you mean new direct position management and accounting in MT5, compatible with modern accounting. It reduces the possibilities of tricking your broker, but there is no limitation to arbitrage two, three, four brokers by external software bridge.

There is no ideal trading terminal. Big banks hire teams of developers to write their own systems from scratch, having in hands only outdated FIX protocol, spending millions on their systems in addition to trading terminals. No terminal, especially costing $000.00, can substitute those big bank systems, running backtesting all night (called "cron jobs", read blog above).

But MT4 is one of the best as for backtesting with almost FREE quotes archive. As I know MT5 is good in multicurrency (pairs, portfolio) testing.

A Day in the Life of a Quantitative Developer
A Day in the Life of a Quantitative Developer
  • 2014.07.02
  • Sergey Golubev
  • www.mql5.com
A lot of you have emailed recently asking what it is actually like to work in a quant fund. I've written before about my experiences as a quant dev but I thought I'd outline a normal day so you can...
Marco vd Heijden
Moderator
13413
Marco vd Heijden  
Sergiy Podolyak:

I think this statement is not 100% correct.

1). Nobody in the financial industry will run into position without extensive back tests.

I do so all the time and i know i am far from the only one.

We do run tests, but not with MT4/5 Back tester because we realize it is like comparing day and night. 

Sergiy Podolyak:

 2). In general terms in the investment world the hedge is "an investment position intended to offset potential losses/gains that may be incurred by a companion investment".

As to trading I prefer to call it pairs trading.

As I know MT5 is pretty compatible with pairs trading. It has a really multicurrency tester.

 It's not it does not handle multi currency at the same time.

This is in fact the biggest disadvantage. 

[Deleted]  
Marco vd Heijden:

I do so all the time and i know i am far from the only one.

We do run tests, but not with MT4/5 Back tester because we realize it is like comparing day and night. 

 It's not it does not handle multi currency at the same time.

This is in fact the biggest disadvantage. 

I think You have been misled by somebody. The reality is much better:

https://www.mql5.com/en/articles/648

https://www.mql5.com/en/articles/392

https://www.mql5.com/en/articles/mt5/strategy_tester

https://www.mql5.com/en/articles/770

https://www.mql5.com/en/articles/234

MQL5 Cookbook: Multi-Currency Expert Advisor - Simple, Neat and Quick Approach
MQL5 Cookbook: Multi-Currency Expert Advisor - Simple, Neat and Quick Approach
  • 2013.06.18
  • Anatoli Kazharski
  • www.mql5.com
This article will describe an implementation of a simple approach suitable for a multi-currency Expert Advisor. This means that you will be able to set up the Expert Advisor for testing/trading under identical conditions but with different parameters for each symbol. As an example, we will create a pattern for two symbols but in such a way so as to be able to add additional symbols, if necessary, by making small changes to the code.
Marco vd Heijden
Moderator
13413
Marco vd Heijden  

Actually, the reality is worse.

i am not mis-informed, you are simply under-informed. 

Marco vd Heijden:

 It's not it does not handle multi currency at the same time.

 it still stands.

Alain Verleyen
41005
Alain Verleyen  
Marco vd Heijden:

Actually, the reality is worse.

i am not mis-informed, you are simply under-informed. 

 it still stands.

Sorry but I don't see what you mean. MT5 strategy tester is multi currencies, without any problem I am aware of.
Marco vd Heijden
Moderator
13413
Marco vd Heijden  

at the same time ?

so i can run a backtest on two currency pairs buying and selling in one ea at the same time ? 

Alain Verleyen
41005
Alain Verleyen  
Marco vd Heijden:

at the same time ?

so i can run a backtest on two currency pairs buying and selling in one ea at the same time ? 

It depends of what you mean by the same time. You can send an order for 1 symbol and some microseconds after an order for an other symbol. Exactly like on a live chart.
Agustinus Biotamalo Lumbantoruan
1216
Agustinus Biotamalo Lumbantoruan  
Sergiy Podolyak:

Not exactly, not 100% this way.

You don't need any custom DLL in MT5 in order to utilize OpenCL technology. MT5 makes it for You inside MT5. But what you have to do - in order to speedup backtesting - is to RE-WRITE the CORE of your algorithm, (convert it from MQL5 to OpenCL, this sub-program in OpenCL and CUDA world is called "kernel") and present it to MT5 by special MT5-API-OpenCL functions.

MT5 launches it for you, by direct communication with OpenCL driver.

Without re-writing parts of your MQL5 program into OpenCL-style "kernels" MT5 will be unable to accelerate backtesting.

And now the good news:

1). new upcoming versions of x64 (not x32) MQL5 compiler seems to be much faster in calculations (discussed with Renat in russian forum).

2). You can easily use "agents" of cloud computing in order to accelerate pure MQL5 programs' backtesting.


Could you please show us a simple method that allows opencl to access particular indicator or market OHLC?


Thank you