JLL*_*CHR 5 algorithmic-trading mt4 metatrader4 mql4
在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;
}
Run Code Online (Sandbox Code Playgroud)
MQL4没有对 python / java 和类似语言中类似 atry/except/finally或try/catch用例的构造的语法支持。
假设没有编译时错误。
运行时错误很难处理,有的甚至会导致软件崩溃。
人们可以而且应该通过适当的类型检查和用例预验证来主动清理 MQL4 代码,以防止异常。
例外情况是dbPool操作,在某些情况下,操作可能“合法地”未能产生预期结果。
A GetLastError()(如果先验地清除了异常本身)可以用作几乎事后鉴定,而不是用作异常处理程序。
_LastError == 4202 ... does not explain the trouble <<< stdlib.mqh
4202
ERR_OBJECT_DOES_NOT_EXIST
Object does not exist
Run Code Online (Sandbox Code Playgroud)
您的问题似乎与“指向”值的 -reverse-stepping-indexbar之外有关。TimeSeriesClose[]
0 <= aBarPtrIDX < Bars
Close[aBarPtrIDX]误解在该领域呆了一段时间后MQL4,人们会熟悉一些相互矛盾的事实。潜在的惊喜之一是,当前条“热零”[0]包含Close[0] == Bid在其所有生命周期内。
正在运行的条被终止后aNewBarEVENT(由 a 发出信号Volume[0] == 1(或Volume[0] < aPreviousVolume_0- 对于某种情况来说更安全的模式,松散耦合的事件循环在其繁忙时段MQL4错过了一些到达)),代表最后访问的相应期间的价格,并继续浏览不断变化的价格quoteClose[1]BarClose[0]Bid
| 归档时间: |
|
| 查看次数: |
5065 次 |
| 最近记录: |