错误、漏洞、问题 - 页 2068

 

在https://habrahabr.ru/post/342180/,对新的WebAssembly技术进行了相当有趣的概述。

WebAssembly (WASM) — новый бинарный формат, позволяющий запускать код в браузере...

WebAssembly的应用。

-加载时间较短
-更高的计算速度
-使用C/C++准备好的代码


考虑到关于可能的MQL代码编译的网络服务的媒介传言。
有一个合理的问题是,实施直接从基于WebAssembly的浏览器中运行自定义专家顾问项目的可行性。
Знакомство с WebAssembly
Знакомство с WebAssembly
  • 2012.11.17
  • habrahabr.ru
Эта статья основана на моём выступлении на ITSubbotnik, прошедшем в Рязани 14 октября 2017 года. На русском пока что довольно мало материала на эту тему, надеюсь что статья будет вам полезна. Disclaimer: Автор не является экспертом ни в WebAssembly, ни в JavaScript. Данная статья есть компиляция мыслей и идей, полученных из выступлений других...
 
Andrey Khatimlianskii:

把日志放出来,会更有意义。专家顾问和终端都是如此。

终端标签

2017.11.10 16:29:01.266 '8615385': order was opened : #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000
2017.11.10 20:37:38.949 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.277 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 closed at price 1.68356
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD closing at 0.00000 failed [Invalid parameters]

标签专家

        Line 8103: 2    16:29:01.266    Forex V2 EURNZD,M1: open #4448742  sell 0.02 EURNZD at 1.68131 ok
        Line 8104: 0    16:29:01.266    Forex V2 EURNZD,M1: Order #4448742  open

        Line 10145: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 1 закрытия/удаления ордера #4448742  Ошибка: 3
        Line 10146: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10147: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 2 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10148: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10149: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 3 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10150: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10151: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 4 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10152: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10153: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 5 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10154: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10155: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 6 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10156: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10157: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 7 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10158: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10159: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 8 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10160: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10161: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 9 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10162: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10163: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 10 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10164: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10165: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 11 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10166: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10167: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 12 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10168: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10169: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 13 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10170: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10171: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 14 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10172: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10173: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 15 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10174: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10175: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 16 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10176: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10177: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 17 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10178: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10179: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 18 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10180: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10181: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 19 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10182: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10183: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 20 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10184: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10185: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 21 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10186: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10187: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 22 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10188: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10189: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 23 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10190: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10191: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 24 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10192: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10193: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 25 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10194: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10195: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 26 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10196: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10197: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 27 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10198: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10199: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 28 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10200: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10201: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 29 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10202: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        Line 10203: 0   20:37:39.760    ExpertName EURNZD,H1: Неудачная попытка 30 закрытия/удаления ордера #4448742  Ошибка: 4108
        Line 10204: 3   20:37:39.760    ExpertName EURNZD,H1: unknown ticket 4448742 for OrderClose function
        
        Line 10243: 2   20:37:39.760    ExpertName EURNZD,H1: close #4448742  sell 0.02 EURNZD at 1.68131 at price 1.68356

在错误3之后,没有真正发生关闭。我已经明白了。

专家顾问1号正在平仓,而第二个也试图同时平掉相同的头寸。

我修复了工作逻辑,现在没有错误了。


但是:当循环内传递给OrderClose()的参数保持不变时,错误号从#3变为#4108。

为什么首先抛出的是3号错误,然后是4108号错误?- 这就是仍然存在的问题。

{如果我们看一下时间,那么我们有一个试图关闭一个锁定的订单(在这种情况下,错误139本身没有显示),但在它被关闭后(订单也相应地被解锁),我们得到错误3}。


为什么终端不给我们一个具体的错误,即订单被阻止,而我们得到的是太一般的错误3?

 
Kirill Belousov:

但是:当循环内传递给OrderClose()的参数没有变化时,错误号从#3改为#4108。

为什么先是3号错误,然后是4108号?- 这就是仍然存在的问题。

这是有1个OrderSelect的代码版本,不是吗?那么4108号是合理的。

3是当另一个EA关闭一个头寸时,4108是当我们试图关闭一个已经关闭的头寸 时。

 
Andrey Khatimlianskii:

这是有1个OrderSelect的代码版本,不是吗?那么4108号是合理的。

3是当另一个EA关闭一个头寸时,4108是当我们试图关闭一个已经关闭的头寸

对。

但为什么在试图关闭一个已经被关闭的订单时没有产生错误139?

毕竟,我们宁愿有错误139的情况。难道不是这样吗?

 

不正确的错误文本

void f( int &[] ) {}

class A
{
public:
  int Array[];
  
  void f2() const
  {
    f(this.Array); // 'Array' - constant variable cannot be passed as reference
  }
};
 
它不应该骂人
Print(NULL); // 'NULL' - expression of 'void' type is illegal
 
Kirill Belousov:

正确。

但是,为什么在试图关闭一个已经发送的订单时,139号错误没有出现呢?

毕竟,我们宁愿出现错误139的情况。难道不是这样吗?

我不知道。但它也不能被称为一个错误。

 
Andrey Khatimlianskii:

我不知道。但也很难说这是一个错误。

2017.11.10 16:29:01.266 '8615385': order was opened : #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000
2017.11.10 20:37:38.949 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.277 '8615385': close order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 at price 0.00000
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD at 1.68131 sl: 0.00000 tp: 0.00000 closed at price 1.68356
2017.11.10 20:37:39.745 '8615385': order #4448742 sell 0.02 EURNZD closing at 0.00000 failed [Invalid parameters]

如果你看一下终端日志,错误信息 3是 关闭位置 产生的,而不是在应该检测到服务器上的锁的时候。

139号错误信息几乎可以提前显示0.5秒。所有这些时间,专家顾问 "挂起 "来,在订单关闭后得到错误3。

顺便说一下,错误3无效参数在终端日志和4108只由于它的输出,而且只在EA标签中。看起来4108是客户端处理。

我只是想知道/了解这个逻辑,以便把它放在代码中,而不是通过科学的尺度来摸索......。)

在什么其他情况下会得到比这更多的错误139?

 
Kirill Belousov:

还有什么比这更好的情况来获得139号错误呢...?

一个挂单/SL/TP 被触发或一个头寸被止损平仓(也在服务器上)。

我不知道4108的情况。
但同样,我认为没有理由去研究它--如果2个EA同时发出平仓指令,其中一个肯定会出错(这有什么区别呢)。
处理非常简单--做OrderSelect和检查OrderCloseTime。

 
Ilnur Khasanov:

什么意思?
来自主持人。
不幸的是,由于一个技术故障,描述文本已被删除。 请再写一遍,并将产品送来验证。
我们对造成的不便表示歉意。

这不仅仅是一种不便,而且是一种痛苦,几次(每次--等待10天),然后删除并说:哎呀,对不起,我们删除了,不知怎么自己恢复了,然后再等10天。- 而当我试图这样做时,网站崩溃了......。

这到底是什么?要发生什么样的故障才会丢失? 没有历史记录可以恢复?该描述信息已经存放了几天了。
为什么这次没有弹出版主的信息?

我知道的是,这种擦拭问题不是一次就能解决的。这个所谓的故障,其实不是一个故障(可能是延迟),因为它不仅发生在我身上,而且不是在同一时间(这个问题存在了半年多了)!在这个问题上,我认为是有问题的。- 请评论...

并请修复它。如果你做不到,那就雇佣我吧。我将在一周内完成,花2000欧元。

真是一场惨败。

实际上,他们会恢复被删除的东西吗?我与版主的通信有一半都不见了。论坛上的信息已经消失。而且版主已经删除了那些空白的信息。
为什么没有维护模式?- 最好按照这样的顺序说:先是模式被激活,然后是工作在进行中,然后是模式被恢复。

我刚发了一条信息,网站就瘫痪了。我决定刷新一下--该网站已经关闭了......。

上面的评论是4天前写的,现在它又回来了,还说我已经改正了。我发布了产品的新版本,现在它又消失了。
这不是工作的方式--好吧,这并不严肃...
在给版主的新评论中,我重复了丢失的描述,以免再丢失。
如何处理该产品?用电子邮件发送?将其附在评论中?还是再试一次并等待24小时?