错误、漏洞、问题 - 页 1611

 
Slawa:
四维测试器只有OnInit, OnTick, OnDeinit。没有计时器,没有图表事件,没有来自外星角色的刻度,甚至连测试员的睡眠都不工作了

谢谢你的答复。据我所知,你不打算最终确定定时器处理程序?

 

新编译器版本中的错误,构建1354。

2016.07.08 14:10:04.626 MetaCOT2 COT Absolute Changes (EURUSD,H1) math overflow or undefined calculation detected. Check source code, please

该信息在OnInit被调用之前就发生了。没有使用复杂的对象。也没有进行计算。在以前的版本中,一切工作都很正常。

在加载任何自定义指标 时出现。

 
coderex:
你想要std::cout和std::cin吗?

不,它早已经过去了。

与C++不同,MQL中的printf()在没有被要求的情况下会移动到新的一行,这很不方便。

 

这里同时存在着几个错误

class B;
class A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
class B : public A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
void OnStart() 
{
        A a;
        a.f().f();
}

1.从基类到派生类的隐式转换。它必须是明确的,否则你会得到一个错误信息

        virtual B *f() { Print( __FUNCSIG__ ); return (B *)&this; } //(*)
2.执行错误:结果(自下而上)

B* B::f()
B* A::f()

但如果你用C++重写它,结果将是

B* A::f()
B* A::f()

 
如果有的话,这里也有一个投错。将&this投给B*,应该抛出一个错误。从正面看,它应该是做同样的事情。
 
Комбинатор:
如果有的话,这里也有一个投错。将&this投给B*,应该抛出一个错误。顺便说一句,也是在加号中。
允许显式转换(与C++检查)。
 
A100:
显式转换是可以接受的(在C++中检查)。
这里需要dynamic_cast,它能用吗?
 
Комбинатор:
这里我们需要dynamic_cast,它能起作用吗?
如果
        virtual B *f() { Print( __FUNCSIG__ ); return dynamic_cast<B *>( &this ); }

则执行结果是正确的(从下到上)。

无效的指针 访问
B* A::f()

 
A100:

你的例子中的另一个铸件不能正确工作。

因此,在mql类型转换 中存在一个错误,它应该展开为动态投射,事实上没有发生或没有正确发生。

 

亲爱的先生们!

MT4有一个非常方便的拖动设置止损单的方法:当我把光标拖离交易线时,我可以立即看到如果交易以光标所在的价格收盘,将获得多少利润。

在我的交易中,我使用一种策略,我经常需要一个类似的工具,但不是针对单一的交易,而是针对特定图表上的所有交易。

也就是说,我想,当我把光标设置在任何价格上时,我想看到总利润的大小,这将是如果所有的交易都在光标设置的价格上关闭。

而且,如果当我释放鼠标按钮时,所有未平仓的交易都自动设置为该利润的正确止损点和止盈点,就像目前单一交易的情况一样,这将是相当奢侈的。

也许我想得太多了,但我已经描述了一个理想的情况。至少我想要一个计算器,输入未平仓交易的水平和数量(所有交易都是单向的,要么全部卖出,要么全部买入)和收盘价,并在达到给定价格 时, 输出关闭所有交易后的总利润。或者,例如,它可以是一个水平线 形式的指标,显示收盘时集团利润将为零的价格。我目前正在用计算器手工计算,但它非常长,可能会导致错误。

我想自己在市场上寻找,但我不知道该找什么。它应该是一个专家顾问,一个指标,一个机器人或其他东西?如果没有现成的东西,我准备讨论编写这种工具的订单条款。