OpenCL: Echte Herausforderungen - Seite 3

 
TheXpert:

Gibt es einen signifikanten Unterschied?

Wenn Sie es optimieren können, müssen Sie OpenCL vielleicht gar nicht verwenden.

Der Unterschied ist folgender...

Es ist bequemer, MQL5 zu verwenden, Illyaz hat bereits alles gebunden, während man in C++ alles selbst binden muss.

Wenn Sie optimieren wollen, müssen Sie zunächst feststellen, ob Sie OpenCL verwenden müssen.

 
TheXpert:

Studio-Projekt.

Die schwierigste Methode ist FeedPatterns.

Ich habe es heruntergeladen. Ich werde es mir ansehen. :)
 
Urain:
... In C++ müssen Sie alles selbst binden...

In C++ können Sie amp verwenden - imho einfacher und praktischer.

 
kazakov.v:

In C++ können Sie amp verwenden - das ist imho einfacher und praktischer.

Warum nicht? Außerdem ist es eine Grundlage für die Parallelisierung insbesondere in Win8;7 und es ist ein integraler Bestandteil von Net 4.5. Außerdem habe ich irgendwo gelesen, dass dies ein Add-on für OpenCL ist, ist es irgendwie in den Code hinzugefügt?
 
kazakov.v:

In C++ können Sie amp verwenden - das ist imho einfacher und praktischer.

Letztendlich werde ich es auf MQL übertragen.
 
TheXpert:
Ich werde es irgendwann auf MQL portieren.

Führen Sie dann das Projekt erneut in MQL5 aus (das ist für Sie und den Autor schneller). Und überprüfen Sie alles, was darauf steht.

Sie können es benutzen, um alles bei F5 zu testen, da mql4++ noch nicht zuverlässig ist. Und später (in einem Monat) werden wir von F auf B umsteigen können.

Solange es sich um ein kleines Projekt handelt.

 
Urain:

Führen Sie dann das Projekt erneut in MQL5 aus (das ist für Sie und den Autor schneller). Damit können Sie alles überprüfen.

Ich habe noch keine Zeit. Ich habe einen weiteren Fehler im Prinzip der Verknüpfung von Synapsen... Deshalb erzähle ich es Ihnen später. Der eingestellte Code ist jedoch recht autark.
 
TheXpert:
Es gibt noch keine Zeit. Es gibt einen weiteren Fehler im Prinzip des Aufbaus von Synapsenverbindungen zu beheben... Deshalb erzähle ich es Ihnen später. Der eingestellte Code ist jedoch recht autark.
Ok, kein Problem, das können Sie selbst machen.
 
Urain:
Ok, kein Problem, machen Sie es selbst.

Im Grunde sollte dort nur <vector> überschrieben werden, es ist ein Analogon zu ArrayObj aus der Standardbibliothek.

Sie können einfach in Arrays umschreiben oder <Vektor> ein für alle Mal in MQL5 implementieren (sozusagen der grundlegende Weg).

 
Urain:

Im Grunde gibt es nur <Vektor> zum Umordnen, es ist ein Analogon von ArrayObj aus der Standardbibliothek.

Ich könnte einfach zu Arrays wechseln oder <Vektor> in MQL5 ein für alle Mal implementieren (sozusagen der grundlegende Weg).

Slava ist langsam mit parametrisierten Klassen. Ich bin schon seit einem Jahr erschöpft.

Im Prinzip ist es möglich, ihn falsch zu schreiben, etwa so (bis zu besseren Zeiten):

#define  FF_STD(FFClassName, FFEnumName)                                           \
   class FFClassName:Ccl_FF_Functor                                               \
     {                                                                            \  // Примерно в таком стиле
     public:                                                                      \
       virtual bool CalcFF(const Ccl_Flex2dArray &Test_Res_,double &FF_[],int i_) \
          { FF_[i_]=Test_Res_.Get(i_,FFEnumName); return true; }                  \
     }
//+------------------------------------------------------------------)
//|   Реализации стандартных фитнес-функторов                       (   Дальше алгоритм использования этой хрени:
//+------------------------------------------------------------------)

// возвращает общий профит с учётом спреда (в спредах)
FF_STD(CFF_ProfitTotal_s, FF_ProfitTotal_s);

// возвращает мат-ожидание профита с условной единичной сделки с учётом спреда (в спредах)
FF_STD(CFF_ProfitPerLot_s, FF_ProfitPerLot_s);

// возвращает полный проторгованный объём сделок ((куплено+продано)/2) за тестируемый период 
FF_STD(CFF_VolumeTotal, FF_VolumeTotal);
...........
... 
Alles wird kompiliert und funktioniert.
Grund der Beschwerde: