错误、漏洞、问题 - 页 1655

 
coderex:
也许是结构构造器的问题,反正它就在那里。
为什么如此不确定?当然是这样的 :)
 
Andrey Barinov:
为什么如此不确定?当然是这样的 :)
我不太确定,因为我不知道该怎么做,我把终端更新到1395,现在我不知道如何回滚到1375,因为机器人停止了它应该做的事情......
 
Andrey Barinov:
为什么如此不确定?当然是这样的 :)
好吧,分解器在哪里?
 
Vladimir Pastushak:
好吧,分解器在哪里?
最重要的是,其他东西都在哪里?
 

在按下 "开始 "后,离线测试器不会恢复到初始状态--"停止 "按钮永久点亮。当测试间隔超过了可用的历史记录时,就会发生这种情况。

2016.08.28 10:19:48     Core 1  RTS-9.16: read container failed
2016.08.28 10:19:48     Core 1  RTS-9.16: ticks synchronization started
2016.08.28 10:19:48     Core 1  RTS-9.16: history synchronized from 2015.06.22 to 2016.08.25
2016.08.28 10:19:48     Core 1  RTS-9.16: load 2651 bytes of history data to synchronize in 0:00:00.016
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol synchronized, 3224 bytes of symbol info received
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol to be synchronized
....
2016.08.28 10:19:41     Tester  RTS-9.16,M1 (BCS-MetaTrader5): testing of Experts\Test.ex5 from 2016.08.01 00:00 to 2016.08.28 00:00

 
请解释为什么你不能使用代码中的结构?以及如何改变(显然,MQL的一种新的指针),使这样的结构发挥作用?那么它是否会放慢速度呢?
void f1( int i1, int i2, int i3, int i4, int i5 ) {}
void f2( int i1, int i2, int i3, int i4, int i5 ) {}

void OnStart()
{  
  bool Condition = true;
  
//  (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5); // 'f1', 'f2' - expression of 'void' type is illegal

  if (Condition)
    f1(1, 2, 3, 4, 5);
  else
    f2(1, 2, 3, 4, 5);
  
  (Condition ? f1 : f2)(1, 2, 3, 4, 5); // Почему так нельзя? Как сделать, чтобы можно было?
}
 
fxsaber:
请解释为什么你不能使用代码中的结构?以及如何改变(显然,MQL的一种新的指针),使这样的结构发挥作用?而且会不会造成滞后?

试试这个

int b = (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5);
 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

A100, 2016.08.25 14:49

执行时出错

在一个更复杂的版本中再现为:EX5加载失败

在构建1398中,"EX5加载失败 "的错误仍然存在(显然与该例子无关)。

//Script1.mq5
typedef void (*fn)();
#import "Script2.ex5"
        void g( fn );
#import "Script3.ex5"
        void h();
#import
void OnStart() { g( h ); }
//Script2.mq5
#property library
typedef void (*fn)();
void g( fn f ) export { f(); }
//Script3.mq5
#property library
void h() export {}
 
Vladimir Pastushak:
你自己是否使用存储?

四天后回复。但正如他们所说,迟到总比不到好。

很少,但我使用金库。主要是为了保存我已经完成的工作,避免损失。我也是通过存储从电脑转移到电脑。我之前用过Yandex-disk。但在那里转移,这就是应该做的许多操作。

在第一台电脑上,打开Yandex,选择文件,上传它。

在第二台电脑上,接收者:打开Yad,选择一个文件,下载,在编辑器中创建一个新代码,复制下载的代码,然后编译。

而且,由JD主持的版本也没有额外的混乱。

我有这样的问题。存储工作。我连接不同的计算机,代码被转移。但我无法从我的账户中查看。没有 "预览 "按钮。在Projects文件夹里有一些文件。

 

你好,我使用ChartSetInteger 函数(MT5 1395构建)来改变指标窗口的高度。

 if(!ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS, 1, subWindowPixels))
    {
        Print(__FUNCTION__+", Error Code = ",GetLastError());
        return;
    } 
这样调整窗口大小后,指示器窗口被锁定,不能再手动调整大小。
在下一个主题https://www.mql5.com/en/forum/59754, MT4的这个问题的解决方案是将指标窗口大小设置为0像素,但在MT5上这个方法不起作用。如果你能以某种方式解决这个问题,请告知。谢谢你。