错误、漏洞、问题 - 页 2856

 

你好。我有一个误解:
我如何使用Trade/Trade.mqh来修改现有的订单?
Trade.mqh 的OrderModify命令要求我设置7个参数,包括最后一个:StopLimit订单,这让我很困惑,因为我根本不需要它...而且在标准执行中也不需要...

OrderModify(const ulong ticket,const double price,const double sl,const double tp, const ENUM_ORDER_TYPE_TIME type_time,const datetime expiration,const double stoplimit=0.0);

我有一个卖出止损,我想把它移到最低点之后,我不能用OrderModify 我也不明白如何用Trade/Trade.mqh 修改现有的卖出止损订单

我必须使用dilettage和一个新的订单。

移动卖出止损水平的正确方法是什么?

 
Сергей Таболин:

伊戈尔,问题不是关于代码本身的错误,而是关于为什么在优化过程中会写出错误,而在单次运行中却没有?

我并不擅长心灵感应,我只是在学习。

但我将尝试....假设你在适当的水平上写了代码,有可能在优化过程中,你到了输入变量的值,这导致了一个关键错误

....另一种说法是,假设你不知道优化器是分批获取任务的,也许其中一个任务存在错误

....你也可以假设,如果你在全局范围 内初始化变量(可以是初始化过程中的函数调用或类的构造函数),并且优化器为每个代理初始化一次常量和静态变量(虽然似乎只为静态变量--我忘了),在整个优化时间内,但在每个单次传递中...

...hz

 
Yura Fomin:

你好。我有一个误解:
我如何使用Trade/Trade.mqh来修改现有的订单?
Trade.mqh 的OrderModify命令要求我设置7个参数,包括最后一个:StopLimit订单,这让我很困惑,因为我根本不需要它...而且在标准执行中也不需要...

我有一个卖出止损,我想把它移到最低点之后,我不能用OrderModify 我也不明白如何用Trade/Trade.mqh 修改现有的卖出止损订单

我必须使用dilettage和一个新的订单。

如何正确移动卖出止损水平?

Pending Trailing》中有一个例子。

Pending Trailing
Pending Trailing
  • www.mql5.com
Советник относится к классу утилит. Работает со всеми отложенными ордерами установленными в терминале. Подтягивает отложенный ордер вслед за ценой. Например отложенные ордера 'Buy stop' и 'Sell limit'...
 
TheXpert:
在大括号后面的任何地方都不需要分号,可能在任何语言中都不需要。
谢谢你。当两者都是正确的时候,语法的模糊性是不好的。
 
Igor Makanu:

我不擅长心灵感应,我只是在学习。

但我将尝试....假设你的代码写得很好,有可能在优化过程中,你得到的输入变量的值会导致一个关键的错误。

....另一种说法是,假设你不知道优化器是分批获取任务的,也许其中一个任务存在错误

....你也可以假设,如果你在全局范围 内初始化变量(可以是初始化过程中的函数调用或类的构造函数),并且优化器为每个代理初始化一次常量和静态变量(虽然似乎只为静态变量--我忘了),在整个优化时间内,但在每个单次传递中...

...hz

)))))

心灵感应与此有什么关系?

有一个数组,它被初始化并被使用,没有任何问题。一切正常。但在离开的路上,出现了一个混乱的局面......

void OnDeinit(const int reason)
{
   //Print(ArraySize(netMLP));
   //Print(ArraySize(indicators)+1);
   for(int i = ArraySize(indicators); i >= 0; i--) delete netMLP[i];

一切都检查过了。但分析仪在优化模式和单次运行中的行为方式的差异是显而易见的。问题是为什么?如果某处出了问题,不知何故,一定是两方面都有问题。不是吗?

 
Сергей Таболин:

)))))

心灵感应与此有什么关系?

有一个数组,它被初始化并被使用,没有任何问题。一切正常。但另一方面,在出境时,这样的灾难发生了......

一切都检查过了。但分析仪在优化模式和单次运行中的行为方式的差异是显而易见的。问题是为什么?如果某处出了问题,不知何故,一定是两方面都有问题。不是吗?

为了体面起见,把它写下来。

for(int i = ArraySize(netMLP); i >= 0; i--) delete netMLP[i];

因此,不能保证尺寸是相同的。这些阵列是什么,没有人知道。

 
Stanislav Korotky:

为了礼貌起见,写下来吧。

因此,不能保证尺寸是相同的。没有人知道这些阵列是什么。

我是知道的)))。

我更换了它。我指定的错误消失了 ))))但另一个人一直在出现。

2020.09.24 22:48:38.470 Core 3  pass 11877 tested with error "OnInit returned non-zero code 1" in 0:00:00.000

我重复一遍:以前的版本中没有这样的东西。

我有几个检查都是返回(INIT_FAILED)。

但它们之前都有印刷品。但没有打印的痕迹。(((

 
Сергей Таболин:

只写到文件。

- 开/关标志优化

- 代理人编号

- 以及OnDeanit()中使用的所有变量

如果不这样做,你不会发现一个错误 - 优化器的工作没有问题,我一直在使用它。

 
Сергей Таболин:

我是这样想的)))。

被替换。我提到的错误消失了 ))))但另一个人不断出现。

我重复一遍,在以前的版本中没有这样的东西。

双击相应的优化通道,并获得所有细节的单一运行日志,为什么初始化失败--源中的行和列。

 
Igor Makanu:

只写到文件。

- 开/关标志优化

- 代理人编号

- 以及OnDeanit()中使用的所有变量

如果不这样做,你就不会发现这个错误--优化器的工作没有任何问题,我一直在使用它。

好吧,我再把所有的东西都写到文件里去。也许会有一个原因......以前没有的...

原因: