尝试添加ZeroMemory(sell)。
if (condition1) { ZeroMemory(sell); sell.action = TRADE_ACTION_DEAL; sell.type = ORDER_TYPE_SELL; sell.symbol = _Symbol;我们已经修复了这个问题,请等待下一个版本。
尝试添加ZeroMemory(sell)。
我们已经修复了这个问题,请等待下一个版本。Rosh,刚刚更新到.565,确实得到了同样的信息#4756
ZeroMemory(struct)有帮助。那么,这个问题是否已经解决了呢?
谢谢
尝试添加ZeroMemory(sell)。
我们已经修复了这个问题,请等待下一次构建。我也有同样的错误,尽管我是按照准确的方法来组成订单的。 为什么? 我使用的是597版本。
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 Alert: The Buy order request could not be completed -error:4756
2012.02.26 20:08:18 Core 1 2012.02.23 08:00:00 市场买入失败 0.10 EURUSD sl: 1.32438 tp: 1.33738 [不支持的填充模式]
如果(Buy_Condition_3 && Buy_Condition_4)
{
//任何已开的买入头寸?
如果(Buy_opened)
{
Alert("我们已经有了一个买入头寸!!")。
return; // 不要建立新的买入头寸。
}
ZeroMemory(mrequest);
mrequest.action = TRADE_ACTION_DEAL; // 立即执行订单
mrequest.type = ORDER_TYPE_BUY; // 买入订单
mrequest.符号 = _Symbol; // 货币对
mrequest.偏差=0; // 与当前价格的偏差
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // 最新的卖价。
mrequest.volume = Lot; // 交易的手数
mrequest.tp = NormalizeDouble(new_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.type_filling =ORDER_FILLING_AON; // 订单执行类型
//---- 发送订单
OrderSend(mrequest,mresult);
// 获得结果代码
if(mresult.retcode==10009 || mresult.retcode==10008) //请求已完成或已下订单
{
Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!") 。
}
否则
{
Alert("买入订单请求无法完成-错误:",GetLastError())。
ResetLastError();
返回。
}
- www.mql5.com
我注意到在MQL5的参考资料中(今天刚更新的最新版本),不再有ORDER_FILLING_AON,但即使我使用ORDER_FILLING_FOK,我仍然遇到错误4756。 请指示。
识别码 | 说明 |
订单_填单_福克 | 该交易可以用指定的数量以等于或优于订单指定的价格独家执行。如果订单符号上没有足够的报价量,订单将不会被执行。这种填充方式用于SYMBOL_TRADE_EXECUTION_INSTANT 或SYMBOL_TRADE_EXECUTION_REQUEST 执行模式中 。 |
Order_filling_ioc | 同意以与订单指定价格相同或更好的价格执行具有最大市场容量的交易。在这种情况下,将不会对未成交的数量发出额外的订单。 这种类型的填充在SYMBOL_TRADE_EXECUTION_MARKET 和SYMBOL_TRADE_EXECUTION_EXCHANGE 执行模式下使用 ,取决于交易服务器上的符号设置。 |
订单_填充_返回 | 同意以与订单指定价格相同或更好的价格执行最大市场容量的交易。在这种情况下,会有一个未成交的额外订单。这种类型的填充只用于挂单(TRADE_ACTION_PENDING)。 |
嗨,在我放弃MT5,回到MT4之前,有什么意见吗? 非常感谢!其实我对这两样东西都很陌生,但会先试一下MT5,虽然我知道它很新。
在mrequest之前添加这个。
ZeroMemory(mrequest); ZeroMemory(mresult);
我遇到了和你一模一样的问题,它为我解决了这个问题。
我现在有同样的问题。
我的专家顾问工作得非常好。但现在它们都不能通过测试器。
当我编译文件的时候,会出现以下信息。
ORDER_FILLING_AON'-未声明的标识符
如何解决这个问题?
这是不是终端更新的结果?(5.00版Build 642)
(2012年4月24日)
希望有人能帮助我
- www.mql5.com
-----------------------------------------------------------------------------------
如果(condition1)
{
sell.action = TRADE_ACTION_DEAL;
sell.type = ORDER_TYPE_SELL;
sell.symbol = _Symbol;
sell.deviation = 0;
sell.price = NormalizeDouble(mtick.bid,_Digits);
sell.volume = 0.1;
sell.tp = NormalizeDouble(sell.price - mtp*_Point,_Digits)。
sell.sl = NormalizeDouble(sell.price + msl*_Point,_Digits)。
sell.type_filling =ORDER_FILLING_AON;
如果(OrderSend(sell,result_sell)==false)
{
Print("OrderSend failed with error #",GetLastError())。
ResetLastError()。
}
}