新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 862

 

说到立方体!

你能告诉我如何擦除一个不必要的 "立方体 "吗?

 
im-zvv:

说到立方体!

你能告诉我如何擦除一个不必要的 "立方体 "吗?

要做到这一点,你需要知道这个 "立方体 "在哪个位置,它占据了多少字节,在那里重写一个文件指针,并在那个地方写入一个新的值。

因此,如果字符串有不同的长度,这根本不现实。它将不可能计算出多少个字节到所需的 "立方体"。

 
Alexey Viktorov:

要做到这一点,你需要知道这个 "立方体 "在哪个位置,它占据多少字节,然后把文件指针包在那里,并把新值写在那个位置。

因此,如果字符串有不同的长度,我们就不能这样做。这将不可能计算出有多少字节是正确的 "立方体"。

很明显,所有这些计算都会增加处理时间。

我将寻找其他方法。

谢谢你。

 
Alexey Viktorov:

要做到这一点,你需要知道这个 "立方体 "在哪个位置,它占据多少字节,在那里重写一个文件指针,并在这个地方写一个新的值。

因此,如果字符串的长度不同,根本无法做到。这将不可能计算出多少个字节到所需的 "立方体"。

如果这并不重要,而且你可以使用WinApi,那么我认为可以通过FileMapping来解决这个任务。

 

我将尝试一切。我将首先创建一个 "空 "文件,并为其保留抽象变量。然后我就用我得到的数据来替换它。

也许会成功。唯一的问题是文件的大小。 它可能会变得更大。我将不得不在每次读取之前创建一个新的备份。

 
寻找关于在mql4中使用新运算符文章,你能提供这样的文章吗?谁能简单解释一下,如果有函数和全局变量,为什么需要类,我看了很多视频,看了很多帮助,还是不明白有什么用?
 
Seric29:
寻找关于在mql4中 使用新运算符文章,建议此类文章?我看了很多视频剪辑,也读了很多遍帮助文件,但我不明白有什么意义?

MQL中的new操作符只需要创建一个指向对象实例的指针。


MQL程序相当专业,OOP主要适用于封装,我在上面举了一个CWorkTime 类的例子https://www.mql5.com/ru/forum/160683/page861#comment_11840254

使用封装来制作多个时间限制对象的实例是很方便的,像这样。

int OnInit()
{
   Work1=new CWorkTime(StartHour_1,StartMinute_1,StopHour_1,StopMinute_1);
   Work2=new CWorkTime(StartHour_2,StartMinute_2,StopHour_2,StopMinute_2);
}

.....


void OnTick()
  {

if(Work1.Disable() || Work1.Disable())
{
 Comment("Не торговое время!!!");
 }
else
{......

也就是说,在我的例子中,你现在可以指定EA工作时间的2个区间

SZY: 阅读 - 搜索论坛文章 "对象 "部分。

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2019.05.26
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Igor Makanu:

很明显,在更大程度上,类组成了数据变量和函数,在剩下的程度上可能做了一些强大的事情,如果我理解正确的话,因为一切都可以由函数来组织,也许类比函数工作得更快,你可以更快地访问数据,我在论坛上看到写道,他们更均匀 和经济地使用内存等等。

 

为什么这段代码不起作用?

#property version   "1.00"
#property strict
string iComments="\n 
 class CArray : public Cobject 
{
public:
    double m_Array[100];
}//дальше в OnInit()
 {Carray *arr = new CArray;
   arr.m_Array[22] = 1.23456;

....
}

也许应该用冒号来描述这个类::? 我们的想法是创建一个指向另一个指针的指针。

 

你好!

再次感谢Alexey Viktorov 提供的关于报价的提示--一切顺利。本周一我们有一个情况--德国人有交易,而英国人有一天休息。事实证明,在欧元开仓 的条件下,使用了英镑的旧值。因此请求:建议如何在代码中设置检查这两个符号在这一天的交易?

谢谢你。

原因: