//+------------------------------------------------------------------+//| Пример: добавленный метод для расширения файла ..\Include\String\String.mqh//|--//| Получает из указанной строки подстроки по заданному разделителю //| и возвращает количество полученных объектов-подстрок//| НЕ РАБОТАЕТ !!!!!!!!!!//+------------------------------------------------------------------+int CString::Split(conststring separator, // разделитель
CString &result[] ) // массив строковых объектов
{
string tmp_result[];
if(StringLen(separator)==0) return(0);
ushort u_sep=StringGetCharacter(separator,0);
int count=StringSplit(m_string,u_sep,tmp_result);
// временно для проверки
result[0].Assign("Buy"); // НЕ РАБОТАЕТ !!!!!!Alert("ressult[0] = ",result[0].Str()); // <--- уже не отрабатывает// конец временно/*
for(int i=0;i<count;i++)
{
result[i].Assign(tmp_result[i]); // НЕ РАБОТАЕТ !!!!!
};
*/return(count);
}
//+------------------------------------------------------------------+
原则上,不应该有这样的情况--这个问题应该在编译器层面解决(如C++)。而在这种情况下,这是一种可能,这就是为什么讨论持续了几页的原因
肯定是一个错误...但它必须是!)))
我认为,常量表达式必须在编译时知道,静态表达式必须在描述序列中的应用程序初始化时知道。
和MQL中的这个方案,那里有一种常量控制,但我可以在运行时自己分配一个常量,我可以使用一个函数调用 作为初始化。
而这个 "常数 "可能是在本地能见度....在什么时候它成为一个恒定的表达,它是如何帮助....。我不知道,在没有手册的情况下,我不明白,没有对内存模型的描述--没有任何意义,好吧,最多就是按照应该的方式使用--在所有构造函数中用常数初始化,那么如果你将来不小心决定修改这个字段,编译器会帮助警告。
但这个方案在MQL中,对常量有某种控制,但我可以自己在随机模式下分配常量
你能用对C++基础知识 的基本无知来羞辱自己多少次?
这个例子一点也不令人困惑。
2020.04.23 21:40:04.474 tst (EURUSD,H1) a = 1.07892
2020.04.23 21:40:04.546 tst (EURUSD,H1) a = 1.07893
2020.04.23 21:40:04.585 tst (EURUSD,H1) a = 1.07893
2020.04.23 21:40:05.254 tst (EURUSD,H1) a = 1.07893
2020.04.23 21:40:05.305 tst (EURUSD,H1) a = 1.07893
2020.04.23 21:40:05.306 tst (EURUSD,H1) a = 1.07892
有两个程序同时在同一个文件上工作。写的时候使用标志FILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ。 读的时候 - FILE_READ|FILE_BIN|FILE_SHARE_WRITE|FILE_SHARE_READ。尽管第一个程序定期用FileFlush保存文件,但第二个程序只在文件被打开时看到文件的长度。试着来回做FileSeek - 没有帮助。
问题:如何使读取文件的程序捡起被改写的数据?
这似乎是一个错误,一段时间前在英语论坛上被报告过。我没有时间在这里报告。
开发人员不看英文论坛吗?
有两个程序同时在同一个文件上工作。写的那个使用FILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ 标志。 读取的是 - FILE_READ|FILE_BIN|FILE_SHARE_WRITE|FILE_SHARE_READ。尽管第一个程序定期用FileFlush保存文件,但第二个程序只在文件被打开时看到文件的长度。试着来回做FileSeek - 没有帮助。
问题:如何使读取文件的程序捡起要覆盖的数据?
这两个节目是在同一个终端还是在两个不同的终端?
通过引用传递的对象数组中的对象方法不起作用。
例子。
这两个程序是在同一个终端,还是在两个不同的终端?
在一个终端。专家写数据,指标读数据。挂在不同的图表上,但显然可能是在同一个图表上(如果这很重要的话)。建2380。
VS2019
x = 12345
a.a = 12345
嗯,一切都像在MQL5中一样工作。
好吧,我收回这句话,它不会在夏普中编译。
那么,你也有一个构造函数。当然,这取决于你,但结构是C实体,那里的模型是不同的--具有外部逻辑(功能)的被动实体。
不一定。为什么是C,C#怎么样?- 所有关于被动结构的讨论都是过时的概念,我认为至少每个类型都必须有一个构造函数。 未初始化的字段是一种邪恶,必须避免。
fxsaber
在你的案例中,你需要做一个工厂方法来创建一个结构数组,即类似这样的方法。
而那里已经有了之前建议的填充数组元素的方法之一。
我遇到了以下问题。该指标绘制的蜡烛
它被绘制在图表上。还有一个专家顾问可以读取指标的缓冲区
于是我登录并略过各阶段,发现该指标在绘制蜡烛时经常出现延迟。
这意味着,在几秒钟前(精确到几分钟),它已经计算并更新了缓冲区,专家顾问正在从中读取数据。
(猫头鹰和指标都写在日志里)。但我们在图表上看到的是老照片。例如,截图是在红色条形图突破前一个条形图的低点的时刻进行的。但在图表上,我们只看到之前的红色和不足的绿色(事实上它大了两格)。
而这里是真实的图片,是后来画的。我们看到了故障,它启动了截图的捕获。根据日志,一切都很清楚。
谁能告诉我这是什么问题,如何加快图表的刷新速度?我 从EA调用ChartRedraw 函数,但它仍然有几分钟的延迟。
两分钟有点多,我甚至无法想象其中的原因。计算没有那么多的宇宙,不至于慢到如此地步。