错误、漏洞、问题 - 页 1634

 
fxsaber:
LifeHack:获得任何数量的可视化窗口。
从Metaeditor进行历史调试 - CTRL+F5。不要关闭出现的可视化窗口,而是关闭终端窗口。那么你就从头开始。因此,会出现新的可视化窗口,这在分析EA结果的变化时很有用,这取决于代码的变化。

它可以更简单。要用前进的方式开始可视化。

下一个可视化将在第二个,即向前的可视化中开始。

 
fxsaber:
我希望在Tester->Settings中看到 "Start后删除以前的日志 "这个选项。每次都要在Tester->Journal中点击 "删除日志",很累人。显然,在极少数情况下,以前的回测日志可能是有用的。大多数时候都不需要它们。因此,自动删除旧日志的选项对于方便和节省HDD/SDD的空间都很有用。
这就对了。" 在少数情况下可能 会派上用场"
 
fxsaber:
我如何知道账户/测试器的对冲模式是否开启/关闭?在离线帮助中没有提到这一点。

将鼠标悬停在导航器中的账户上。你可以在账户工具提示中看到它。

当你连接到账户时,终端日志显示净值或套期保值

 

之前在应用程序#1534780 中,关于领先的构造函数调用,所附代码的结果是

2016.08.10 16:39:26.982 测试(GBPUSD,M15) void A::~A():12855
2016.08.10 16:39:26.982 测试(GBPUSD,M15) OnDeinit:3
2016.08.10 16:39:26.975 测试(GBPUSD,M4) void A::A() : 17233
2016.08.10 16:39:15.587 测试(GBPUSD,M15) void A::A() : 12855

回答(*)如下。

支持团队 2016.08.11 13:35

没有引导性调用,当你改变时间框架时,会创建一个新的指标(克隆),然后删除以前的指标。


如果是这样,那么下面的例子显示了一个延迟的构造函数调用

行动的顺序。

  1. 打开GBPUSD,M15的新图表
  2. 时间框架 改为H1
  3. 将Test.ex5指标附在图表上
  4. 将图表周期改为M15

结果。

2016.08.11 15:51:51.188 测试(GBPUSD,M15) void A::A():17936
2016.08.11 15:51:50.932 测试(GBPUSD,H1) void A::~A():12285
2016.08.08.11 15:51:50.931 测试(GBPUSD,H1) OnDeinit:3
2016.08.11 15:51:39.421 测试(GBPUSD,H1) void A::A() : 12285

应该是(见*)--下划线的一行应该在第二位(时间上),而不是最后。

//Test.mq5
class A { public:
        A() : a( MathRand()) { Print( __FUNCSIG__, ":", a ); }
        virtual ~A()         { Print( __FUNCSIG__, ":", a ); }
        int a;
};
static A a;
void OnInit() {}
void OnDeinit( const int reason ) { Print( __FUNCTION__, ":", reason ); }
int OnCalculate( const int rates_total, const int, const int, const double& [] ) { return rates_total; }
 

指标计算 在一个单独的符号线程中进行,设置图表周期和创建克隆在一个GUI线程中进行。

这就是为什么会出现这样的情况:在前一个指标被删除之前就计算出一个新的指标,反之亦然。

字符流操作(抽象的)。

  1. 行动 #1
  2. 行动#2
  3. 行动#3--指标的计算
  4. 行动#4
  5. 行动#5 - 检查并删除未使用的指标
  6. 行动#6
  7. 行动#N
  8. 如果不停止流动,则跳到步骤1

取决于符号流处于哪个点,初始化新指标和删除旧指标的顺序取决于它。

 
Slawa:
这就对了。" 在罕见的场合可能 会派上用场"。
因此,当用户特别要求时,不写千兆字节是符合逻辑的。反正你必须手动清理它们。
 
Slawa:

将鼠标悬停在导航器中的账单上。你会看到该账户的工具提示。

连接到账户后,终端日志将显示净值或套期保值

如何?
 
fxsaber:
在程序上如何?
ENUM_ACCOUNT_MARGIN_MODE margin_mode=(ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE);
bool is_hedging=(margin_mode==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
 
fxsaber:
我如何知道账户/测试器的对冲模式是否开启/关闭?离线帮助对此只字未提。

MQL5参考 - 标准常量、枚举和结构 -环境状态- 账户信息 - ENUM_ACCOUNT_MARGIN_MODE

MQL5参考手册 - 账户信息 - AccountInfoInteger - ENUM_ACCOUNT_INFO_INTEGER - ENUM_ACCOUNT_MARGIN_MODE

MQL5\Include\Trade.mqh - CTrade::IsHedging

 
Slawa:

MQL5参考 - 标准常量、枚举和结构 -环境状态- 账户信息 - ENUM_ACCOUNT_MARGIN_MODE

MQL5参考手册 - AccountInfoInteger - ENUM_ACCOUNT_INFO_INTEGER - ENUM_ACCOUNT_MARGIN_MODE

MQL5\Include\Trade.mqh - CTrade::IsHedging

谢谢你!对不起,我是用Hedge这个词来搜索的。