错误、漏洞、问题 - 页 1846

 
Konstantin:

谢谢你的例子,但我不想因为一个数组就创建一个复杂类型的 对象,这看起来都是过度的代码))。


关于复杂类型的这些幼稚的废话是什么?这是基本的胡说八道。
你在谈论C++,但你有没有研究过STL库?(那里是一个地狱)。

问题以最可接受的方式解决,这可以在合理的时间内找到。
然后,如果有必要,你可以尽情地重构,但几乎不会走到这一步。

为一些库使用包装类,有时是标准功能,大致是 "门面 "模式的一个变种。

 

MQL有自己的标准库 和容器。
在我做自由职业者的时候,大约两年前就用过它。在我个人看来,速度不是很快,也不是很方便。

但现在他们为MQL功能添加了足够的模板+函数指针。
我怀疑开发者是否分配了资源来调整标准容器库以适应新的功能。
但标准库仍然比大多数自写的拐杖要好。

 
Sergey Dzyublik:


关于复杂类型的这些幼稚的废话是什么?这是最基本的。
你有没有研究过STL库?(这就是魔鬼断腿的地方)。

问题以最可接受的方式解决,这可以在合理的时间内找到。
然后,如果有必要,你可以尽情地重构,但几乎不会走到这一步。

为一些库使用包装类,有时是标准功能,大致是 "门面 "模式的一个变种。


有些时候,为了从方法中获取数组而创建一个封装类多余的,我不介意把数组作为一个缓冲区来获取,但如果像C++中那样通过指针来获取会更常见,但既然不可能,这并不意味着你需要做开销))

 

我请你介绍一下Metaquotes-Demo上交易所符号的平均MOEX经纪人佣金。

目前,没有任何佣金,你可以在演示 和测试器上 获得奖金。

 
fxsaber:

我请你介绍一下Metaquotes-Demo上交易所符号的平均MOEX经纪人佣金。

目前,没有任何佣金,演示者 和测试者可以得到奖金。


当在交易所工具上演示时,包括佣金不会帮助你摆脱圣杯--一般来说,佣金取决于汇率,好吧,让我们假设它,如在关税计划中的通用,约0.5点,即对于一轮你给的佣金=1tica。

考虑到在模拟交易中,开仓和平仓都是最后一次,即没有点差,这1个点的佣金也不会有什么影响。

你和测试者之间的差异也是不同的。

 
kaus_bonus:


在交易工具的演示中,包含佣金不会帮助你摆脱圣杯--一般来说,佣金取决于汇率,好吧,让我们假设它是,如关税通用,约0.5点,即对于一轮你给的佣金=1tic

我不了解虱子的情况。佣金的数额总是有一定的百分比。我有一个 关于限价单的圣杯。在那里,希望炒房者不受影响。

例如,如果你得到的佣金是1点,如果你在演示中打开和关闭交易,不会有任何区别,也就是说,你不考虑点差。

如果是这样,这就不是一个错误。

如果是这样,那就不是软件的问题,而是脑袋的问题。

 
看来 需要检查测试器的正确性。
 
fxsaber:
看起来 应该检查测试器的正确性。

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

MetaTrader 5客户终端构建中的变化清单

MetaQuotes软件公司。, 2016.09.14 16:24

新版MetaTrader 5 build 1430:更新了曝光标签

  1. 测试员:在交易所工具上测试时,取消了买入限价单和卖出限价单的执行滑移。
测试者的专家顾问(Metaquotes-Demo)。
#include <MT4Orders.mqh>

// Скольжение лимитника на RTS-6.17
void OnTick()
{
  MqlTick Tick;    
  SymbolInfoTick(_Symbol, Tick);

// 2017.04.06 10:00:00                [time]   [bid]   [ask]  [last] [volume]    [time_msc] [flags]  
// 2017.04.06 10:00:00   2017.04.06 10:00:00  114200  114260  114200        2 1491472800335      56  
  if (Tick.time_msc == 1491472800335)
    OrderSend(_Symbol, OP_BUYLIMIT, 1, 114250, 0, 0, 0);
}

结果

2017.04.07 18:18:45.366 RTS-6.17 : real ticks begin from 2017.04.06 00:00:00
2017.04.07 18:18:45.778 2017.04.06 10:00:00   buy limit 1.00 RTS-6.17 at 114250 (114200 / 114260 / 114200)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order [#2  buy limit 1.00 RTS-6.17 at 114250] triggered
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal #2  buy 1.00 RTS-6.17 at 114240 done (based on order #2)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal performed [#2  buy 1.00 RTS-6.17 at 114240]
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order performed buy 1.00 at 114240 [#2  buy limit 1.00 RTS-6.17 at 114250]

限制交易符号的滑点 - BAG!

 
在Metaquotes-Demo模拟账户上,交易所订单的限价单也在滑动。BAG!
 
A100:

30多分钟过去了,仍然没有OnDeinit->M5的调用。

现在让我们来改变专家顾问的代码(稍微改变一下顺序)...

结果。

2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5:1 立即调用,没有延迟!
2017.02.06 01:31:48.409 OnInit->M15


人们注意到,在日志中,它漏掉了一些行

OnDeinit - 可能已经起作用了,但对于一个大的输出流,它会跳过输出。

我写了一个演练,其中包含3行Print("1"); Print("2"); Print("3")。

我在输出中得到了一个和另一个的跳动。