错误、漏洞、问题 - 页 2127

 
Slava:

你说 "成为 "是什么意思?

一直以来都是这样的。自新四届开始。

我不会争论和证明,但2-3周前似乎是这样。我正在为一个人修复一个带有按钮和输入字段的专家顾问。
我不得不添加一个按钮和一个输入字段。为了确定从拐角处的缩进,我总是手动创建对象,在把它放在需要的地方后,我查看它的属性并把这些值添加到代码中。毕竟,我不可能梦见这样的事情......。

我可以认为我正在移动一个 以程序方式创建的对象。但现在也不可能了。 对象被高亮显示,但你不能移动它。

 
测试剂 溢出了硬盘。要做什么--要配置什么。有8台服务器,每台120GB
 
MQL5 Cloud Europe 1     genetic pass  tested with error "wrong timeframe request in Open Prices mode in OnTick function (EURUSD,M1)" 


大家好。

有没有人在云端优化时遇到这个错误,只在开放价格


误差不是恒定的。也就是说,它 "极少 "出现,但当我运行10,000个结果时,它出现了50次。

我在优化过程中不改变TF。

 
Vladislav Andruschenko:

误差不是恒定的。也就是说,它 "极少 "出现,但当你运行1万个结果时,它却出现了50次。

你需要通过框架从代理人那里获得所有你需要的信息,以分析它。

 
fxsaber:

你需要通过分析框架从特工那里获得所有必要的信息。

这种情况总是发生在19%。发现有一条线说是因为历史的原因。
我将试一试。
 

整个OnTradeTransaction 事件的序列紧随OrderSend的完成。

EA

void OnTradeTransaction ( const MqlTradeTransaction &Trans, const MqlTradeRequest&, const MqlTradeResult& )
{ 
  static bool FirstRun = true;  
  static ulong StartTime;
  
  if (FirstRun)
  {
    StartTime = GetMicrosecondCount();
    
    FirstRun = false;
  }

  Print(EnumToString(Trans.type));
  Print((GetMicrosecondCount() - StartTime) / 1000);    
}

手动发送交易指令。

纪录

2018.02.14 09:41:46.671 '8854170': instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': accepted instant sell 1.00 EURUSD at 1.23673
2018.02.14 09:41:46.853 '8854170': deal #192088422 sell 1.00 EURUSD at 1.23673 done (based on order #208541700)
2018.02.14 09:41:46.853 '8854170': order #208541700 sell 1.00 / 1.00 EURUSD at 1.23673 done in 190.608 ms


专家顾问结果

2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_ADD
2018.02.14 09:41:46.853 0
2018.02.14 09:41:46.853 TRADE_TRANSACTION_DEAL_ADD
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_ORDER_DELETE
2018.02.14 09:41:46.853 1
2018.02.14 09:41:46.853 TRADE_TRANSACTION_HISTORY_ADD
2018.02.14 09:41:46.853 2
2018.02.14 09:41:46.853 TRADE_TRANSACTION_REQUEST
2018.02.14 09:41:46.853 2


我们完全可以从时间栏和EA的数字数据中看到,交易订单执行的时间对OnTradeTransaction事件的顺序没有影响。所有的异步都下地狱了!他们设法把事情搞得如此糟糕。建于1755年。

 

该符号的数字==3

日志中显示的数字要多得多

'18000903': failed modify order #896199 buy limit 0.01 BTCUSD at 616.00100 sl: 0.00000 tp: 0.00000 -> 616.00100, sl: 0.00000 tp: 616.10100 [Invalid request]
 
交易历史的 "订单和交易 "视图中缺少 "评论 "栏。
 
这不是一个终端的错误,而是MT5平台的错误。
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

在MQ-Demo上运行一些缓慢移动的符号。例如,EURHUF。

脚本在TP=Bid的情况下开出BUY头寸。也就是说,应该立即平仓。但是,只有在下一次打勾时才会检查TP是否符合接受条件。

仓位不会被立即关闭,直到下一个tick发生。此外,如果下一个tick的出价<TP,TP将保持不变,没有任何接受。


这同样适用于限价订单(注释线)。测试仪的情况也类似。

 
fxsaber:
这不是终端的错误,而是MT5平台的问题。

在MQ-Demo上运行一些缓慢移动的符号。例如,EURHUF。

脚本在TP=Bid的情况下开出BUY头寸。也就是说,应该立即平仓。但是,只有在下一次打勾时才会检查TP是否符合接受条件。

仓位不会被立即关闭,直到下一个tick发生。此外,如果下一个tick的出价<TP,TP将保持不变,没有任何接受。


这同样适用于限价订单(注释线)。战略测试器的情况也类似。

请在关于MQL5的问题中附上一个干净的MQL5代码。

我已经厌倦了看到你的NASTY广告,断断续续。
原因: