在mql4中用什么来代替OnTradeTransaction()? - 页 5

 
Vitaly Muzichenko:

今天我面临的事实是,一个仓位关闭,另一个仓位打开,而且几乎是在同一时间的点位之间。

最后OrdersTotal()仍为8。专家顾问的逻辑被混淆了 - 它没有重新计算新的数据

这正是我所想的,我不喜欢这样。虽然我的情况会略有不同,但本质是一样的。我在想。

 
Aleksandr Volotko:

这正是我所想的,我不喜欢这样。虽然我的情况会有一些不同,但重点是一样的。我在想。

亚历山大,你不会找到比阿特姆-特里什金的图书馆更好的东西。虽然他在批评我,但这只是关于mql5的问题,我在mql4中做得不多,这就是为什么我不使用那个库。我已经启动了一个专家顾问,并试图使用它,但我放弃了。 这个想法在实施完成之前就被证明是无能的......。)))

IMHO,在搜索历史的基础上建立一个算法不是最好的选择。而改变历史的大小就更糟糕了。一个问题已经由维塔利描述过了。 另一个问题是,如果我们不是只为自己写作,一般来说是不能接受的。mql4上历史订单的数量 取决于深度选择

想象一下,用户决定查看今天的历史,然后是一个星期和几个开关的历史......。如果EA愿意的话,它就会发疯,))))

 
Aleksandr Volotko:

这正是我所想的,我不喜欢这样。虽然我的情况会有一些不同,但重点是一样的。我在想。

订单 和头寸的属性 的哈希值。符号被编码为构成其名称的字符代码的总和。但那时只有一个完整的循环。当哈希和发生变化时--看看发生了什么。
 
Artyom Trishkin:
订单 和头寸的属性 的哈希值。符号被编码为 构成其名称的字符代码的总和。但那时只有一个完整的循环。当哈希和被改变时--看看发生了什么。

怎么说呢?

 
Alexey Viktorov:

亚历山大,你不会找到比阿特姆-特里什金的图书馆更好的东西。我不知道为什么我没有使用它。 我已经开始一个EA试图使用它,但我放弃了。我已经启动了一个专家顾问,并试图使用它,但我放弃了。 这个想法在实施完成之前就被证明是无能的......。)))

IMHO,在搜索历史的基础上建立一个算法不是最好的选择。而改变历史的大小就更糟糕了。一个问题已经由维塔利描述过了。 另一个问题是,如果我们不是只为自己写作,一般来说是不能接受的。mql4上历史订单的数量 取决于深度选择

想象一下,用户决定查看今天的历史,然后是一个星期,再换几次......。如果专家顾问想要)))),它就会疯掉。

Alexey,OrdersHistoryTotal()的 工作原理很清楚,"选择期 "总是有填充或截断的情况。

 
Vitaly Muzichenko:

Alexei,OrdersHistoryTotal()工作正常,它总是填补或减少 "选择期"。

我不明白。你是说它不取决于终端的设置?是否有任何这样的变化?

 
Alexey Viktorov:

我不明白。你是说它不取决于终端的设置?是否有任何这样的变化?

没有,但也许我们在谈论不同的事情。

static __TotalHist = -1;
int HT=OrdersHistoryTotal();
  if(HT!=__TotalHist)
   {
     SetHistory();
     __TotalHist=OrdersHistoryTotal(); // запомним количество
   }

这将永远有效。

它可能在100,500个案例中的1个案例中不起作用。

static __Total = -1;
int OT=OrdersTotal();
  if(OT!=__Total)
   {
     SetMarket();
     __Total=OrdersTotal(); // запомним количество
   }
 
Artyom Trishkin:
订单 和头寸的属性 的散列和。符号被编码为构成其名称的字符代码的总和。但那时只有一个完整的循环。当哈希和发生变化时--看看发生了什么。

在代码中给出一个例子 - 这是一个必要的功能

 
Alexey Viktorov:

IMHO,这不是在搜索历史上建立算法的最佳方式。

我甚至没有想到要去碰OrderHistoryTotal(),为什么?

 
Igor Makanu:

在代码中给出一个例子 - 这是一个必要的功能

在我的文章中描述过。这几乎是在最开始。而对于MQL4--在关于与4的兼容性的文章中。
从手机上很难给出一个链接。但是如果你打开最近的任何一篇,在最后有一个所有文章的清单。