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

 

请告知以下设计的大致情况。

1) 产生一个新的刻度线--一个条件得到满足,例如,在这个刻度线上将画出一个图案指示并产生一个警报

2)在满足上述条件后,必须停止进行上述动作的多次重复,直到时间段相等。

TimeCurrent() <= (time[index] + PeriodSeconds(PERIOD_CURRENT))

3) 一旦条形图变为下一个条形图,再次恢复该条件,直到上述的下一个时间段。

这样的设计是现实的吗?

 
clickaider:

请告知以下设计的大致情况。

1) 产生一个新的tick--条件得到满足,例如,在这个tick上将画出一个图案指示并产生一个警报

2)在满足上述条件后,必须停止进行上述动作的多次重复,直到时间段相等。

3) 一旦条形图变为下一个条形图,再次恢复该条件,直到上述的下一个时间段。

这样的设计是现实的吗?

你已经自己写了大部分的逻辑...

 
Artyom Trishkin:

你已经自己写了大部分的逻辑...

逻辑可能是正确的,但找到正确的功能是问题所在。你能不能告诉我应该应用哪些函数或示例结构来尝试解决这个问题,因为我在这里几乎被难住了。

 
clickaider:

逻辑可能是正确的,但找到正确的功能是问题所在。你能不能告诉我使用哪些函数或设计实例来尝试解决这个问题,因为我在这里几乎是束手无策。

  1. 产生一个新的刻度线--条件得到满足,例如,将在这个刻度线上画出图案指示,并产生一个警报。
    1. 我需要一个函数来获得一个条件并设置该条件的标志,以便与接下来的两个条款一起工作
    2. 需要一个函数来绘制一个图案
    3. 我需要一个发送警报的函数(不一定是函数--有只发送警报、只发送电子邮件和只发送推送的标准函数)。
  2. 在满足上述条件后,我们需要停止执行上述动作的多次重复,直到一段等于......的时间。
    1. 如果有一个标志,表明从第1 点开始的上述三个步骤已经完成,那么什么都不做--转到第3 点,否则转到第1 点。
  3. 一旦条形图变为下一个条形图,就重新启动条件,直到上述的下一个时间段。
    1. 我们需要一个函数来定义一个新酒吧。一旦定义了一个新的柱子,就转到第1 点,否则就转到第2 点。
 

请帮助。

我有一个枚举的列表。

enum ENUM_Target_NAME 
  {
   arr_Buy,
   arr_Sell,
   arr_Svod,
   arr_Regr,
   arr_200,
   arr_100,
   Target_25_iD,
   Target_50_iD,
  };
input ENUM_Target_NAME Target=ENUM_Target_NAME(5);

我需要数值变成一个字符串,也就是变成一个文本,这种方法不起作用

(string)Target

我只是从列表中收到一个变量值的数字,我需要文本--列表中的真实名称,例如,"arr_100"。

如何做到这一点?

 
Aleksey Vyazmikin:

请帮助。

我有一个枚举的列表。

我需要数值变成一个字符串,也就是变成一个文本,这种方法不起作用

我只是从列表中收到一个变量值的数字,我需要文本--列表中的真实名称,例如,"arr_100"。

如何做到这一点?

EnumToString()

 
Artyom Trishkin:

EnumToString()

谢谢你!

 
Nauris Zukas:

你能给我一个链接,说明这些<> 符号的含义吗?

这是一种模板方法。其中的参数类型将根据这些括号中传递的类型进行匹配。类型是在编译程序的阶段静态地确定的。你可以在 "函数和类模板 "中了解更多信息:https://www.mql5.com/ru/docs/basis/oop/templates。

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Nauris Zukas:

下午好!我制作了.mqh用于数据处理和资源 存储。一切正常,但有一个细微的差别,如果我编译指标,.mqh会被重置,并重新进行存储的权重处理。目标 - 只要资源中存在数据 ,就不会被重置。错误在哪里,如何解决?

资源被设计用来保存静态(永久)不可更改的数据。你的任务是下载一个带有数据的文件,并改变指标内存中的数据,将新的数据保存在文件中,所以在重新启动和重新编译指标后,你将下载新的数据。资源将无助于做到这一点。

 
Vasiliy Sokolov:

资源被设计用来保存静态(恒定)的不可改变的数据。对于你的任务,你需要加载一个带有数据的文件,在指标内存中改变这个数据,并在文件中保存新的数据重量,这样在重新加载和重新编译指标后,你可以加载新的数据。资源将无助于做到这一点。

我明白了,谢谢你!