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

 
Seric29:

你能告诉我如何在不创建变量的情况下扩展一个循环吗?

解除包装,也就是倒着做--不要从零开始,而是从ArrayRange 开始。

并减少计数器

for(int i=ArrayRange(arr2,0)-1; i>=0; i--)
 

我在哪里可以找到关于创建交易板的信息,并有例子等?

帮助编写这样一个面板的代码。

***
 
Oligarhi2016:

我在哪里可以找到关于创建交易板的信息,并有例子等?

帮助编写这样一个面板的代码。

***

使用信息编辑功能。

使用信息编辑器 命令来格式化文本和插入图像/代码/表格。

 
Vladimir Karputov:

使用信息编辑功能。

使用信息编辑器 命令来格式化文本和插入图像/代码/表格。

其中 "form "是面板本身的名称,text_field_1到text_field_10是显示不同数据的地方(某段时间的平均价格,最高价,最低价,SL,TP等),这些数据将根据市场情况定期变化。

为了更好地理解我所说的内容,请保留这些名字。

为面板名称(表格):imya_paneli

文本字段中显示的数据名称:Teckstovoe_pole_1至Teckstovoe_pole_10

文本字段的名称(保持原样(EURUSD, GPBUSD, SL, TP, M1, M2, M3, M4, M5, M6))。

也许还有最重要的一点:表格不应该是透明的,也就是说,在将显示表格的地方,不应该显示表格本身内部的蜡烛。


PS抱歉,我不得不附上一张图片,因为我不能用信息编辑器的功能把它插入信息中。

我尝试了所有的变体、BB代码和HTML变体,我一定是做错了什么。在信息编辑器的功能面板中,没有显示一个以某种方式插入图像的按钮。我附上了一张截图,以备不时之需

附加的文件:
 
调试在MQL4中是否有效,我已经厌倦了把打印功能 放在每第二行,如果是的话,我在哪里可以找到如何使用它?
 
前缀增量++i比后缀++快,据说差距高达10%,这是真的吗?
 
有一个当前日期(15.04.2019)和一个手动输入的日期,例如:26.04.2019....。我如何计算出有休息日的天数来凑足10天?
 
ponochka:
有一个当前日期(15.04.2019)和一个手动输入的日期,例如:26.04.2019....。如何计算带周末的天数以获得10天?
int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период PERIOD_D1
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );

检查它是否能在未来的时间里工作。否则只能通过检查一周中的一天,并在没有休息日的情况下加起来。

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными...
 
Seric29:
前缀增量++i的工作速度比后缀++传闻中的10%的差别,这是真的吗?

自己检查一下,这里有一个很好的例子https://www.mql5.com/ru/forum/287618/page15#comment_9810652

如果你需要更多的计算性能--肯定是MQL5,只有纯C++才能击败它。


塞里奇29
调试在MQL4中是否有效,我已经厌倦了每隔一行就塞进打印函数,如果是的话,在哪里可以看到如何使用它?

https://www.metatrader5.com/ru/metaeditor/help/development/debug

在MT4上也是如此,但似乎在历史上的调试不起作用,但对于正常的任务--断点和查看变量,在MT4上都能顺利进行。

Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
  • 2018.12.07
  • www.mql5.com
Думаю не у одного меня была редкая ситуация когда нужно было получить количество десятичных знаков после запятой, а функция Digits() работает тольк...
 

我翻阅了Include文件夹,找不到ArrayResize()或ArrayCopy() 等函数是如何安排的。因为我很清楚,它们在那里被默认使用,这里有一个代码的例子

//+------------------------------------------------------------------+
//| Resizing (with removal of elements on the right)                 |
//+------------------------------------------------------------------+
bool CArrayDouble::Resize(const int size)
  {
   int new_size;
//--- check
   if(size<0)
      return(false);
//--- resize array
   new_size=m_step_resize*(1+size/m_step_resize);
   if(m_data_max!=new_size)
     {
      if((m_data_max=ArrayResize(m_data,new_size))==-1)
        {
         m_data_max=ArraySize(m_data);
         return(false);
        }
     }
   if(m_data_total>size)
      m_data_total=size;
//--- result
   return(m_data_max==new_size);
  }

取自ArrayDouble.mqh文件,没有对这些函数的访问,甚至反过来说,它们也被用于其他函数或机制的设计中。我看了其他文件,不明白如何获取ArrayResize()ArrayCopy()函数 的内部代码,谁知道如何查看这些函数的内部代码?

原因: