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

 
Sergey Likho:

谢谢你。

你能告诉 为什么 OBJ_EDIT 可能不显示在真实的图表上?

可能是对象的绑定设置不正确,它们已经超出了窗口的边缘。

你最好不要像mt4中那样指定绑定0,1,2,而是指定ENUM_BASE_CORNER

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 

请帮助我解决这个问题,这个代码在每一次打勾 时都有效,所以我需要最简单的解决方案。

问题:历史上有一堆平仓的头寸,我们需要从这堆头寸中提取利润大小,这是在最后一次平仓的时候,头寸可能从1到100(网格)。

通常情况下,它们不会在同一时间关闭,但打开和关闭的时间差不超过2分钟(mt4)。

如果你扩展一个循环或一个数组,一切都可以工作,但你不能扩展任何东西,你必须从少到多搜索

//+------------------------------------------------------------------+
#property strict

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  datetime tm=0;
  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
  
   for(int i=0; i<5; i++) {
    datetime date=pos[i];
    // ... ld = date;
    // Здесь много кода, и цикл/массив разворачивать нельзя
    // ...
    // 120 секунд разницы между закрытием первой и последней в сетке
    if((tm <= date && date <= tm+120) || tm==0) {
      tm = date;
      Print(i,"=",date); // Ожидаемый результат: 2018.04.04 12:08:59, 2018.04.04 12:08:43, 2018.04.04 12:08:43
    }

   }
    Print("");
    Sleep(10000);
  }
//+------------------------------------------------------------------+
 
Vitaly Muzichenko:

请帮助我解决这个问题,代码在每一个刻度 上运行,所以我需要最简单的解决方案。

为什么日期是文本?这是很没有成效的。

 
Vitaly Muzichenko:

请帮助我解决这个问题,代码在每一个刻度 上运行,所以需要最简单的解决方案。

  datetime pos[5]={D'2018.04.04 10:07:55',
                   D'2018.04.04 10:08:19',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:43',
                   D'2018.04.04 12:08:59'
                  };
 
Vladimir Karputov:

为什么日期是以文字的形式出现?这是很没有成效的。

这只是一个例子,在代码中,所有的东西通常都被组合成一个数组

P.S. 更新了之前的帖子

P.S. 问题已经解决了,我将扩大阵列并重做主代码的工作。

 

尊敬的论坛用户,请告诉我如何在不使用矩形标签(OBJ_RECTANGLE_LABEL)的情况下,在条与条之间画一个垂直段?不幸的是,我还没有找到这个问题的答案。如果有什么东西我没有在文档或论坛中读到,请指出在哪里。谢谢你。

 
MrVIS:

尊敬的论坛用户,请告诉我如何在不使用矩形标签(OBJ_RECTANGLE_LABEL)的情况下,在条与条之间画一个垂直段?不幸的是,我还没有找到这个问题的答案。如果有什么东西我没有在文档或论坛中读到,请指出在哪里。谢谢你。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_TREND
  • www.mql5.com
//| Создает линию тренда по заданным координатам                     |               time1=0,                            price1=0,                         time2=0,                            price2=0,                        width=1,            //| Перемещает точку привязки линии тренда                           | //
 
FelixFX:
我明白,你可以用文章和手势以及面部表情来学习任何东西,但以教科书为例,你要花一个月的时间来学习(没有实践),而其他方式要花六个月+实践。不是每个人都能把所有的空闲时间用于学习编程语言。

并非如此!而且恰恰相反。例如,我从过去判断:我有一个数学老师,在课堂上以这样的方式解释一切,我没有学到一个定理,但部长的测试写在15分钟内,为5;在八年级,我被转移到另一个老师和所有 - 整个班级立即哑了。教科书也是如此,如果我,或者像我这样的人写的,那么你的学习时间就会非常长。而你已经根据你的愿望被告知,一切都将落在他的身上,你将能够多快地吸收材料。然后,你将通过在作者中游荡来学习,你将有一些经验,你将能够看到谁和什么在隐瞒。如果他们教你操作叉子,而从不给你看勺子,你就会在很长一段时间内吃汤。而你宁可饿死也不愿意吃它。所以要去找地雷,而不要找工兵。

 
MrVIS:

尊敬的论坛用户,请告诉我如何在不使用矩形标签(OBJ_RECTANGLE_LABEL)的情况下,在条与条之间画一个垂直段?不幸的是,我还没有找到这个问题的答案。如果有什么东西我没有在文档或论坛中读到,请指出在哪里。谢谢你。

这很简单。

方案1:你画一条水平线,将显示器顺时针或逆时针旋转90°。

选项2。转动MT的位置,使图形从下往上绘制。

选择3。

想象力被打破了。

 
Alexey Viktorov:

就这么简单。

方案1:画一条水平线,将显示器顺时针或逆时针旋转90°。

选项2。旋转MT的位置,使图形从下往上绘制。

选项3. ...

想象力被打破了。

这里有一个提示:帆布