// Пример обмена любыми данными (включая строковые массивы).#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) // Получили структуру
}
示范一个工作实例。
所以你可以使用union将所有类型(包括字符串)翻译成uint。
否则,这只是空话。
骑在别人的知识上?然后鼓起腮帮子说,这都是你自己做的?
你不能自己学习和做吗?
一切都被嚼碎了,给了你,展示给你。
我所强调的看起来就像--正如尼古拉真正所说的--一个幼儿园:"我不这么认为......,我爸爸会打你爸爸,我妈妈会打你妈妈......"。
所以,让我看看你的例子。如何通过union绕过字符串转换为uint,将其存储在资源中?
因此,如果对你来说,它将是 "只是文字"、"复杂的结构 "和 "速度将是差不多的",那么向你展示有什么用呢?你事先已经下定决心。你不想学新东西,但你有很大的气魄。
这是一个争论。
我提供了一个解决方案。每个人都在抨击它,但还没有展示他们的。比如,"去看看fxsaber代码,去读读帮助......"。
嗷嗷。伙计们))))。
这是一个争论。
我提供了一个解决方案。每个人都在抨击它,但还没有展示他们的。比如,"去看看fxsaber代码,去读读帮助......"。
嗷嗷。伙计们))))。
这不是一个争论。这是对你的直觉决定的剖析。
我不是在争论,你可以把一棵树种在一个倒置的盆子里,设计一个浇水的系统,一个储存雨水并把它洒到倒置的盆子里的系统,一个在倒置的盆子里固定土壤的系统,一个自下而上的照明系统,并声称这种直观的解决方案是最正确和最有效的,当人们告诉你看窗外,不要compostiruyut大脑 - 有 - 窗外 - 有活生生的例子如何更好,你,抽着烟斗的缎子枕头,广播的东西从 "抬起我的眼皮 - 看不到,告诉我,和这一切的空话 "领域。..对不起,看起来很好笑。
我要去买些爆米花。
主要问题仍未得到解答。
如何将一组不同类型的数据,绕过转换为字符串,通过union转换为uint,以存储在一个资源中?
亲爱的反对者。你对我的解决方案大加挞伐,特别提到了使用UNION将所有数据转化为UINT。
没有提供例子。到目前为止,一切都毫无根据。
因此,现在只剩下一个结论:根据程序员固有的偏见,我的解决方案受到了抨击。
如果解决方案得到论证,那么无疑是更好的。我立即承认了这一点。
这是一个争论。
我提供了一个解决方案。每个人都在抨击它,但还没有展示他们的。比如,"去看看fxsaber代码,去读读帮助......"。
嗷嗷。伙计们))))。
彼得,我已经告诉过你很多次了--你的方法的问题在于你的目标受众的极端狭窄性。你甚至没有一个 "利基 "产品,而只是一个 "槽"--那些在编程方面相当好的人,但更喜欢交易 "手"。
看看你--你的反对者主要是编码员,对他们来说,你的方法甚至很好理解,但非常不方便。这就是为什么他们想看到 "真正的成就"、"真正的产品"--他们不会使用你的方法,但他们对它作为一种选择感兴趣,所以他们想评估 "你的方法是否值得花费",你的方法带来的不便是否值得它潜在的利润。
而你需要其他人--真正的交易者,他们用自己的双手进行交易。同时,他们在编程方面也相当出色。他们能够编写一个简单的专家顾问,但发现很难理解如何与图形对象一起工作。 到目前为止,我还没有看到他们。这就是为什么你的发展没有成功,却不断受到批评的原因。不是正确的观众!
你说过 "我们需要教育他们 "这样的话--但是你肯定需要证明你在交易中的成就--至少要有一个净值持续增长的模拟账户,而这是通过这种非常 "手动 "的交易,使用你库中的视觉对象获得的。各种参数在EA方面被改变。它们的值必须被传递给引擎。
所有类型的参数。还有绳子。要传递的值是整数数组的。
问题。
彼得,我已经不止一次地告诉你--你的方法的问题是你的目标受众的极端狭隘性。你甚至没有一个 "利基 "产品,而只是一个 "槽"--那些擅长编程的人,但更喜欢 "动手 "交易。
看看你--你的反对者主要是编码员,对他们来说,你的方法甚至很好理解,但非常不方便。这就是为什么他们想看到 "真正的成就"、"真正的产品"--他们不会使用你的方法,但他们对它作为一种选择感兴趣,所以他们想评估 "你的方法是否值得麻烦",它可能带来的利润是否值得不便。
而你需要其他人--真正的交易者,他们用自己的双手进行交易。同时,他们在编程方面也相当出色。到目前为止,我还没有看到这些人。这就是为什么你的发展没有成功,却不断受到批评的原因。不是正确的观众!
有一个观众。只在其他网站。我见过一个网站,或者说是我的一个客户告诉我的,他们对我的一个专家的代码赞不绝口,这是我为一个客户写的,客户(不是给我这个讨论地址的人)把它贴在那里,要求免费添加新功能。人们对标准的做法感到震惊。在那里--在那所学校的听众中--彼得可以划破他的自我--他将在那里成为一个神。
如何通过union绕过字符串转换为uint来存储在一个资源中?
关于交易、自动交易系统和交易策略测试的论坛
图书馆:TradeTransactions
fxsaber, 2018.12.17 23:48
你可以通过资源部交易任何东西。
各种参数在EA方面被改变。它们的值必须被传递给引擎。
所有类型的参数。还有绳子。要传递的值是整数数组的。
问题。
用于EA、指标和脚本之间的数据交换的唯一的GlobalVariables和文件是
以上4点都是当地钓鱼的 "黑手"。以上4点都是使用了不打算用来交换任意数据的机制,更不用说数据阵列了。
п1.100%会导致接口线程的临时锁定(是的,对象和它们的 "描述 "也住在那里),并且在优化器中不起作用。对象描述是用于对对象进行人可读的描述。
p2.n2.在测试器和优化器中不起作用,用于通知事件。
P3.P4.资源(即使是命名的)是为了长期储存,而不是为了快速交换。对于测试器/优化器的可用性,我不能说什么 :-)我使用只读的资源
谈论歪门邪道的解决速度是没有意义的。
ps/顺便说一下,你可以使用文件,更准确地说是管道