gpt4 book ai didi

algorithmic-trading - MQL4 中的异常处理

转载 作者:行者123 更新时间:2023-12-04 08:05:59 24 4
gpt4 key购买 nike

Java一种可以使用 try 处理异常的语言- catch机制。

中是否存在类似行为? MQL4 ?

此代码抛出错误“array out of range ' 在 Close[bar]表达,我无法正确处理它。

任何帮助将不胜感激。

bool isBarClosed( int bar ) {
bool barClosed = true;
double closePrice = Close[bar];
int error = GetLastError();

if ( error == 4202 ) {
barClosed = false;
}
return barClosed;
}

最佳答案

不。

MQL4 对类似 try/except/finally 的结构没有语法支持或 try/catch python/java 和类似语言中的用例。

如何处理异常?

假设没有编译时错误。

运行时错误很难处理,有些甚至会导致软件崩溃。

人们可以而且宁可通过适当的类型检查和用例预验证来主动清理 MQL4 代码,以防止出现异常。

异常(exception)情况是 dbPool 操作,在某些情况下,可能“合法地”无法产生预期的结果。

A GetLastError() (如果它被事先清除,则异常本身)可以用作几乎事后鉴定的标识,而不是异常处理程序。

4202?不是你的问题,兄弟

_LastError == 4202 ... does not explain the trouble                <<< stdlib.mqh

4202
ERR_OBJECT_DOES_NOT_EXIST
Object does not exist

您的问题似乎与 有关bar “指向”之外 TimeSeries -反向步进索引 Close[] 值。

0 <= aBarPtrIDX < Bars

下一个目标?一个 Close[aBarPtrIDX]误解

MQL4 中度过了一段时间后领域,人们会熟悉一些相互矛盾的事实。潜在的惊喜之一是,当前的酒吧,
“热零” [0] , 包含 Close[0] == Bid 在这一切的生命周期中。

在运行条被 aNewBarEVENT 终止后(由 Volume[0] == 1 (或 Volume[0] < aPreviousVolume_0 —— 一种更安全的案例模式, MQL4 - 松散耦合的事件循环错过了一些 quote - 在它繁忙的情节期间到达)), Close[1]代表各自 Bar 期间最后访问的价格-期间和 Close[0]不断在不断变化的网络上冲浪 Bid 价钱

关于algorithmic-trading - MQL4 中的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com