初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1417

 

在这里,我有一个乱七八糟的东西......我想隐藏一些关卡,让其他关卡具有某种样式(如图)。

因此,调试样式中的零层发生了变化,但只要隐藏第一层,它就会变回黄色。调试时也是如此。带有值的铭文只有正确的颜色。这个斐波那契....,真麻烦。

   int total_levels=(int)ObjectGetInteger(ChartID(),name,OBJPROP_LEVELS);
   for(int i=0;i<total_levels;i++)
     {
      if(i==0 || i==4 || i==5)
        {
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELCOLOR,i,FiboClr);
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELWIDTH,i,FiboWidth);
         ObjectSetInteger(ChartID(),name,OBJPROP_LEVELSTYLE,i,FiboStyle);
        }
      else
        {
         ObjectSetDouble(ChartID(),name,OBJPROP_LEVELVALUE,i,0);
         ObjectSetString(ChartID(),name,OBJPROP_LEVELTEXT,i,"");
        }
     }
 

大家下午好。

请告诉我如何解决问题

有一个处理仓位和订单并与数据库进行核对的类。

我们需要从这个类中传递 STRUCTURES(字符串、double、int、字符串 .....)。

如何做到这一点?

如果可能,请提供示例链接

 
Sergey Li #:

大家下午好

请告诉我如何解决问题

有一个处理仓位和订单并与数据库核对的类

有必要从该类中传递 STRUCTURES(字符串、double、int、字符串 .....)。

如何做到这一点

如果可能,请提供示例链接

标准库中有一些示例。

Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / Result
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade / Result
  • www.mql5.com
Result(MqlTradeResult&) - CTrade - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
在发送订单之前,我们需要检查某个符号的最后一个仓位是何时打开的,在历史记录中查找更快,还是在终端的全局变量 中查找更快?
 
lynxntech 全局 终端变量中查找更快?

不会比在变量中快。只有一个更正:您可以在重启终端时使用终端的全局变量来保存它,并在 OnInit() 中查看历史记录。但在进入 OnTick() 时,这个值必须在全局级别变量中,而不是在终端的全局变量中。

 
Alexey Viktorov #:

它不可能比在变量中更快。只有一点需要更正:重启终端时,可以使用终端的全局变量来保存,并在 OnInit() 中挖掘历史记录。但在进入 OnTick() 时,该值必须在全局级变量中,而不是在终端的全局变量中。

终端的全局变量是否如此缓慢,因为它应该与普通变量一样存储在相同的内存中,必要时向磁盘请求的信息量并不大。

 
lynxntech #:

全局变量的速度如此之慢,是因为它应该和普通变量一样存储在相同的内存中,需要时从磁盘上请求的信息量并不大。

粗略地说,全局终端变量几乎就是一个文件。否则,电脑关机后,它被存储在哪里呢?而从程序中的任何地方都能访问的全局级变量就是内存中的变量。当然,它的速度更快。

事实证明,在电脑重新启动时,最好同时向全局变量和终端的全局变量写入信息,以便在终端重启后恢复。但在终端运行时,应检查全局级变量。

 
Alexey Viktorov #:

粗略地说,全局终端变量就像一个文件。否则,当计算机关闭时,它被存储在哪里呢?而在程序的任何地方都可以访问的全局变量,就是内存中的变量。当然,它的速度更快。

事实证明,在电脑重新启动时,最好同时向全局变量和终端的全局变量写入信息,以便在终端重启后恢复。但在终端运行时,应检查全局级变量。

即在 OnDeinit 中检查历史记录,并将其写入全局终端变量?

理想情况下,文本形式的信息只有几个字节,难道不是像通常的变量一样包含在可用性中,即 RAM 中吗?

在 OnInit 中,我们读取这些信息并将其写入 RAM,然后在更新变量时将其覆盖。

有没有人实际测量过这个问题? 或者开发人员可以帮我们解决这个问题。

 
lynxntech #:

例如,在 OnDeinit 中检查历史记录并写入全局终端?

理想情况下,文本形式的信息只有几个字节,这些信息是否像普通变量一样包含在可用性中,即 RAM 中?

在 OnInit 中,我们读取信息并将其写入 RAM,然后在更新变量时将其覆盖。

有没有人实际测量过这个问题? 或者开发人员可以帮我们解决这个问题。

谁说要在 OnDeinit() 中提取历史记录?

我说的是有必要在下一个打开位置 将变量复制到终端变量中......

 
Alexey Viktorov #:

谁说过要在 OnDeinit() 中选择历史记录?

我说的是有必要在下一个打开位置 将变量复制到终端变量中......

这些都是可以做到的,问题是要问那些测量实际工作的人,最好是问开发人员,他们知道自己的计划是什么。

我不想做实验,还有很多其他工作要做。