错误、漏洞、问题 - 页 1203

 

当然,在真正的交易所服务器上,出售和购买的数量是分开的。

在测试交易所服务器上(不要与外汇混淆),报价往往来自一个完全不同的测试模拟系统,交易所的 "演示服务器 "绝不应该用于分析。

 

执行过程中的错误:指针的铸造不正确(构建977,但之前也时常发生)。

//AAA15.mq5
#define  PF              Print( __FUNCTION__ );
#define  PFI( i )        Print( __FUNCTION__, " ", i );
class A { public:
};
class R { public:
        void y( A* a )          { PF  ((B *)a).g( 1 ); }
};
class L : public R { public:
        void y( A* a )          { PF  ((B *)a).g( 2 ); }
};
class B : public A { public:
        virtual void g( R* r )  { PF  r.y( GetPointer( this ) ); delete( r ); }
        virtual void g( int i ) { PFI( i ) }
};
class C : public B { public:
        virtual void g( int i ) { PFI( i ) }
};
#import "AAA17.ex5"
        C *f();
#import "AAA16.ex5"
        void h();
        R *w();
#import
#ifndef  HEADER
void OnStart()
{
        f().g( w() );
        h();
}
#endif
//AAA16.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
void h() export { PF  f().g( w()); }
R *w()   export { PF  return new L(); }
//AAA17.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
class X { public:
        X()           { PF  c = new C(); }
        virtual ~X()  { PF  delete( c ); }
        C *c;
};
static X x;
C *f() export { PF  return ( x.c ); }

如果你移动了一些东西(例如,交换声明#import)或制作2个文件而不是3个,或删除h()调用--那么就会出现其他错误而不是指定的错误。

如果你重新编写上面的代码,它最终会调用R::y而不是L::y

在一个更复杂的版本中,一些来自模块的普通函数被调用到(!)静态构造函数本身之前(就像在上面的例子中f()被调用到X::X之前,而后者又被正确地调用到OnStart之前)。我将尝试举出一个例子,但有巨大的文件。但有时它能正常工作,所以错误不在我,因为对象创建的顺序 是由编译器本身定义的,我不能改变它。

 

我还注意到,如果主模块(OnStart)的变化不大(增加了一些变量或Print),它经常无法启动,直到所有使用的ex5模块被重新编译。这时,Experts中的信息告诉我们,在ex5的一个非核心模块中没有已知的功能(在重新编译所有模块后证明是可以操作的)。

而且通过实验发现,在静态构造函数之前被调用的函数(!)恰恰是由这个函数调用的(MT无法定期找到)。

 
亲爱的程序员们,谁能告诉我如何为市场准备一个EA?你可以亲自写信给我和/或在这里。
 
yosuf:
亲爱的程序员们,谁能告诉我如何为市场准备一个EA?我可以当面和/或在这里做。
你可以单独开一个话题,然后在其中讨论这个问题。
 
今天,MT4出现了一个奇怪的故障:终端 "导航 "中MetaQuotes-Demo服务器上的模拟账户突然被移到另一个经纪商的列表中。我不得不从终端删除这个游离的账户,然后重新输入。
 
Renat:

当然,在真正的交易所服务器上,出售和购买的数量是分开的。

在测试交易所服务器上(不要与外汇混淆),报价往往来自完全不同的测试模拟系统,交易所的 "演示服务器 "绝不应该用于分析。

雷纳特。

谢谢你

 
Renat:
А время было торговым? Лучше всего обратиться в службу поддержки брокера.
Время торговое, тики тикают. К брокеру обратился. Они ответили, что российские CFD - индикативы. Почему они отображаются в терминале черным, они не знают.
总的来说,继续研究产生了以下结果。当把鼠标光标放在市场概览中的股票上时,会出现一个工具提示,灰色的符号上写着 "交易:不",但对于俄罗斯差价合约,显示的是 "交易:关闭"(应该再次指出,此刻是交易时间,符号上的刻度也是如此)。由此我得出结论,经纪人有几个级别的交易禁制,其中只有一些(甚至只有一个)被标记为灰色,其余的都与活跃的符号堆在一起,因为它们被显示为黑色。
 
marketeer:
总之,进一步的研究得出了这些结果。当把鼠标光标放在市场概览中的代码上时,会出现一个工具提示,其中灰色的符号写着交易:不。但对于俄罗斯差价合约,显示为黑色,显示为交易:关闭(应该再次指出的是,时间是交易,符号上的刻度在这一刻出现)。由此我得出结论,经纪人有几个级别的交易禁制,其中只有一些(甚至只有一个)被标记为灰色,其余的都与活跃的符号堆在一起,因为它们被显示为黑色。

有人提出了一个关于人物着色的问题。

以下是关于MQ^演示服务器上着色的具体答案

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

在市场观察中着色

barabashkakvn, 2014.05.12 18:55

以下是服务台的答复:"在我们的服务器上,符号的背景颜色 基本上没有任何意义。

如果我们具体谈及符号名称中的字体颜色:灰色意味着该符号的交易被禁止,纯黑色意味着允许交易。

也就是说,为了解读符号的背景颜色,你需要联系你的经纪人,而且没有统一的颜色标准。

但这里有一个承诺,就是要解决这个问题。

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

市场观察中的色彩

雷纳特, 2014.05.13 12:37

颜色的疯狂在很久以前就应该被解决。

我们将增加一个颜色重置命令和新的命令来对窗口中的仪器进行分组和排序。

MT4/MT5的指令系统、菜单和界面有了彻底的升级,在5月25日的iFX EXPO之前将有一个测试版。一般来说,新的建筑将给交易者带来惊人的机会。


 
barabashkakvn:

有人提出了一个关于人物着色的问题。

以下是关于MQ^演示服务器上的着色的具体答案

并在此承诺要解决这个问题。


有可能。只是在实际中,它还不是很方便,因为用户界面有误导性。等待改进。