模仿EA/指示器的刻度线 - 页 4

 
Zhunko:

仅以一个案例为例?

就拿我的代码库中的ChartBuilder来说吧。它可以使用大量的交易工具。如果对它挂起的仪器来说,有一段时间没有收到新的ticks,那么显示的值就已经不相关了(过时了)。

至于专家顾问+指标的组合,如果你的意思是将代码转移到专家顾问,以减少主线程的负载,似乎更合理的做法是将代码移植到DLL中,然后导入到 指标中。 如果你考虑移植代码,应该是在正常环境下。

 
Meat: 我找到了问题所在:数组必须在全局层面声明,而不是在局部层面。

no ticks....((((

记载。

18:33:34 测试 EURUSD,H1:加载成功
18:33:36 测试 EURUSD,H1: 初始化

鼠标右键 "更新图形"评论是"√":1,变成"√":2。

日志中没有错误

SZS: 通过检查 "启用代理服务器 "来切断互连,重新启动终端 - 没有连接,但当我检查该复选框时。SZY:通过勾选 "启用代理服务器 "关闭对讲机,重新启动终端--没有连接,但当你去掉关于代理服务器的复选框时,如何 "启动".....。;)

 
作为一个想法--一个单独的Exe,找到MT窗口--在其中滚动浏览窗口
并在设定的时间间隔内开始发送嘀嘀模拟。
 
jartmailru:
作为一个想法--一个单独的Exe,找到MT窗口--在它里面滚动窗口 ,并开始向它们发送模拟刻度。

我有一个和它一模一样的。只有在DLL中。但Alexey希望它没有第三方DLLs和EXEs。
肉类:

1.以我代码库中的ChartBuilder为例。它可以使用大量的交易工具。如果它所挂的仪器在一段时间内没有新的刻度出现,那么显示的值就已经不相关了(过时了)。

2.至于专家顾问+指标,如果你的意思是将代码转移到专家顾问,以减少主线程的负载,那么将代码转移到DLL中并将其导入指标中会更合理。如果你想费力地进行移植,你最好至少要在一个好的环境中进行。

1.我将再次重复这一点。如果你想对当前窗口之外的工具做出反应,你应该使用服务器的时间。这方面不需要WinAPI。MQL4有这样一个功能。

2.什么是约束力并不重要。这也是一个解决方案。循环的专家顾问对改变的服务器时间作出反应。这足以解决你所要解决的所有问题。

你只需要在周末模仿ticks来启动专家顾问。其他事情不需要它。我已经展示了如何更新指标。只有一句话。

=====================

最新版本的指标不能在Windows 7上运行。


 
IgorM:

no ticks....((((

...............

SZS: 通过勾选 "允许代理服务器 "的选项来切断互连。但当我取消了代理复选框时,它只是 "点击关闭".....。;)

伊戈尔,这种断开互联网连接的方式并不可取。在这种模式下,有很多东西是不工作的。没有必要关闭对互联网的访问。

例如,这个专家顾问的代码。

#include <WinUser32.mqh


void init()
 {
  int hwndChart = WindowHandle(Symbol(), 0);
  int nNewMessageWindow = RegisterWindowMessageA("MetaTrader4_Internal_Message");
  for (int i = 0; i < 200; i++) PostMessageA(hwndChart, nNewMessageWindow, 2, 1);
 }

void start()
 {
  int nCounter = 0;
  while (!IsStopped())
   {
    nCounter++;
    Comment(nCounter);
    Sleep(500);
   }
 }

在周末和没有蜱虫的时候可以工作,但在与互联网断开连接时就不工作了。那里有一些不明显的特殊性。

也许,他们已经在最新的构建中对其进行了优化。这在以前是可行的。

你最好选择一个很少更新的工具。

 
Zhunko:
我有一个这样的产品。只有在DLL中。但Alexey希望它没有第三方DLL和EXE。

1.再一次。要对一个不是来自当前窗口的工具做出反应,你需要使用服务器时间。这方面不需要WinAPI。MQL4有这样一个功能。

2.使用哪种约束力并不重要。这也是一个解决方案。循环的专家顾问对改变的服务器时间作出反应。这足以解决你所要解决的所有问题。

你只需要在周末模仿ticks来启动专家顾问。其他事情不需要它。我已经展示了如何更新指标。只有一句话。

=====================

最新版本的指标不能在Windows 7上运行。


我不明白你想证明什么,几个运行的文件比一个更酷吗? 当然,我可以运行一个循环的专家顾问,但我不认为在两个工作文件中制造这种混乱有什么意义,因为我可以在指标本身或一个连接的dll中做同样的事情。当然,我理解你更喜欢有几个不同的程序在运行,每个程序都执行其专门的功能:一个清理日志,另一个发送提示信息,等等。 但你的方法不是唯一正确的。

模仿ticks只是在周末启动专家顾问的必要条件

我重复,你错了。对蜱虫的需求并不取决于一周中的哪一天。我已经解释了原因。 如果你自己不做交易,但请相信我,我在过去几年里一直在做期货交易,你必须经常在那里更新点数。

 

有一个假设是,代码在安装了64位的地方不工作。我只有32个,所以我不能检查。 试着在PostMsgAddr后面插入四个空字节(不要忘记增加数组的大小)。也许会成功...虽然我猜你必须把其他两个参数也变成64位......还是没有?总之,我还没有在64位环境中工作过,所以我不知道。

 
Meat:


1.我不明白,你想向我证明什么?几个正在运行的文件比一个更酷?当然,我可以启动一个循环的专家顾问,但如果我可以在指标本身或链接的dll中做同样的事情,就没有必要制造这样一个由两个工作文件组成的混乱。当然,我理解你喜欢有几个不同的程序在运行,而且每个程序都在执行其专门的功能:一个清理日志,另一个发送蜱虫等。但只有你的方法不是唯一正确的方法。

2.你又一次错了。对蜱虫的需求并不取决于一周中的哪一天。我已经解释了原因。除非你自己是个交易员,但请相信我,我在过去几年里一直在做期货交易,经常有必要在那里更新点位。

1.现在我不明白...我哪里说了什么是更酷的?我已经重申过很多次了,嘀嗒声的模拟对于交易来说是没有必要的。只有在周末调试时才需要它,因为没有刻度线。

2.你如何根据指标进行交易?MQL4并没有提供这个功能。你需要一个专家顾问或一个脚本。专家顾问会循环并将服务器时间 与前一个时间进行比较。如果有不匹配的情况,你就以TS规定的方式做出反应。这就是全部!没有必要进行任何仿真。你在证明什么?我已经在不同的帖子中写过几个版本。你必须在周末运行这样一个专家顾问来调试它。我写了上面的代码。

 
Zhunko:

1.现在我不明白...我哪里说了什么是更酷的?我已经多次重申,交易不需要tick模拟。只有在周末调试时才需要它,因为没有刻度线。

2.你如何根据指标进行交易?MQL4并没有提供这个功能。你需要一个专家顾问或一个脚本。专家顾问会循环并将服务器时间与前一个时间进行比较。如果有不匹配的情况,你就以TS规定的方式做出反应。这就是全部!没有必要进行任何仿真。你在证明什么?我已经在不同的帖子中写过几个版本。你必须在周末运行这样一个专家顾问来调试它。我写了上面的代码。

但那些交易的人可能更清楚,你不觉得吗?

我不想通过一个指标进行交易,我也不需要一个循环的专家顾问形式的额外东西,因为滴答的指标已经很足够了。

 
Meat:

所以我的意思是:如果你没有任何交易,那么你个人不需要这种模拟。 但是那些做交易的人可能更清楚,你认为呢?

我不想通过一个指标进行交易,而且如果嘀嘀嗒嗒的指标已经足够了,我也不需要一个循环的专家顾问形式的额外东西。

你如何使用勾股指标进行交易?MQL4没有这样的规定。

真的!如果我可以在一个循环的专家顾问中做所有的事情,为什么我还需要一套额外的不能交易的滴答指标?将不需要WinAPI,MT4界面不会变得迟钝,专家顾问的运行速度将提高3倍。为什么要把事情搞得这么复杂?