伟大而可怕的MT4永远(或如何制定过渡策略) - 页 30 1...232425262728293031 新评论 ruslan 2021.08.14 09:09 #291 在MT4中,我不能压缩图表垂直水平的斐波那契看不到的图形被限制在8000点))如何解决? Vasiliy Pushkaryov 2021.09.11 10:31 #292 这是在堡垒上做的一件奇怪的事。下面是平仓的主要部分。 if(Trade.PositionClose(mSymbol)) { // --- Введем задержку пока не получим номер сделки, но не более 2-х секунд int cnt = 0; ulong deal = 0; while(((deal = Trade.ResultDeal()) == 0) && cnt < 20) {Sleep(100); ++cnt;} if(deal == 0) { ulong ttOrder = Trade.ResultOrder(); if(HistoryOrderSelect(ttOrder)) { ENUM_ORDER_STATE state = ENUM_ORDER_STATE(HistoryOrderGetInteger(ttOrder, ORDER_STATE)); LOG("После закрытия позиции № сделки=0, Order=" + string(ttOrder) + " state=" + EnumToString(state)); } return false; } } 以下是专家顾问日志的摘录,即在检查ResultDeal()的20次迭代后,它到了交易票据为零的部分。 JL 0 10:08:04.462 e-MultiPattern-0.15 (RTS-9.21,M5) cStoploss::sortSL12 Дистанция контртренд=0 BID=172690.0, закроем Short JM 0 10:08:06.695 e-MultiPattern-0.15 (RTS-9.21,M5) ** 333-cMyTrade::ClosePosition. После закрытия позиции № сделки=0, Order=16868286 state=ORDER_STATE_FILLED 以下是终端日志的摘录。 IG 0 10:08:04.465 交易 '733618': 交易所买入 2 RTS-9.21 at market KN 0 10:08:04.480 交易 '733618': 接受交易所买入 2 RTS-9.21 在市场 OQ 0 10:08:04.481 交易 '733618': 交易所买入 2 RTS-9.21在市场上放置执行 FG 0 10:08:04.517 交易'733618':订单#16868286买2 / 2 RTS-9.21在市场上做的52。326 ms JN 0 10:08:04.517 交易 '733618': 交易 #3413752 买入 2 RTS-9.21 at 172780 完成(基于订单 #16868286)。 请告知谁对MT5交易逻辑有很好的了解。在终端的日志中,下单和交易创建发生在一个时刻 -04.517 秒。 但在while循环中的EA从未看到交易票据,并在20次迭代后于06.695 秒退出。为什么结构上有订单票而没有交易票? 如何保证得到一张交易票,尤其是在使用部分平仓的情况下? fxsaber 2021.09.11 11:15 #293 Vasiliy Pushkaryov 获得交易票据,特别是如果你使用部分关闭? 它不能被轻易解释,因为有很多陷阱。编写了一个解决方案,使用户能够顺利工作。但解析内部实现是为特殊行家准备的。 [删除] 2021.09.11 19:51 #294 为mt4做一个合适的测试器,几年后mt5就会被遗忘。 Алексей Тарабанов 2021.09.11 20:21 #295 Dmitry Fedoseev #:而在所有严肃的问题上......?这里 的 "幽默 "主题 自下而上的兼容性是对软件的基本要求之一。前一个版本的代码必须被后一个版本充分感知。否则,开发商就会简单地扔掉以前的开发,引入新的开发。通往无名之地的道路。 我绝对同意有必要(首先是对开发人员)将MQL4代码编译成MQL5代码。 Алексей Тарабанов 2021.09.11 20:27 #296 Vladimir Baskakov #: 为mt4做一个合适的测试器,几年后mt5就会被大家遗忘。 巴斯卡科夫,而女儿使用MT5,臭名昭著的... Алексей Тарабанов 2021.09.11 20:28 #297 6个月前我答应给她一个指标,我从来没有做到。 Vasiliy Pushkaryov 2021.09.11 20:41 #298 fxsaber #:如果ResultDeal为零,在循环中迭代一百万次后,它仍然是零,因为它是一个不变的参数。因为所下的市场订单是OrderSend的结果。 这不是很清楚。在MqlTradeResult 结构帮助中,它说 如果平仓返回了一张订单票,但没有订单票,这是不是TRADE_ACTION_PENDING类型的交易? 或者TRADE_ACTION_DEAL和贸易票据可能 "迟到 "而不包括在结构中? 也就是说,通过HistorySelect-功能按顺序搜索交易更好? Алексей Тарабанов 2021.09.11 20:42 #299 还有,对不起,这是个痛点。对于开发者来说:不要再把疯狂的、不合理的费用浪费在MT4的维护上,你们已经有一半的高级专业人员在做这个工作了。 构建一次MQL4-MQL5编译器,集中精力做重要的事情。在最终版本中,在你的竞争对手中取得稳定的第一名。 Vasiliy Pushkaryov 2021.09.11 20:57 #300 Vasiliy Pushkaryov #:这不是很清楚。在MqlTradeResult 结构的帮助中,写道如果关闭时返回了一张订单票,但没有交易票--这是不是TRADE_ACTION_PENDING类型的交易?或者TRADE_ACTION_DEAL和贸易票据可能 "迟到 "而不包括在结构中?也就是说,通过HistorySelect-function按顺序搜索交易是否更好? 虽然,SB的PositionClose(Symbol)方法指定了交易类型TRADE_ACTION_DEAL。 事实证明,应该有一张贸易票据,但它往往没有。 1...232425262728293031 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是在堡垒上做的一件奇怪的事。下面是平仓的主要部分。
以下是专家顾问日志的摘录,即在检查ResultDeal()的20次迭代后,它到了交易票据为零的部分。
JL 0 10:08:04.462 e-MultiPattern-0.15 (RTS-9.21,M5) cStoploss::sortSL12 Дистанция контртренд=0 BID=172690.0, закроем Short
JM 0 10:08:06.695 e-MultiPattern-0.15 (RTS-9.21,M5) ** 333-cMyTrade::ClosePosition. После закрытия позиции № сделки=0, Order=16868286 state=ORDER_STATE_FILLED
以下是终端日志的摘录。
IG 0 10:08:04.465 交易 '733618': 交易所买入 2 RTS-9.21 at market
KN 0 10:08:04.480 交易 '733618': 接受交易所买入 2 RTS-9.21 在市场
OQ 0 10:08:04.481 交易 '733618': 交易所买入 2 RTS-9.21在市场上放置执行
FG 0 10:08:04.517 交易'733618':订单#16868286买2 / 2 RTS-9.21在市场上做的52。326 ms
JN 0 10:08:04.517 交易 '733618': 交易 #3413752 买入 2 RTS-9.21 at 172780 完成(基于订单 #16868286)。
请告知谁对MT5交易逻辑有很好的了解。在终端的日志中,下单和交易创建发生在一个时刻 -04.517 秒。
但在while循环中的EA从未看到交易票据,并在20次迭代后于06.695 秒退出。为什么结构上有订单票而没有交易票?
如何保证得到一张交易票,尤其是在使用部分平仓的情况下?
它不能被轻易解释,因为有很多陷阱。编写了一个解决方案,使用户能够顺利工作。但解析内部实现是为特殊行家准备的。
而在所有严肃的问题上......?
这里 的 "幽默 "主题
自下而上的兼容性是对软件的基本要求之一。前一个版本的代码必须被后一个版本充分感知。否则,开发商就会简单地扔掉以前的开发,引入新的开发。通往无名之地的道路。
我绝对同意有必要(首先是对开发人员)将MQL4代码编译成MQL5代码。
为mt4做一个合适的测试器,几年后mt5就会被大家遗忘。
巴斯卡科夫,而女儿使用MT5,臭名昭著的...
如果ResultDeal为零,在循环中迭代一百万次后,它仍然是零,因为它是一个不变的参数。
因为所下的市场订单是OrderSend的结果。
这不是很清楚。在MqlTradeResult 结构帮助中,它说
如果平仓返回了一张订单票,但没有订单票,这是不是TRADE_ACTION_PENDING类型的交易?
或者TRADE_ACTION_DEAL和贸易票据可能 "迟到 "而不包括在结构中?
也就是说,通过HistorySelect-功能按顺序搜索交易更好?
还有,对不起,这是个痛点。对于开发者来说:不要再把疯狂的、不合理的费用浪费在MT4的维护上,你们已经有一半的高级专业人员在做这个工作了。
构建一次MQL4-MQL5编译器,集中精力做重要的事情。在最终版本中,在你的竞争对手中取得稳定的第一名。
这不是很清楚。在MqlTradeResult 结构的帮助中,写道
如果关闭时返回了一张订单票,但没有交易票--这是不是TRADE_ACTION_PENDING类型的交易?
或者TRADE_ACTION_DEAL和贸易票据可能 "迟到 "而不包括在结构中?
也就是说,通过HistorySelect-function按顺序搜索交易是否更好?
虽然,SB的PositionClose(Symbol)方法指定了交易类型TRADE_ACTION_DEAL。
事实证明,应该有一张贸易票据,但它往往没有。