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

 
MIKHAIL VINOGRADOV:

问候!

我不能用CTrade.PositionCloseBy(ticket1,ticket2)关闭不同手数的相反订单。

ResultRetCode() - 我得到错误10035。

请告知原因何在?

10035

交易代码_无效的订单

无效或禁止的订单类型


仔细观察你在那里做什么。

 

我的理解是否正确--SetIndexBuffer函数需要将缓冲区绑定到一个特定的图形结构上,并通过iCustom对其进行编号访问?

因此,例如,如果我为高价位创建一个数组,只需声明它而不通过SetIndexBuffer绑定,并在...

#property indicator_buffers

.........它可以被忽略。

此外,使用SetIndexBuffer,你只能绑定双倍类型的数组,而数据时间和其他数组不能。


我只是没有完全理解这一点(或理解了这一点),现在我有一个想法--我想澄清它......

 
Alexandr Sokolov:

我的理解是否正确--SetIndexBuffer函数需要将缓冲区绑定到一个特定的图形结构上,并通过iCustom对其进行编号访问?

因此,举例来说,如果我为高价位创建一个数组,那么只需声明它而不通过SetIndexBuffer绑定,并在...

.........它可以被忽略。

此外,使用SetIndexBuffer,你只能绑定双倍类型的数组,而数据时间和其他数组不能。


我只是没有完全理解这一点(或理解了这一点),现在我有一个想法--我想澄清它......

这不是一个建筑,是一个数据集。因此,我不认为会有这样的效果。虽然我没有检查。

至于datetime类型,你可以把它写成double,并在读取时强制应用。

 
Happy:

上午好。

问题。在测试器中,在日光面界面(当第二天线通过时),程序应该已经下了一个挂单。已经存在的挂单,价格触及了它,它被打开了,但打开另一个挂单 的指令由于某种原因被系统忽略了。这种情况是否也会发生在真实账户中,即机器人的指令被简单地忽略,因此所需的行动没有被执行?


还有一个问题。我正在运行一个策略测试器,但我非常困惑的是,它在可视化中进行了一个星期左右,然后显示以下信息

在0:17:42.694中处理了177564个勾股事件(447条,7888506条状态)(总时间0:17:48.217)。

在0:17:42.694处理了177564个勾股事件(447条,7888506条状态)(总时间0:17:48.217)。

我不明白,他是不是太忙了,不能继续测试?还是他对我的电脑资源如此关心和担心?我没有看到任何错误信息。它只是自我终止。虽然我设定的日期不是7天,而是7个月。 我想看看从头到尾的整个测试路径。

什么宗教不允许他进行视觉测试,例如一年或几年?而且你可以直观地看到你的项目在前一年的工作情况,例如。


还有一个问题。(虽然可能是没有答案的)))怎么会发生这样的事情,测试器2圈工作正常,而就在上述题词之前的那一天却无视所有指示。程序怎么可能正常工作了几轮(开了单子,然后又关了),然后,嘣,它就忽略了一切。它既没有打开,也没有关闭。是因为测试期的结束还是有其他原因?

 
FTM网站主屏幕上的布伦特和WTI图表与我个人账户中的报价本身不同。有什么想法吗?我确信图表的管理,特别是 "石油 "图表的管理是在ftm的 "厨房 "里进行的。没有任何解释。证据就在照片中,同时,我个人橱柜中的价格与真实的价格相反,对交易者来说总是减去。这闻起来像一个骗局...
 
Yevhenii Levchenko:

...........但在某一点上,它需要确定是它自己关闭了交易,还是其他人进入并关闭了交易....。

写得明确一点,你是问如何开药,还是问如何使用EA而不进行编辑?

 
我如何处理错误4403?
 

  • 你好!

    我想在我的EA中使用A/D指标,但不是以其纯粹的形式,即其移动平均线。

    这就是为什么我编造了函数。

    //+------------------------------------------------------------------+

    //| A/D功能|

    //+------------------------------------------------------------------+

    double A_D(ENUM_TIMEFRAMES tf, int shift)

    {

    double res=0



    res=iAD(NULL,tf, shift)



    返回res





    }



    //+------------------------------------------------------------------+

    //| A/D功能 |

    //+------------------------------------------------------------------+

    double A_D_moving(ENUM_TIMEFRAMES tf, int period)

    {

    double res=0

    双重a[]





    for(int i=period; i>=1; i--)

    {

    a[i]= A_D(tf, i)

    }



    for(int i=period; i>=1; i--)

    {

    res=iMAOnArray(a,0,period,0,MODE_SMA,0)

    }



    返回res





    }

    但是在测试过程中,很明显A_D_moving()在这个修订版中是有问题的,因为在运行测试时有一个关键错误

    请谁来帮忙。

    A_D_moving()的写法如何正确?如果有错误,请注明...

    谢谢你!


 
AurelianoV:

请正确插入代码。


 
Artyom Trishkin:

请正确插入代码。


对不起1

/+------------------------------------------------------------------+
//|  Функция A/D                       |
//+------------------------------------------------------------------+
double A_D(ENUM_TIMEFRAMES tf, int shift)
  {
   double res=0;
   res=iAD(NULL,tf, shift);
   return res;
  }

//+------------------------------------------------------------------+
//|  Функция A/D                       |
//+------------------------------------------------------------------+
double A_D_moving(ENUM_TIMEFRAMES tf, int period)
  {
   double res=0;
   double a[];
   
   for(int i=period; i>=1; i--)
     {
      a[i]= A_D(tf, i);
     }
   for(int i=period; i>=1; i--)
     {
      res=iMAOnArray(a,0,period,0,MODE_SMA,0);
     }
   return res;
  }


对不起

原因: