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

 
Slava_kornev55:
啊哈,我知道。我找不到这样的猫头鹰。
在这里,练习。
附加的文件:
 
Alexander Antoshkin:
显然,需要在某处画一个括号或一个倒置的逗号,我不明白.............,我看了类似的例子,似乎都是一样的,,,,,,,,,,,。

如果你需要的话,指定函数和它的常量DeleteOrder(ticket),它应该能工作。

如何在对另一个函数的调用中正确书写常数

例如,这里有一个函数。

然后我再写一个

编译器到底是怎么说的?
 
你能告诉我,当终端关闭 时,EA和指标中的去初始化功能是否被执行?
 
-Aleks-:
请告知在关闭终端时是否在顾问和指标中执行去初始化的功能?

方案的执行

装货和卸货指标

指标在以下情况下被加载。

-将指标附加到图表上。

-终端的开始(如果一个指标在终端的前一次关闭之前被连接到一个图表 上)

-加载一个模板(如果该模板包含一个附属于图表的指标)

-改变剖面图(如果指标被附加到其中一个剖面图上)

-改变指标所连接的图表的符号和/或周期

-成功地重新编译一个指标,如果该指标已被连接到一个图表

-改变指标输入参数

在以下情况下,指标被卸载。

-从图表中分离出一个指标

-终端的收盘(如果指标附在图表上)。

-如果一个指标被附在一个图表 上,则加载一个模板

关闭 连接有指标的图表; - 关闭终端(如果指标已连接到图表上)

-改变概况,如果指标附在要改变的概况中的一个图表 上。

-改变指标 所连接的图表的符号和/或周期

- 改变指标的输入参数

专家装货和卸货

专家顾问的加载在以下情况下进行

-将专家顾问附在图表 上。

-终端的开始(如果专家顾问在终端的前一次收盘前被连接到图表上)。

-模板加载(如果一个专家顾问被附加到一个图表 上)。

-成功地重新编译专家顾问(如果 专家顾问已经被附加到图表上)。

-轮廓变化(如果专家顾问被附加到其中一个轮廓图上)

- 连接到账户,即使账户号码没有改变(如果专家顾问在服务器上的终端授权之前已经连接到图表)

在以下情况下会对附在图表上的专家顾问进行卸载

-专家顾问从图表 中分离出来

-连接到一个图表时 -如果另一个专家顾问已经在同一个图表上,专家顾问将被卸载

-关闭终端(如果专家顾问已经连接到一个图表上)

-如果在 图表上附加了一个专家顾问,则加载一个模板

-关闭 连接有专家顾问的图表

-改变轮廓,如果专家顾问附在要改变的轮廓中的一个图表 上。

-改变终端所连接的账户(如果在服务器上的终端授权之前,专家顾问已经连接到图表上)

-调用ExpertRemove() 函数。

当专家顾问所连接的图表的符号或时间框架被改变时,专家顾问将不会被卸载或加载在这种情况下,旧符号/时间线的OnDeinit() 和新符号/时间线的OnInit()(如果有的话)的处理程序被持续调用,全局变量和静态变量 的值不会被重置。在完成初始化(OnInit())之前为EA接收的所有事件都被跳过。

终止时

在以下情况下,专家顾问和指标会产生Deinit事件

-重新初始化之前由于符号或图表周期的改变,mql5程序被连接到 图表上。

-由于输入参数 的改变而重新初始化之前

-卸载一个mql5-程序之前

 
Sergey Gritsay:
编译器到底是怎么说的?
 
Alexander Antoshkin:
没有完整的代码,很难理解,但我怀疑你在DeleteOrder 函数中全局和局部声明了相同的票据 变量名,改变变量名吧
 
Karputov Vladimir:

方案执行

终止时

谢谢,但有一个疑点,即OnDeinit....并不总是工作。当终端被关闭时。

 
-Aleks-:

谢谢,但我怀疑OnDeinit....并不总是有效。当终端被关闭时。

在OnDeinit()中做一个取消设置。然后我们可以进行更实质性的讨论。
 
Sergey Gritsay:
没有完整的代码,很难理解,但我怀疑你在全局和本地DeleteOrder 函数中声明了相同的票据 变量名,改变变量名吧

是的,我知道了。

谢谢你想出这个办法!

 

是我傻还是应该这样?

有5个买入头寸打开,拖网触发并移动了止损,价格回滚,4个头寸关闭,1个仍然打开,止损水平高于价格。日志中没有任何内容,只有关闭4个职位的记录。