structMqlTradeResult
{
uint retcode; // Operation return codeulong deal; // Deal ticket, if it is performedulong order; // Order ticket, if it is placeddouble volume; // Deal volume, confirmed by brokerdouble price; // Deal price, confirmed by brokerdouble bid; // Current Bid pricedouble ask; // Current Ask pricestring comment; // Broker comment to operation (by default it is filled by description of trade server return code)uint request_id; // Request ID set by the terminal during the dispatchuint retcode_external; // Return code of an external trading system
};
目前双倍价格; // 交易价格,由经纪人确认。
在开发者的示例代码中
//--- send the requestif(!OrderSend(request,result))
PrintFormat("OrderSend error %d",GetLastError()); // if unable to send the request, output the error code//--- information about the operationPrintFormat("retcode=%u deal=%I64u order=%I64u",result.retcode,result.deal,result.order);
При обрабокте транзакций типа TRADE_TRANSACTION_REQUEST для получения дополнительной информации необходимо анализировать второй и третий параметры функции OnTradeTransaction() – Отправка торгового запроса на покупку приводит к цепи торговых транзакций, которые совершаются на торговом счете: 1) запрос принимается на обработку, 2) далее для...
下午好!
我有一个类似的问题要问大家,特别是对fxsaber。
这似乎是一个最原始的问题,但我找不到它的答案。
在这里https://www.mql5.com/ru/forum/6343/page939,我被告知 "试着搜索一下。 fxsaber已经在这个问题上工作了一段时间了。什么工作了,我不知道,我不感兴趣。"所以我决定问你。
问题是这样的。我开了仓,想打印MqlTradeResult 的内容。
retcode、order和volume被打印出来,但deal和price总是零。
请告诉我,我做错了什么,如何获得(至少先打印)结果结构的内容?
这个怎么样?
我开了一个头寸,想打印MqlTradeResult 的内容,像这样。
转码、订单和数量被打印出来,但交易和价格总是零。
请告知我做错了什么,如何获得(至少先打印)结果结构的内容?
结果中写入零。
这个怎么样?
结果中规定了零和。
我看到一个开放的订单,我得到result.retcode 10009和result.price = 0 ?
如果不包含一个结果,你能解释一下结果的含义吗?
请解释一下,如果不包含结果,那么结果的意义何在?
这是MT5的一个特点,其结果只是一个订单(票据和没有价格),但不是交易。你有几个选择
这是MT5的一个特点,其结果只是一个订单(票据和没有价格),但不是交易。你有几个选择
在MQL4中,没有结果结构,我们收到一张票,并选择适当的订单,要求提供必要的数据。MQL5有包含许多必要数据的结果结构,不使用它是不合逻辑的。
1.在论坛上提问之前,我试图 "自己弄清楚一切是如何运作的",以及我所看到的--在结果结构中。
输出result.deal,即假定它是有意义的,它在结果结构中不一定用0表示。可以给出其他的例子,说明result.price以及result.deal可以从MqlTradeResul获得,这就是我试图做的。目前双倍价格; // 交易价格,由经纪人确认。
在开发者的示例代码中
我在任何地方都没有看到这样的信息:"这是MT5的一个特点,当结果只是一个订单(票据和没有价格),但不是交易"。请你告诉我,你是根据什么资料得出这个结论的。
2.如果你知道有什么 "已经准备好的更高级别的(低级别的是隐藏的)发展",允许你在仓位打开后(代码10009出现)立即获得仓位的参数,而不需要事先通过票据选择,请给我一个例子或给我一个链接。
谢谢你。
在MQL4中,没有结果结构,我们收到一张票,并选择适当的顺序,要求提供必要的数据。MQL5具有许多必要数据的结果结构,不使用它是不合逻辑的。
1.在论坛上提问之前,我试图 "自己弄清楚一切是如何运作的",我所看到的是,结构结果。
输出result.deal,即假定它是有意义的,它在结果结构中不一定用0表示。还有一些例子显示,可以从MqlTradeResul获得result.price以及result.deal,这就是我试图做的。有一个双倍价格;//交易价格,由经纪人确认。
在开发者的示例代码中
我在任何地方都没有看到 "这是MT5的一个功能,其结果只是一个订单(票据和没有价格),而不是交易 "的信息。请你告诉我,你是根据什么资料得出这个结论的。
2.如果你知道有什么 "已经准备好的更高层次(低层次是隐藏的)的发展",允许你在仓位打开后(代码10009出现)立即获得仓位的参数,而不需要事先通过票据选择,请给我一个例子或给我一个链接。
一个交易请求的结果 是拒绝或市场订单。这不是交易,也不是交易产生的头寸。
一个交易请求的结果 是拒绝或市场订单。这不是交易,也不是交易产生的头寸。
- 在你列出的那些步骤中,你认为贸易请求结果结构(MqlTradeResult)出现在哪一步之后?
- 根据MQL5的描述。
"交易请求结果的结构(MqlTradeResult)
作为对交易请求的响应,交易服务器返回包含交易请求处理结果的数据,作为一个特殊的预定义结构MqlTradeResult"。和 "10009 TRADE_RETCODE_DONE订单已执行"。
也就是说,如果我从MqlTradeResult请求数据,在收到代码10009后,我如何解释result.price = 0?
谢谢你。
- 在你列出的那些步骤中,哪一步会出现交易请求结果(MqlTradeResult)的结构?
- 根据MQL5的描述。
"交易请求结果的结构(MqlTradeResult)
作为对交易请求的响应,交易服务器返回包含交易请求处理结果的数据,作为一个特殊的预定义结构MqlTradeResult"。和 "10009 TRADE_RETCODE_DONE订单已执行"。
因此,贸易服务器的返回代码10009意味着OrderSend请求被成功执行,即如果我从MqlTradeResult请求数据,在收到代码10009后,我如何解释result.price = 0?
10009 TRADE_RETCODE_DONE - 你自己描述过了 - 订单被执行。这只是一个事实,即该订单已成功排到服务器上执行。
进一步说,如果这个订单被执行(毕竟它可以被服务器拒绝),那么就有一笔交易--这是以开盘价进行交易 的结果。
阅读关于
贸易交易时
当TradeTransaction事件发生时,专家顾问系统会调用它。该函数用于处理交易请求的执行结果。
空白 的OnTradeTransaction()。
const MqlTradeTransaction&trans,// 贸易交易的结构
const MqlTradeRequest&request,// 请求结构
const MqlTradeResult& result// 响应的结构
);
我在任何地方都没有看到这样的信息:"这是MT5的一个功能,其结果只是一个订单(票据和没有价格),但不是交易"。请你告诉我,你是根据什么资料得出这个结论的。
自己的经验。
2.如果你知道有什么 "已经准备好的更高层次(低层次是隐藏的)的发展",允许你在一个职位开放后(代码10009出现)立即获得该职位的参数,而不需要事先通过门票选择,请举例说明或提供链接。
还有一个选项,但它是 "高级 "的。