程序库: Expert - 页 9

 
vek_y4icb:
很酷的库!我还没想到用这种方式来实现 EA 打开。您能告诉我如何在不使用 dll 的情况下使用 mql 定义活动图表吗?我在 winapi 上做了一些工作,但结果发现太麻烦了:

也许您知道如何在 mql 上实现这种情况,或者至少使用 dll,但更简单?

如果终端中的子窗口被最大化,那么它就是一个(其他窗口不被视为最大化)。因此,您可以在 ChartFirst/ChartNext 循环中检查ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value),其中 value 将为 1 - 这是活动窗口。

 
Stanislav Korotky:

如果终端中的一个子窗口最大化,那么它就是一个(其他窗口不视为最大化)。因此,可以在 ChartFirst/ChartNext 循环中检查 ChartGetInteger(id, CHART_IS_MAXIMIZED, 0, value),如果值为 1,则为活动窗口。

这与我的需要有点不同。不过还是谢谢你

 
fxsaber:

一个小技巧是在 OBJ_CHART 对象上运行 EA/脚本。

这样启动的智能交易系统就会挂掉 - 它们不会以任何方式被执行。但脚本却能完美运行。因此这提供了一些可能性。

例如,您可以在已经运行了智能交易系统的图表上使用指标的订单函数。而且无需打开新的辅助图表。


编译 脚本 Scripts\OrderSend.mq5


并运行 "可以交易 "的指标

下午好。我遇到了以下问题。在OBJ_CHART 上启动智能交易系统时,它拒绝使用 OnTick。您知道是否有使 OnTick 正常工作的解决方案吗?

 
vek_y4icb:

下午好。我遇到了以下问题。在OBJ_CHART 上启动智能交易系统时,它拒绝使用 OnTick。您知道有什么办法可以让 OnTick 正常工作吗?

您自己也引用了关于 OBJ_CHART 上的智能交易系统死机的信息。这是 MT5 的限制。

 
fxsaber:

您自己也引用了关于 OBJ_CHART 上 EA 死机的信息。这是 MT5 的限制。

OnTimer 对其有效。

 
vek_y4icb:

OnTimer 对它们起作用。

你去查查会更快,我不记得了。

 
fxsaber:

你查一下比较快,我不记得了。

不,这不是一个问题)OnTimer 对这类专家有效,这才是重点。但 OnTick 绝对拒绝这样做。

 
一般来说,据我所知,OnTick 根本无法在这样的智能交易系统上启用,也没有任何变通办法?
 
vek_y4icb:
一般来说,据我所知,在这样的智能交易系统上根本不可能启用 OnTick 功能,也没有任何变通办法?

没有启用 On 功能的变通方法。您可以在高频 OnTimer 中调用 OnTick,然后通过 CopyTicks 获取(必要时)缺失的刻度。

 
fxsaber:

没有包含 On 函数的变通方法。可以通过在高频 OnTimer 中调用 OnTick,并通过 CopyTicks 获取(如有必要)缺失的 tick 来模拟。

我就是这么做的。感谢您的回复!