[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 339

 

你好!!!"。

谁能帮助编写一个 带有功能的EA

1个开放时间H和M

2 损失量(批)乘数

3 批量

4个止损

5次获利

仅适用于买入位置

看上去很简单,但却不工作。

 
artmedia70:

只要填充这些数组的目的不明确,就无法创建任何算法。目前还不清楚这些阵列将被用于什么进一步的目的。因此,不存在保存它们的算法。毕竟,它们将不断被新的数据覆盖。你说的是这个系列的长度。只要黄色或红色系列开始,绿色系列就会结束。同样地,红色系列将在黄色或绿色系列开始后立即结束。换句话说,只有目前有效的一个系列和之前的系列才是最新的。或者应该有几个这样的系列,在它们之间交替进行。

简而言之--用农民工的话说:我们为什么需要这些系列的阵列?它将如何在火鸡中以图形的方式表现出来,或者说为了什么?

代码显示,每种类型的系列(绿色或红色)都有一个不同的数组。

目的:使用MQL工具和Excel,收集统计信息,以便进一步分析。

简单地说,这个阵列应该是这样的

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

如果有关系的话,颜色变化的动力学原理如下:绿色不能变成红色,红色也不能变成绿色。也就是说,这中间总是有黄色。

 

请解释一下,如果发现有订单需要关闭,是否有必要在票据后列出参数?

例如:OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue)。

用OrderClose(OrderTicket(),NULL,NULL,NULL)代替。

或到OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY)。

是否有可能把它写得更短一些,只考虑到票面上的内容,就可以关闭?

 
rosomah:

请解释一下,如果发现有订单需要关闭,是否有必要在票据后列出参数?

例如:OrderClose(OrderTicket(),OrderLots(),Bid,30,Blue)。

用OrderClose(OrderTicket(),NULL,NULL,NULL)代替。

或到OrderClose(OrderTicket(),EMPTY,EMPTY,EMPTY)。

是否有可能把它写得更短一些,只考虑到票面上的内容,就可以关闭?


不,有一个部分关闭订单的概念。因此,必须明确地指定参数。试着在演示中以lot=1.5开立一个订单,然后以lot=1关闭该订单。你会看到,如果订单进入盈利状态,你可以不关闭整个订单,而只关闭部分手数,让剩余手数继续进入盈利状态。
 
silhouette:

代码显示,每种类型的系列(绿色或红色)都有一个不同的数组。

目的:使用MQL工具和Excel,收集统计信息,以便进一步分析。

简单地说,这个阵列应该是这样的

RedSeries[0]=10; RedSeries[1]=11; RedSeries[2]=4 ...

GreenSeries[0]=6; GreenSeries[1]=8; GreenSeries[2]=10 ...

如果有关系的话,颜色变化的动力学原理如下:绿色不能变成红色,红色也不能变成绿色。也就是说,这中间总是有黄色。

因此,设置了两个二维数组。一个用于绿色数据,一个用于红色数据。在一个维度上写时间,在另一个维度上写数值。一旦出现绿色数据,将绿色阵列增加1,并写入时间和零条值。对红色阵列做同样的处理。然后,在数据积累到数组中后,你可以根据需要处理它们。或者一次性将所有数据从专家顾问中写入文件。
 

大家好。

我如何识别由EA开出的订单和手动开出的相同的空单?

 
swird:

大家好。

我如何将EA开出的订单与手动开出的空头订单区分开来?

在订单循环中,我们应该像这样检查OrderMagicNumber 操作符。

if (OrdersTotal()>0)
{  for (int i=OrdersTotal()-1; i>=0; i--)
   {  if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {  if (OrderMagicNumber()==MagNum) // тут
         {  //--- некоторое действие.

}  }  }  }
 
artmedia70:
因此,设置了两个二维数组。一个用于绿色数据,一个用于红色数据。在一个维度上写时间,在另一个维度上写数值。一旦出现绿色数据,就将绿色阵列增加1,并写上时间和零条的值。对红色阵列做同样的处理。然后,在数据积累到数组中后,你可以根据需要处理它们。或者一次性将所有数据从专家顾问中写入文件。

谢谢你。

但我无法理解创建一个时间测量的意义。毕竟,一个系列有几个酒吧,它们的时间是不同的。这样一来,就不可能记录这一系列的情况。

还有一件事:我不明白我的代码中哪里出现了逻辑错误。它不起作用的原因是什么?没有它,任何重做的尝试都是无用的。

 
silhouette:

谢谢你。

但我无法理解创建一个时间测量的意义。毕竟,一个系列有几个酒吧,它们的时间是不同的。这样一来,就不可能记录这一系列的内容。

还有一件事:我不明白我的代码中哪里有逻辑错误。它不起作用的原因是什么?没有它,任何重做的尝试都是无用的。

为什么在这个系列的时间?好吧,例如,(我不知道你想收集什么统计数据)在处理统计数据时,不仅要知道数值,还要知道该数值的时间,这很有用。在excel中作图时,你将能够清楚地看到系列的位置和该系列中的数据,它们之间的相对位置(红色和绿色),等等。如果你不需要它,就不要用它。

我没有看过你的代码,不能说逻辑上的错误在哪里。我记得--你是根据维克多的指标(Vinin)做的,为什么不问问维克多呢?

 

对于一个初学者来说,除了下载平台、专家顾问,我还需要知道什么,从哪里开始?