文章 "使用WinInet.dll通过网络在终端间进行数据交互"

 

新文章 使用WinInet.dll通过网络在终端间进行数据交互已发布:

本文描述了通过HTTP请求来操作网络,以及使用一个中间服务器进行终端间数据交互的方法。引入一个MqlNet类库,在MQL5环境中操作因特网上的资源。监视不同经纪商的报价,在终端内和其他交易者进行信息交流,在互联网上查找信息——这些是本文将介绍的一些例子。

作者:o_O

 

功能强大!非常有用的文章。初学者很难在互联网上搜索到所有这些信息。在这里,所有信息都汇集在一篇文章中。

总的来说,使用互联网是最有趣的话题之一。为该终端创建一个全自动网站(但最好是几个网站或几个网站的标题)。在网站上显示当前市场情况。在网站上显示市场分析和交易信号。"拦截 "其他终端的交易信号。向感兴趣的用户发送信号和信息。将 "感兴趣 "的用户添加/删除到列表(数据库)中,以便终端服务为其提供进一步服务。收集和分析来自其他网站的信息,创建和发布报告......

对于初学者来说,掌握大量使用该技术的各种简单示例也很重要。

 
Rinng писал(а) :

其他终端 "拦截 "交易信号。

您是指从网站上获取信号并在终端上执行吗?

向感兴趣的用户发送信号和信息。在列表(数据库)中添加/删除 "感兴趣 "的用户,以便终端服务为其提供进一步服务。

这里有两种选择--要么做一个普通的交易复制器,只与中间服务器交换信息。
或者在服务器上计算一个隐藏函数,并将该函数的结果提供给用户,供其专家做出决定。

 
sergeev:

您说的拦截是什么意思? 您是指从网站获取信号并在终端执行吗?

这里有两种选择--要么做一个普通的交易复制器,但只与中间服务器交换信息。
或者在服务器上计算一个隐藏函数,用户接收该函数的结果,以便他的 Expert Advisor 做出决定。

1) "拦截"--准确接收来自中间服务器(网站)的信号,并在用户终端执行。

2) 根据用户数据库,通过个人访问访问服务器信息(市场信号、个人信息、市场分析)。通过主终端和/或服务器脚本(例如:通过 Webmoney 支付信息访问费用的脚本)管理用户数据库。

 

Rinng:

2) 根据用户数据库,通过个人权限访问服务器信息(市场信号、个人信息、市场分析)。通过终端和/或服务器脚本(例如,通过 Webmani 获取信息的支付脚本)管理用户数据库。

如果您在终端接收有关 "某物 "状态的信息,我认为这是一个有趣的问题。

正如您所写的--来自用户所连接的服务的信息....。因此,这是一种针对某些服务的个性化开发。

如果您有可以安装在任何源服务器上的通用协议的变体或想法,并且可以很容易地连接到终端,我们可以讨论一下。 我个人对终端连接的全球化话题很感兴趣。

 

我有兴趣在多个网站上发布智能交易系统的信息,并通过密码从其他终端私下访问已发布的信息。此外,还可以通过 EA 进行用户数据库管理。

至于终端之间 链接 全球化,我认为没有 "远程 "服务器是不行的。总的来说,应该是这样的:

主终端的任务包括准备所有必要信息和管理远程服务器。

远程服务器的任务包括识别从属终端、管理用户数据库(从属终端)、接收并向终端发送必要的信息、设计并发布网站。

从属终端的任务是接收和处理针对它的信息,并向服务器发送响应。

简单来说,服务器可以使用 PHP 5.0。

数据交换可以通过 FTP 协议进行,即交换文件。

一般来说,应该有三个程序:服务器、终端管理服务器、终端客户端。

 

对于这个电路,我采用了两种方法。

1.主站是启动器。
在这种情况下,它将所需信息放在服务器上,从站只是从那里获取信息并按照算法进行处理。这与通常的信息处理并无不同,只是信息源是我们控制下的主站。

应用:交易复印机,以及不需要主站对从站状态做出反应的系统。

2.从终端启动器。
在这种情况下,主站只充当比主站知道更多信息的远程机器。例如,它包含从属设备要求的通过信号或隐藏计算公式进入市场的条件。
应用:计算指标。获取交易信号。

在这种情况下,服务器的功能实际上只是区分访问权限,即检查从属设备是否有权接受或拒绝某项请求(顺便说一下,主设备也是如此)。终端数据库可以存储在 MySQL 或普通的 csv 文件中。

所有操作都是通过请求(POST/GET)实现的,因为在这种情况下,FTP 会给服务器带来困难。

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Metaarbitrage.mq5 无法运行。它会写入日志:

如何修复?

sergeev:

一切都通过请求(POST / GET)实现,因为 FTP 在这种情况下会给服务器部分带来困难。

同意。我建议捆绑使用 php 和 MySql。有了 MySql,组织评级系统、存储数据、进行选择就会变得很容易。

 
Graff:

Metaarbitrage.mq5 无法运行。日志中显示

如何修复?

刚检查过 - 在我的测试中,错误发生在HttpOpenRequestW 函数上,"kernel32.dll"中读取到 0x003F0070 的一行存在访问违规。

在我看来,文章发表 后,DLL 调用发生了一些变化。

同意。我建议捆绑使用 php 和 MySql。有了 MySql,组织评级系统、存储数据和进行选择就会变得很容易。

当然。MySql 总比仅仅维护文件要好。
 
sergeev:

刚检查了一下,在我的测试中,错误发生在HttpOpenRequestW 函数上,读取到"kernel32.dll"中 0x003F0070 的一行存在访问违规。

在我看来,文章发表后,DLL 调用发生了一些变化。

当然。MySql 总比仅仅维护文件要好。

错误代码是不同的。

准备在业余时间帮助进行服务器端开发和 pcp 脚本。

 
Graff:

错误数字不同。

把它发给了 servicedesk。让他们也检查一下,我认为错误更严重,或者真的有什么地方发生了变化。

我愿意在业余时间帮助开发服务器端和 pcp 脚本。

您的想法是什么,或者说,输出结果应该是什么?
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.