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

 
ANDREY:

请告诉我,如果在分钟图上进行测试,如何在黄色变量中保存一个5位数的蓝色值?

谢谢你

卢等于什么?

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030||Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030||Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

这个表达式只返回 "真 "或 "假"。

 
MakarFX:

Lou等于什么?

这个表达式只返回 "真 "或 "假"。

而在打开一个订单后,我们如何知道3个if表达式中哪一个是真的?
谢谢你

 
ANDREY:

打开一个订单后,我怎么知道if中的3个表达式哪一个是真的?
谢谢

在这种解释中,你不能......你必须分裂。

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)

我看不出有什么意义...
 
MakarFX:

不符合这种解释......我们必须分裂

我不明白这一点...

我有一个一分钟的图表,一个订单已经使用条件中的一个表达式开仓。我怎样才能了解订单是通过哪种表达方式打开的?例如,如果它是根据第一个表达式,那么我,用它的一个参数下一个买入挂单;如果它是根据第二个表达式,那么我用不同的参数下一个买入挂单;如果它是根据第三个表达式,那么我下一个卖出挂单。

 
ANDREY:

我有一个一分钟的图表,条件中的一个表达式打开了一个订单。我怎么知道它是通过哪个表达方式打开的?如果我使用第一个表达式,那么我,比如说,用它的一个参数下一个买入挂单;如果我使用第二个表达式,那么我用不同的参数下一个买入挂单;如果我使用第三个表达式,那么我下一个卖出挂单。

1)每隔4小时,所有三个条件都将得到满足(当新低点出现时)。

2)如果你看到了这一点,请划分

if (Bid - iLow( NULL ,PERIOD_H4,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
.....
else
if (Bid - iLow( NULL ,PERIOD_M30,1)>=0.0030)
.....
 
MakarFX:

接住

在编写代码的方法上有很多值得学习的地方。在此特别感谢。只有你仍然有按时间对文本对象进行水平绑定的功能,到最后一栏(DoTime = TimeCurrent()+(Period()*60*7)。因此,当图表被 移动时,我们就有了文本移动的效果(截图)。我只是想避免它,把X轴锚定在屏幕的右边界,比如说,20像素。也就是说,我希望这个距离保持不变,不管是在向上/向下移动线条的时候,还是在移动图表的时候。到目前为止,它还没有发挥作用。事实上,只需要一行代码来指定文本的位置。其余的我都明白。

 
Oleksandr Nozemtsev:

在编写代码的方法上有很多值得学习的地方。在此特别感谢。只有你按时间对文本对象进行了水平绑定,到了最后一栏(DoTime = TimeCurrent()+(Period()*60*7)。因此,当图表被 移动时,我们就有了文本移动的效果(截图)。我只是想避免它,把X轴锚定在屏幕的右边界,比如说,20像素。也就是说,我希望这个距离保持不变,不管是在向上/向下移动线条的时候,还是在移动图表的时候。到目前为止,它还没有发挥作用。事实上,只需要一行代码来指定文本的位置。其余的我都明白。

注意将时间和价格转换为像素的XY坐标

bool  ChartTimePriceToXY(
   long           chart_id,     // идентификатор графика
   int            sub_window,   // номер подокна
   datetime       time,         // время на графике
   double         price,        // цена на графике
   int&           x,            // координата X для времени на графике
   int&           y             // координата Y для цены на графике
   );

读取行价,将其转换为像素并将坐标分配Y 轴上的文本标签对象,X轴坐标保持不变。

 
MakarFX:

1)每隔4小时(当新的lowe出现时),你将满足所有三个条件

2)如果你看到了这一点,就把它分割开来

谢谢你的提示。

如果你不分割表达式,而是把它们放在一个带有||的if()操作符中,那么只有一个 条件会被执行 ,即从左到右的第一个条件,如果我没记错的话,就是true....。

但根据我的理解,用这种格式,程序不可能知道哪个特定的表达式是真的。
 
Oleksandr Nozemtsev:
问候!请告知如何在mql4中把一个文本绑定到一个行上,以便当行被移动时,文本也被移动

行和文本指示器 Ver 1

指示器在该行之后移动文本。在输入参数中插入该行的名称。

附加的文件:
 
Alexey Viktorov:

注意将时间和价格转换为像素的XY坐标

正是如此!

原因: