C++ ... whats next?

 

I've just finished my first C++ book "C++ Primer Plus" and still want to study C++ for jumping to the next level in EA programming in MQL 5.

Which book would you advise me to study next?

Which subject in C++ should I master now for excelling in EA programming?

 
Alp.Oguz:

I've just finished my first C++ book "C++ Primer Plus" and still want to study C++ for jumping to the next level in EA programming in MQL 5.

Which book would you advise me to study next?

Which subject in C++ should I master now for excelling in EA programming?

MQL5 Reference - How to use algorithmic/automated trading language for MetaTrader 5
MQL5 Reference - How to use algorithmic/automated trading language for MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) is a high-level language designed for developing technical indicators, trading robots and utility applications, which automate financial trading. MQL5 has been developed by MetaQuotes Software Corp. for their trading platform. The language syntax is very close to C++ enabling programmers to develop applications in...
 
Sergey Basov:


For now, I'm trying to improve my programming skills in the circle of C++ ... as I think that I can benefit it later when programming in MQL 5.

So, I don't mean MQL 5.

After an introductory book, which subject in C++ should I master more for being a better EA programmer?

 
Google is better place to search the subject in details.But as far as I know  C++ created by Prof. Bjarne Stroustrup https://www.amazon.com/C-Programming-Language-4th/dp/0321563840
 

C++ is very old.

Have a look at Python.

 
Alp.Oguz:

I've just finished my first C++ book "C++ Primer Plus" and still want to study C++ for jumping to the next level in EA programming in MQL 5.

Which book would you advise me to study next?

Which subject in C++ should I master now for excelling in EA programming?

I would suggest you search the CodeBase (see above) for various EAs and Indis and study them, start them change them and see what happens.

There are even single and series of articles (as well from above) like Graphical Interfaces or Cross Platform EAs with lots of described and commented code!

Good luck!

 

Thanks to all ...

 
Alp.Oguz:

I've just finished my first C++ book "C++ Primer Plus" and still want to study C++ for jumping to the next level in EA programming in MQL 5.

Which book would you advise me to study next?

Which subject in C++ should I master now for excelling in EA programming?

You can use C ++ inside MT4. My library ATcl (http://nektomk.ru/en:atcl:start) allows you to compile and use modules "on the fly" right during the execution of advisers.
Minimized demo with "С" included in distribution:
#include <ATcl\\ATcl.mqh>

const string c=
"static double sum(double x, double y) {"
"    return x+y;"
"}";

ATcl *tcl;
void OnStart()
{
   ATcl_OnInit();
   tcl=new ATcl;
   if (tcl!=NULL && tcl.Ready()) {
      bool ok=false;
      do {
         // use critcl package (compiler environment)
         if (tcl.Eval("package require critcl")!=TCL_OK) break;
         // pass some c/c++ to compiler
         if (tcl.Call(tcl.Obj("critcl::ccode"),tcl.Obj(c))!=TCL_OK) break;
         // make callable proc
         if (tcl.Eval("critcl::cproc mysum { double x double y } double { return sum(x,y);}")!=TCL_OK) break;
         // use it :-)
         double ret=tcl.DoubleCall(tcl.Obj("mysum"),tcl.Obj((double)5.0),tcl.Obj((double)7.1));
         PrintFormat("5.0+7.1=%f",ret);
         ret=tcl.DoubleEval("mysum 77.0 14.88");
         PrintFormat("77.0+14.88=%f",ret);
         ok=true;
      } while(0);
      if (!ok) {
         PrintFormat("Error : %s",tcl.StringResult());
      }
   }
   delete tcl;
   ATcl_OnDeinit();
}
This feuture uses Tcl Critcl package http://wiki.tcl.tk/2523 (also http://wiki.tcl.tk/8403)

ATcl
  • nektomk.ru
I am glad to present you the ATcl v1 beta library - Tcl interpreter bindings for MT4. Expand the capabilities of your MQL programs, use DBMS, supplement with network tools, integrate them with any programs using Tcl.
 
Maxim Kuznetsov:
You can use C ++ inside MT4. My library ATcl (http://nektomk.ru/en:atcl:start) allows you to compile and use modules "on the fly" right during the execution of advisers.
Minimized demo with "С" included in distribution:
This feuture uses Tcl Critcl package http://wiki.tcl.tk/2523 (also http://wiki.tcl.tk/8403)

Thanks Maxim,


As I don't have a formal computer programming education (... and as I'm now 45), I think that I will never be able to mix those things so much.

I selected C/C++ because it seems that they will be the key stones for my planned works for my retirement :) By mastering C/C++,

1. I think that I will be able to excel in coding EAs in MQL 5,

2. I think that I will be able to use C/C++ seamlessly with Matlab,

3. If needed, I will be able to move easily to GPU programming,

4. If really needed, I will be able to do some Windows tasks.


...

I decided to study concurrency in C++ after my introductory study mentioned in my original post and then later I think to study Open CL ... any gap here, any objection?

 
Alp.Oguz:

Thanks Maxim,


As I don't have a formal computer programming education (... and as I'm now 45), I think that I will never be able to mix those things so much.

I selected C/C++ because it seems that they will be the key stones for my planned works for my retirement :) By mastering C/C++,

1. I think that I will be able to excel in coding EAs in MQL 5,

2. I think that I will be able to use C/C++ seamlessly with Matlab,

3. If needed, I will be able to move easily to GPU programming,

4. If really needed, I will be able to do some Windows tasks.


...

I decided to study concurrency in C++ after my introductory study mentioned in my original post and then later I think to study Open CL ... any gap here, any objection?

Hello,

I would suggest go for C and not C++

 
C++ is very hot right now with Webassembly and EOS rolling out. Everything can be done in C++.

Reason: