OpenCL: sfide reali - pagina 3

 
TheXpert:

C'è una differenza significativa?

Se riuscite a ottimizzarlo, potreste non dover usare affatto OpenCL.

La differenza è questa...

È più conveniente usare MQL5, Illyaz ha già legato tutto, mentre in C++ devi legare tutto da solo.

Se volete ottimizzare, dovete prima determinare se avete bisogno di usare OpenCL.

 
TheXpert:

Progetto studio.

Il metodo più difficile è FeedPatterns.

L'ho scaricato, darò un'occhiata. :)
 
Urain:
... In C++ devi legare tutto da solo...

In c++ puoi usare amp - più simatico e pratico imho.

 
kazakov.v:

In c++ puoi usare amp - più semplice e pratico imho.

Perché no? Inoltre, è una base per la parallelizzazione soprattutto in Win8;7 ed è un componente integrale di Net 4.5. Inoltre, ho letto da qualche parte che questo è un add-on per OpenCL, è in qualche modo aggiunto al codice?
 
kazakov.v:

In c++ puoi usare amp - più semplice e pratico imho.

Alla fine, ho intenzione di trasferirlo su MQL.
 
TheXpert:
Ho intenzione di portarlo a MQL alla fine.

Poi riesegui il progetto in MQL5 (sarà più veloce sia per te che per l'autore). E controlla tutto quello che c'è sopra.

Per ora, mql4++ è infrangibile. E più tardi potremo passare da F a B (tra un mese).

Finché il progetto è piccolo.

 
Urain:

Poi riesegui il progetto in MQL5 (sarà più veloce sia per te che per l'autore). E usarlo per controllare tutto.

Non ho ancora tempo. Ho un altro bug nel principio di collegamento delle sinapsi... Ecco perché te lo dico dopo. Ma il codice pubblicato è abbastanza autosufficiente.
 
TheXpert:
Non c'è ancora tempo. C'è un altro bug nel principio di costruzione delle connessioni delle sinapsi da risolvere... Ecco perché te lo dico dopo. Ma il codice pubblicato è abbastanza autosufficiente.
Ok, nessun problema, lo faremo da soli.
 
Urain:
Ok, nessun problema, fallo da solo.

Fondamentalmente solo <vector> dovrebbe essere sovrascritto lì, è un analogo di ArrayObj dalla libreria standard.

Potete semplicemente riscrivere agli array, o implementare <vettore> una volta per tutte in MQL5 (il modo fondamentale, per così dire).

 
Urain:

Fondamentalmente, c'è solo <vettore> da riorganizzare, è un analogo di ArrayObj dalla libreria standard.

Potrei semplicemente passare agli array, o implementare <vettore> in MQL5 una volta per tutte (il modo fondamentale, per così dire).

Slava è lento con le classi parametrizzate, io sono già esausto da un anno.

In linea di principio, è possibile scriverlo in modo errato, così (fino a tempi migliori):

#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);
...........
... 
Tutto si compila e funziona.
Motivazione: