错误、漏洞、问题 - 页 1820

 
Maksym Mudrakov:

input string Somevalue = "Maxim";
...
void OnTick(){
   Comment(Somevalue);
}


MQL5程序打印出注释。

"1487811600"

为什么会发生这种情况?如何输出正确的字符串值?

寻找一个错误。或者发布完整的可重复的代码。检查代码

//+------------------------------------------------------------------+
//|                                                        Test.mql5 |
//|                                      Copyright 2017, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property script_show_inputs
//--- input parameters
input string Somevalue="Maxim";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Comment(Somevalue);
  }
//+------------------------------------------------------------------+


并没有重现这个错误。

我还建议你用 "打印 "代替 "注释"--有可能另一个程序会轻而易举地覆盖掉图表上的注释

附加的文件:
test.mq5  2 kb
 
在不同的图表上重新启动了EA,它工作正常了。这很奇怪。但感谢你的帮助。
 
Maksym Mudrakov:
在不同的图表上重新启动该EA,它就能正常工作。这很奇怪。但感谢你的帮助。
特别是你有一个变量输入--这种类型的变量不能在代码中重新分配--这就留下了第二个程序(EA或指标)的选择,它偷偷地捣乱并输出它的注释。
 
fxsaber:

谁明白答案,请解释。我还是不明白为什么OrderSend被认为是正常的

据我所知,OrderSend只等待订单 在服务器上排队处理,而不是等待处理的结果。
 
在优化过程中,测试代理 不断掉线。本地代理无法连接到127.0.0.1:3000并中止测试。
 
Комбинатор:
据我所知,OrderSend只等待订单 在服务器上排队处理,而不是等待处理的结果。
这就是不清楚的地方。
 
OrderSend 返回true,日志中出现了以下一行
2017.02.23 14:18:58.013 Trades  '5245006': failed buy limit 0.01 USDCNH at 6.85199 [Request rejected due to absence of network connection]
 

在应用程序中,有一个OrderSend-bug再现脚本。它在市场观察中运行,并在每个符号处打开BuyLimit。之后,它立即试图修改它(设置TP),然后删除它。如果修改或删除订单是不可能的,脚本就会停止,并给出相应的信息。

一切都是通过同步的OrderSend完成的。而我们几乎马上就会遇到这样的情况:在成功发送订单(设置BuyLimit)后,无法对挂单 进行任何操作(修改或删除)。

经营业绩

2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       ModifyError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED
2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       DeleteError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED

亲爱的开发者,这到底是不是OrderSend的一个错误?


然而,在TRADE_ACTION_DEAL的OrderSend并不终止,只要相应的订单有STARTED状态。

该脚本的所有乐趣都可以在FXOpen-MT5服务器上慢慢体验。

附加的文件:
 
fxsaber:

当市场订单成功开仓后,每次都会得到一个零的Result.deal?

来自SD的
不保证结果交易票会被填满。是否填充取决于仪器的执行模式和特定服务器的设置。
谁设置了非零结果。交易 - 采取行动。
 
OpenCL not found. Error code=5101
Error in OpenCL initialization. Error code=5101
CPU上的集成图形不支持OpenCL?这也不像是OpenCL需要GPU的原因。