//+------------------------------------------------------------------+//| 如果符号/周期对出现了新的条形图,则返回 true。//+------------------------------------------------------------------+bool isNewBar()
{
//--- 在静态变量中记住最后一小节的开启时间staticdatetime last_time=0;
//--- 当前时间datetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
//--- 如果这是函数的第一次调用if(last_time==0)
{
//--- 设置时间并退出
last_time=lastbar_time;
return(false);
}
//--- 如果时间不同if(last_time!=lastbar_time)
{
//--- 记住时间并返回 true
last_time=lastbar_time;
return(true);
}
//--- if we passed to this line, then the bar is not new; return falsereturn(false);
}
MQL5 programming language is capable of solving problems on a brand new level. Even those tasks, that already have such solutions, thanks to object oriented programming can rise to a higher level. In this article we take a specially simple example of checking new bar on a chart, that was transformed into rather powerful and versatile tool. What tool? Find out in this article.
bool Sell=Bid>BBUp[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==1)
这是否意味着在 BB 击穿时进场前只进行趋势检查?
也就是说,如果 ADX 趋势看涨(+DI 高于-DI),则在击穿 BB 下限时进场,但如果 ADX 趋势看跌(-DI 高于 +DI),则在击穿 BB 下限时不进场?
主线(MAIN_LINE) 完全不计算在内?
1.我在测试器中没有开仓交易。日志中没有错误信息。我已按照图片https://www.mql5.com/zh/code/13315 设置了参数。
我正在想办法解决。
2. 根据代码:
根本不存在价格穿越 BB 线进入头寸的问题。
以下是买入的条件:
Ask 工具的价格低于第一个形成的条形图上的 BB 下限,并且第一个形成的条形图上 MAIN_LINE 的 ADX 值低于其 ADXLevel 值(如持平),并且历史上的前一笔交易是买入或根本没有交易。
对于卖出 - 镜像。
您能告诉我如何测试吗?
我没有打开交易 - 日志是干净的。我设置了所有必要的参数: 存入资金 100 000、最小手数 1、10 000 和最小手数 0.1 - 也没有进行测试。经纪商 BKS。MT5。外部变量值如第一页图片所示。EURUSD.M15.自 2010 年起在 M1 上进行 OHLC 测试。杠杆 1:100。
1.我在测试仪中未打开交易。日志中没有错误信息。我设置了如图 https://www.mql5.com/zh/code/13315 所示的参数。
我正在想办法解决。
2. 根据代码:
根本不存在价格穿越 BB 线进场的问题。
以下是买入的条件:
Ask 工具的价格低于第一个形成的条形图上的 BB 下限,并且第一个形成的条形图上 MAIN_LINE 的 ADX 值低于其 ADXLevel 值(如持平),并且历史上的前一笔交易是买入或根本没有交易。
对于卖出--镜像。
非常感谢你的解释!
根据你所说的情况,很难说为什么不打开交易,我遇到过很多 在特定的 tp 和 sl 时不打开交易的EA。我必须尝试查看这些参数。
我可以肯定地说,它是通过经纪商开仓终端和外汇 DC Alpari 的模拟终端进行测试的。
非常感谢你的澄清!
根据您所说的情况,很难说为什么不打开交易,我遇到过很多在特定的 tp 和 sl 下不打开交易的 EA。有必要尝试搜索这些参数。
我可以准确地说,它是通过经纪商的终端--开仓和模拟终端 forex DC Alpari.------------------------------------------ 进行测试的,谢谢。我的手机无法正常回复,光标一直跳到您的帖子上。我稍后会写信给服务台。
感谢您提供这个使用 BB+ADX 指标的简单示例。
经过一些改进(特别是添加了 +DI、-DI),我得到了非常好的结果。
请允许我指出 "IsNewBar "函数不起作用:
m_TOld "变量不是静态的,它总是与"TNew"变量不同。
您可以将其替换为:(参见:https://www.mql5.com/zh/articles/22)
现在问题解决了。
祝你好运)