// Пример обмена любыми данными (включая строковые массивы).#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166#define PRINT(A) Print(#A + " = " + (string)(A));
voidOnStart()
{
// Произвольные данные для примераstring Str[] = {"123", "Hello World!"};
double Num = 5;
MqlTick Tick = {0};
Tick.bid = 1.23456;
const RESOURCEDATA<uint> Resource; // Ресурс для обмена данными
CONTAINER<uint> Container; // Создаем контейнер - все будет храниться в массиве простого типа (в примере выбран uint)// Заполняем контейнер разными данными
Container[0] = Str;
Container[1] = Num;
Container[2] = Tick;
// Распечатаем типы хранимых в контейнере данныхfor (int i = 0; i < Container.GetAmount(); i++)
PRINT(Container[i].GetType())
Resource = Container.Data; // Отправили данные на обмен
CONTAINER<uint> Container2; // Сюда будем получать данные
Resource.Get(Container2.Data); // Получили данные// Получим данные в исходном видеstring Str2[];
Container[0].Get(Str2); // Получили массивArrayPrint(Str2);
PRINT(Container[1].Get<double>()) // Получили число
PRINT(Container[2].Get<MqlTick>().bid) // Получили структуру
}
这些服务需要能够与任何图形上的任何程序进行沟通。共享的程序内存。
现在有一些资源,你可以通过它们来交换数据
亟需交换字符串类型的 数据。一个普遍的类型。用于任何目的。
所有程序都有一个共同的字符串数组--是快速交换任何信息的理想解决方案,无需OnChartEvent()或磁盘加载。都是异步的。用一个程序写,用另一个程序读。
交流机制早就该建立了。
有全局变量 用于交换字符串值。
项目对用户不是很友好,没有办法将所有的东西分类到文件夹里。而且没有办法同时为两个平台开发代码。
当然,也许我有不明白的地方。例如,我通过项目来发展一切。在MQL4/5之间交换代码就更方便了。不言而喻,我最初试图同时为两个平台开发所有东西。顺便说一下,我可以很容易地在MQL5中为4编译,尽管有时可能会引起故障。因此,无论如何,最好还是要把它们编译出来。
P.S. 这个项目是开放的,你可以连接并看看。我们会考虑交换机制,现在是时候了。
有全局变量 来交换字符串值。
虽然@fxsaber 有一个解决方案,但它并不明显,你不会马上发现它。
虽然有@fxsaber 提供的解决方案,但并不明显,也没有立即找到。
关于交易、自动交易系统和策略测试的论坛
图书馆:TradeTransactions
fxsaber, 2018.12.17 23:48
你可以通过资源部交易任何东西。
服务中既没有OnTimer也没有OnTick。只有OnStart。
这是一种特殊类型的程序,用于后台循环进程(数据输入、分析、外部链接等),而不是专家的替代品。
1963年的测试版已经出来,你可以通过菜单升级。
你是这里的尤达大师,))我想知道第一手资料,什么是OnStart, 这个野兽和同样的OnTick 之间有什么区别?
服务中不会有OnTimer或OnTick。只有OnStart。
这是一种特殊类型的软件,用于后台循环过程(数据输入、分析、外部链接等),而不是专家的替代品。
1963年的测试版已经出来了,你可以通过菜单更新。
那么,除了不需要为服务和脚本制定单独的时间表外,服务和脚本之间有什么区别?
服务中不会有OnTimer或OnTick。只有OnStart。
这是一种特殊类型的程序,用于后台循环进程(数据馈送、分析、外部链接等)。
在使用数据源时没有事件模型,看起来像是某种拐杖。
作为这种拐杖的一个例子,我们可以考虑目前公式符号的实现,它不是基于事件模型,而是基于定时器(循环)。因此,出现了跳票的情况。
早些时候,我们提到了服务中的多符号OnTick。为什么他们放弃并砍掉了像这样的好主意?