按照MQL5帮助文档的示例初始化 MqlTradeRequest request={0}; 编译却说 cannot convert 0 to enum'ENUM_TRADE_REQUEST_ACTIONS'
datetime buytime=0; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- MqlTradeRequest request; MqlTradeResult result; request.action =TRADE_ACTION_DEAL; request.symbol =Symbol(); request.volume =2; request.type =ORDER_TYPE_BUY; request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); request.deviation =10; request.comment ="EA"; if(!OrderSend(request,result)) {Alert("开仓失败:",GetLastError());} else {buytime=iTime(NULL,0,0);} } //+------------------------------------------------------------------+
一样的代码
在EA中返回错误代码4756
在脚本中可以成功下单
这是为什么
一样的代码
在EA中返回错误代码4756
在脚本中可以成功下单
这是为什么
应该是请求重叠,而导致请求失败。建议尽量使用标准程序库中的函数。
应该是请求重叠,而导致请求失败。建议尽量使用标准程序库中的函数。
我是把MQL5帮助文档中 打开卖出持仓TRADE_ACTION_DEAL 交易操作的示例 复制到MQL5中的
刚才又试了一下 result.retcode=10013 意思是无效请求 但是是哪个方面无效呢
哎
我是把MQL5帮助文档中 打开卖出持仓TRADE_ACTION_DEAL 交易操作的示例 复制到MQL5中的
刚才又试了一下 result.retcode=10013 意思是无效请求 但是是哪个方面无效呢
哎
mt5对细节的严谨要远远高于mt4,感觉也是越来越严格,EA编写中建议使用标准类库下单,自己写的漏洞太多,不严谨的话,问题多多!
mt5对细节的严谨要远远高于mt4,感觉也是越来越严格,EA编写中建议使用标准类库下单,自己写的漏洞太多,不严谨的话,问题多多!
关键是我就是把MQL5帮助文档中的示例抄写到MQL5中,最简单的语句,都出错。自己研究半天都没弄明白。
大哥,问一下,设定一个 MqlTradeRequest 或者叫初始化一个 MqlTradeRequest
MqlTradeRequest request={0};
这样写对吗?
关键是我就是把MQL5帮助文档中的示例抄写到MQL5中,最简单的语句,都出错。自己研究半天都没弄明白。
大哥,问一下,设定一个 MqlTradeRequest 或者叫初始化一个 MqlTradeRequest
这样写对吗?
帮助文件中的例句肯定是没有问题的。交易上也是没有问题的。先看看算法交易是否打开。检查下你的账户情况,如果没有任何问题,那就建议你重新安装MT5甚至换台电脑试试。因为别人的电脑,包括我的电脑上,这样的写法在执行上没有任何问题。交易正常,没有出错。
重新安装MT5了。现在可以了 。
谢谢
重新安装MT5了。现在可以了 。
谢谢
兄弟 你找到问题了吗 我用的是别人的类 编译完也是报你这个错误
所有带这句的都报无法把0传到这个值里
MqlTradeRequest request={0};
MqlTradeResult result={0};
我把后边的={0} 删了 就不报错了 这是什么问题啊 我看这个类在别人那里是可以用的
if(PositionGetInteger(POSITION_MAGIC)==magic)
{
MqlTradeRequest request={0};
MqlTradeResult result={0};
request.action=TRADE_ACTION_SLTP;
request.position=PositionGetTicket(i);
request.symbol=symbol;
request.sl=ask+pot*yidongdian;
request.tp=tp;
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError());
兄弟 你找到问题了吗 我用的是别人的类 编译完也是报你这个错误
所有带这句的都报无法把0传到这个值里
MqlTradeRequest request={0};
MqlTradeResult result={0};
我把后边的={0} 删了 就不报错了 这是什么问题啊 我看这个类在别人那里是可以用的
if(PositionGetInteger(POSITION_MAGIC)==magic)
{
MqlTradeRequest request={0};
MqlTradeResult result={0};
request.action=TRADE_ACTION_SLTP;
request.position=PositionGetTicket(i);
request.symbol=symbol;
request.sl=ask+pot*yidongdian;
request.tp=tp;
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError());
MqlTradeRequest request={0}; 换成 MqlTradeRequest request={1};
这个是软件的问题吧 是更新后出现的问题 然后官方给了上面的解决方案
mt5对细节的严谨要远远高于mt4,感觉也是越来越严格,EA编写中建议使用标准类库下单,自己写的漏洞太多,不严谨的话,问题多多!
大佬 问一下标准类库在哪 叫什么呢
按照MQL5帮助文档的示例初始化 MqlTradeRequest request={0}; 编译却说 cannot convert 0 to enum'ENUM_TRADE_REQUEST_ACTIONS'
有大佬知道是什么问题吗?