OpenCL:真正的挑战 - 页 3

 
TheXpert:

有显著的区别吗?

如果你能优化它,你可能根本不需要使用OpenCL。

区别在于此...

使用MQL5更方便,Illyaz已经绑好了一切,而在C++中你必须自己绑好一切。

如果你想优化,你首先要确定是否需要使用OpenCL。

 
TheXpert:

工作室项目。

最难的方法是FeedPatterns。

我下载了,我看看。:)
 
Urain:
...在C++中,你必须自己绑定所有的东西...

在c++中,你可以使用amp - 更加模拟和方便,我认为。

 
kazakov.v:

在C++中,你可以使用Amp - 更加简单和方便,我认为。

为什么不呢?此外,它是并行化的基础,特别是在Win8;7中,它是Net 4.5的一个组成部分。另外,我在某处读到这是OpenCL的一个插件,它是否以某种方式添加到代码中?
 
kazakov.v:

在c++中,你可以使用amp--更简单,更方便,我认为。

最终,我打算将其转移到MQL。
 
TheXpert:
我最终会把它移植到MQL。

然后在MQL5中重新运行该项目(这对你和作者来说都会更快)。并检查上面的一切。

你可以用它来测试F5的一切,因为mql4++仍然是不稳定的。而以后我们就可以从F级转到B级(一个月后)。

只要项目不大,就可以。

 
Urain:

然后在MQL5中重新运行该项目(这对你和作者来说都会更快)。并用它来检查一切。

我还没有时间。我在突触的链接原理中还有一个错误...这就是为什么我后来告诉你。但发布的代码是相当自足的。
 
TheXpert:
目前还没有时间。在建立突触连接的原则中,还有一个错误需要修复...这就是为什么我后来告诉你。但发布的代码是相当自足的。
好的,没问题,你可以自己做。
 
Urain:
好的,没问题,自己做吧。

基本上只有<vector>应该被覆盖在那里,它是标准库中ArrayObj的一个类似物。

你可以直接重写成数组,或者在MQL5中一劳永逸地实现<vector>(可以说是最基本的方法)。

 
Urain:

基本上,只有<vector>需要重新排列,它是标准库中ArrayObj的类似物。

我可以改用数组,或者在MQL5中一劳永逸地实现<vector>(基本方法,可以这么说)。

斯拉瓦对参数化的类很迟钝。 我一年来已经很累了。

原则上,有可能写错,像这样(直到更好的时代)。

#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);
...........
... 
这一切都可以编译和工作。