【发布时间】:2019-07-26 20:15:41
【问题描述】:
我正在尝试在 MQL5 中编写极其简单的 EA,它只需要遵循一个 if 条件。有一个数组存储最近 5 个收盘价。想法是在最后 4 个收盘价(不包括当前蜡烛)处于上升趋势时开仓。然而,EA 开始一个接一个地打开买入头寸,甚至不关心情况。我正在发布完整的代码。
我尝试创建一个新方法 Uptrend(),它具有完全相同的条件 - 仍然不起作用。
#include <Trade\Trade.mqh>
CTrade trade;
void OnTick()
{
double tpoint = Point();
double ClosePriceArray[];
ArraySetAsSeries(ClosePriceArray, true);
CopyClose(Symbol(), PERIOD_CURRENT, 0, 5, ClosePriceArray);
double Ask = NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK),_Digits);
double Bid = NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits);
if ((ClosePriceArray[4] < ClosePriceArray[3] < ClosePriceArray[2]< ClosePriceArray[1]) && PositionsTotal() < 1) {
trade.Buy(0.10, NULL, Ask, (Ask-50*tpoint), (Ask+150*tpoint), NULL);
}
}
我希望 EA 仅在满足条件时打开买入头寸。没有错误消息或编译错误。
【问题讨论】:
标签: trading mql5 metatrader5