文章 "连接 NeuroSolutions 神经网络" - 页 2

 
Buter:
我的运行速度慢得可怕。
看看 dll-adapter 的代码,每次访问网络时都要读取并重新初始化网络!优化的空间很大。
 
jedy:
看看 dll-adapter 的代码,每次访问网络时都要读取并重新初始化网络!有很多优化空间

如果交易策略允许,可以通过终端和 MQL 进行一些优化。

例如,对于文章中描述的策略,是在每个刻度线或仅在一个条形图的开头调用网络并不重要。因为在这种情况下,只有当柱状图发生变化时,网络输入(以及价格预测)才会发生变化。

该策略可在测试器中以 "仅开盘价 "模式运行。您也可以直接在 Expert Advisor 中建立过滤器,这样只有当出现新的条形图 时才会使用网络。

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
ds2:

是的。如果交易策略允许,可以通过终端和 MQL 进行一些优化。

例如,文章中描述的策略,是在每个刻度线或仅在柱状图开始时调用网络并不重要。因为在这种情况下,主输入(以及价格预测)只会因柱状图的变化而改变。

测试仪可以作为 "仅开盘价 "的驱动策略。而且,您可以直接在 EA 中嵌入过滤器,使网络仅在出现新的条形图 时使用。

但为什么这么慢,我不能完成一个月的测试!任何想法。
 
NFTrader:
但为什么进展如此缓慢,以至于我无法完成一个月的测试?
现在试着想象一下,一个想法是否会很复杂。:)
 

感谢您的酷文!一切都描述得很好,也很容易理解。

但我有一个问题:用于 DDL 神经网络和 MT EA 通信的适配器文件能在 MetaTrader 4 上使用吗?

感谢作者!

阿列克谢

 
alexey_mosc:

感谢您的酷文!一切都描述得很好,也很容易理解。

但我有一个问题:用于 DDL 神经网络和 MT EA 通信的适配器文件能在 MetaTrader 4 上使用吗?

感谢作者!

谢谢。

对于 MT4,适配器可能需要简化一些:我认为,在 MT4 中,DLL 中的字符串不是以 unicode 格式传输的,而是以普通字符串传输的,因此您无需在 DLL 中对其重新编码。其他一切正常。

 
ds2:

谢谢。

对于 MT4,适配器可能应该简化一些:我认为,在 MT4 中,DLL 中的字符串不是以 unicode 传递的,而是以普通字符串传递的,因此您不需要在 DLL 内对它们重新编码。其他一切正常。

非常感谢您的回复!
 

您能告诉我问题出在哪里吗?

我无法创建 dll。它显示:.dll 创建失败。我只知道visual c++ 6的配置可能不正确。有谁在使用NeuroSolutions时遇到过这样的问题吗? 首先,我可以尝试更改哪些配置?Visual C++ 6应该安装在标准安装版本中吗?我的win7 64位系统已经获得授权,Visual C++ 6被安装为标准版,我试了一下,它启动了。

当进入自定义解决方案向导时,它会询问是将活动项目 还是将已保存的项目转换为 dll。

谢谢、

阿列克谢

 

alexeymosc:

无法创建 dll。显示:.dll 创建失败。我只知道visual c++ 6的配置可能不正确。有谁在使用NeuroSolutions时遇到过这样的问题吗?有谁在使用NeuroSolutions时遇到过这样的问题吗? 首先,我可以尝试更改哪些配置?Visual C++ 6是否应该安装在标准安装版本中?Visual C++ 6被安装为标准版,我试过了,可以启动。

我在 32 位 Win XP 上生成了 DLL。在那里一切正常,无需任何设置。

你也可以试试最新版本的 VC++。它们肯定更适合现代操作系统(如果这是问题所在)。

如果你了解 VC++,我建议你查看 build.bat 文件(它出现在 DLL 所在的文件夹中)。它包含了 "手动 "编译所需的一切,可以查看出现的所有错误并尝试各种设置。

顺便说一句,利用build.bat中的信息,你甚至可以尝试使用VC++ Express版本(NeuroSolutions官方并不支持这些版本)来手动编译DLL。

Alexeymosc

我选择了活动项目。它要求我先将其保存,我将其保存到了一个单独的文件夹中,然后尝试创建DLL,但失败了。

文章中显示,要为 DLL 创建一个单独的文件夹。我也在项目 文件夹中成功生成了 DLL。也就是说,你可以将其保存到任何文件夹。

 
ds2:

我在 Win XP 32 位系统上生成了 DLL。在那里一切正常,无需任何设置。

你也可以试试更新版的 VC++。它们肯定更适合现代操作系统(如果这是问题所在)。

如果你了解 VC++,我建议你查看 build.bat 文件(它出现在 DLL 所在的文件夹中)。它包含了 "手动 "编译所需的所有内容,并提供了查看所有错误并尝试设置的机会。

顺便提一下,利用build.bat文件中的信息,你甚至可以尝试使用VC++ Express版本(NeuroSolutions官方并不支持这些版本)来手动编译DLL。

文章显示,我们为DLL创建了一个单独的文件夹。我也成功地在项目文件夹中生成了DLL。也就是说,它可以放在任何文件夹中。

谢谢!

我将尝试使用更新版的 VC++(顺便说一下,当我安装第 6 版时,我看到了一个窗口,显示该版本与 vin 7 存在已知的兼容性问题)。

另外,我记得安装 VC 后没有重启电脑。也许,这就是原因。

我会变魔术的)

非常感谢你的帮助!总的来说,这篇文章的想法很酷。如果您想为不同的工具制作多个网络并定期更新(重新训练)它们,自动生成 dll 看起来比手动创建 dll 或在 MQL 中编写网络更有吸引力。