谁能解答下,我用MQL5OrderSend示例却不能开单,怎么解释????
谁能解答下,我用MQL5OrderSend示例却不能开单,怎么解释???? |
|
|
|
|
CCC
DD
DD
void OnStart()
{
//--- 声明并初始化交易请求和交易请求结果
MqlTradeRequest request={};
MqlTradeResult result={};
//--- 请求的参数
request.action =TRADE_ACTION_DEAL; // 交易操作类型
request.symbol =Symbol(); // 交易品种
request.volume =0.1; // 0.1手交易量
request.type =ORDER_TYPE_BUY; // 订单类型
request.price =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // 持仓价格
request.deviation=50; // 允许价格偏差
request.magic =123; // 订单幻数
//--- 发送请求
if(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // 如果不能发送请求,输出错误代码
//--- 操作信息
PrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
} |
|
|
|
|
CCC
request..type_filling=ORDER_FILLING_IOC; |
|
|
|
|
DD
成功了,真的太谢谢你啦,我听得以前的视频课,跟老师的代码一样,但是就是不开单,原来是这个原因啊。 |
|
|
|
|
DDD
并不是设置为 ORDER_FILLING_IOC 就能通行,实际上你改为这个则在其它平台上就又出错了。
真正设置 type_filling 属性,你需要首先调用 SymbolInfoInteger 函数来向平台查询 SYMBOL_FILLING_MODE 参数值,并且根据返回值来判断到底是应该使用 ORDER_FILLING_IOC 还是 ORDER_FILLING_FOK 模式进行交易。
你可以查询有关 MQL 编程手册。 |
|
|
|
|
B
请问有没有试过
request..type_filling=ORDER_FILLING_IOC || ORDER_FILLING_FOK || ORDER_FILLING_BOC ; |
|
|
|
|
C