模仿EA/指示器的刻度线 - 页 5 12345678 新评论 Igor Makanu 2012.11.08 14:35 #41 Zhunko: 伊戈尔,这种断开网络连接的方式并不好。很多东西在这种模式下都不起作用。你不需要禁用互联网接入。不,他的齿轮--在第一页,在winHp中工作正常,你错了,但在win7中,由于某些原因,它不愿意为我工作。 肉类:有一个假设,即代码在有64位win的地方不工作。我只有32个,所以无法检查。不,我有win7 max 32bit Vadim Zhunko 2012.11.08 15:52 #42 IgorM:不,他的齿轮--在第一页,在winHP中工作正常,你错了,但在win7中由于某些原因,它不想为我工作。 伊戈尔,我说的不是阿列克谢的代码,我说的是切断与互联网的连接。 Alexey Navoykov 2012.11.08 16:59 #43 Zhunko: 你如何从一个滴答的指标进行交易?MQL4并没有提供这些。 真的!如果我可以在一个循环的专家顾问中做所有的事情,为什么我还需要增加不能交易的滴答指标?这不需要对WinAPI有任何困难,MT4界面不会变得更慢,EA的运行速度将提高三倍。为什么要把事情搞得那么复杂? 好吧,让我们离开这个讨论,反正它不会导致任何建设性的东西,很可能相反。你已经开始歪曲(我不知道是有意还是无意)我所写的意思,我在俄语中写道,我不是用指标交易,而是用metatrader交易,而你又在谈论某种用指标交易。 如果你从我所说的话中理解错了什么,那么我解释:"交易中使用指标 "这句话并不意味着交易由指标执行。 Vadim Zhunko 2012.11.08 17:10 #44 Meat: 我已经开始扭曲(我不知道是有意还是无意)我所写的内容的含义。你已经开始歪曲(我不知道是有意还是无意)我所写的意思,我在俄语中写道,我不是从指标上进行交易,而是从metatrader上进行交易,而你又在说一些从指标上进行的交易。 如果你误解了我之前说的一些话,那么我解释一下:"指标用于交易 "这句话并不意味着指标执行交易。 那么,一个接收指标信号的专家顾问是如何交易的?当然,MT4也能做到这一切?这是否正确?如果是这样,我的问题仍然存在。为什么不让专家顾问来做这一切呢?这是理性的做法。 Igor Makanu 2012.11.08 17:16 #45 Zhunko: 伊戈尔,我说的不是阿列克谢的代码,我说的是切断与互联网的连接。 是的,我明白,但他的代码在winhr的互联网被关闭的情况下是有效的。这些代码,原则上是需要的,我们把它作为一个内嵌器,在周末的任何代码中都有刻度,在处理图形对象 时特别有用--人们经常要求制作 "智能尺 "等等,在周末你必须 "用眼睛 "制作代码。 Vadim Zhunko 2012.11.08 17:43 #46 IgorM:是的,我明白,但他的代码在winhr的互联网被关闭的情况下是有效的。而代码,原则上是需要的,把它作为一个inluder,并在周末在任何代码中打勾,在与图形对象工作时特别有用--人们经常要求制作 "智能标尺 "等等,在周末必须 "用眼睛 "制作代码。 好吧,我发布的代码在任何地方都适用。一句话。没有定时器。它可以在所有指标和任何操作系统上工作。对于一个实验来说,这已经足够了。我还给出了上述专家顾问的代码。为专家顾问生成刻度线的那一行可以在指标的代码中替换。在这种情况下,它也会影响专家。图书馆 可以被简化。一切都已经在那里实现了。 Alexey Navoykov 2012.11.08 21:10 #47 Zhunko: 那么,一个接收指标信号的专家顾问是如何交易的?当然,MT4也会做这些事情?这是否正确?如果是这样,我的问题仍然存在。为什么不让专家顾问来做这一切呢?这是理性的做法。 如果我们谈论的是自动交易,那么指标或刻度线的问题根本就不会被提出来,因为那里不需要它们。 所以你一定是从一开始就误解了这个话题的重点。 Alexey Navoykov 2012.11.10 02:42 #48 顺便说一句,这里还有一件事。航线TimerCode[byte/4] += (value[i]>>(8*j)&0xFF) <<(byte%4*8); 应被替换为TimerCode[byte/4] |= (value[i]>>(8*j)&0xFF) <<(byte%4*8); 否则在再次调用SetMyTimer时就会出现错误,或者你可以在开始循环之前将数组初始化为0。 至于Win7,我从来没有设法在那里重现这个问题,对我来说一切正常。而盲目地做调试是不现实的。我想知道这里是否有其他人有这个代码也能在第七版上工作? 因为我感觉到我在运行某种特殊的Windows。 Alexey Navoykov 2012.11.10 11:38 #49 我想我找到了错误所在。 这里是SetMyTimer函数的修正版。int SetMyTimer(int interval) { int MT4InternMsg= RegisterWindowMessageA("MetaTrader4_Internal_Message"); int hWnd= WindowHandle(Symbol(),Period()); int PostMsgAddr= GetProcAddress(GetModuleHandleA("user32.dll"),"PostMessageA"); if (PostMsgAddr==0) return(0); // push ebp; move ebp,esp; push 01; push 02; push MT4InternMsg; push hWnd; mov eax,PostMsgAddr; call eax; pop ebp; ret 0010; int value[]={ 0x55, 0x8B,0xEC, 0x6A,01, 0x6A,02, 0x68,0000, 0x68,0000, 0xB8,0000, 0xFF,0xD0, 0x5D, 0xC2,0x10 }; int len[]= { 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 4, 1, 1, 1, 1, 2 }; value[8]=MT4InternMsg; value[10]=hWnd; value[12]=PostMsgAddr; int byte=0; ArrayInitialize(TimerCode,0); for (int i=0; i<ArraySize(value); i++) for (int j=0; j<len[i]; j++, byte++) TimerCode[byte/4] |= value[i]>>(8*j)&0xFF<<(byte%4*8); return ( SetTimer(hWnd, TimerId, interval, TimerCode) ); } 现在应该工作正常了。 Igor Makanu 2012.11.10 12:39 #50 没有...,不工作日志中没有错误,甚至终端中的互联网,在Vadim的建议下,也没有断开连接--反正输出上没有刻度。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不,他的齿轮--在第一页,在winHp中工作正常,你错了,但在win7中,由于某些原因,它不愿意为我工作。
不,我有win7 max 32bit
不,他的齿轮--在第一页,在winHP中工作正常,你错了,但在win7中由于某些原因,它不想为我工作。
你如何从一个滴答的指标进行交易?MQL4并没有提供这些。
真的!如果我可以在一个循环的专家顾问中做所有的事情,为什么我还需要增加不能交易的滴答指标?这不需要对WinAPI有任何困难,MT4界面不会变得更慢,EA的运行速度将提高三倍。为什么要把事情搞得那么复杂?
好吧,让我们离开这个讨论,反正它不会导致任何建设性的东西,很可能相反。你已经开始歪曲(我不知道是有意还是无意)我所写的意思,我在俄语中写道,我不是用指标交易,而是用metatrader交易,而你又在谈论某种用指标交易。 如果你从我所说的话中理解错了什么,那么我解释:"交易中使用指标 "这句话并不意味着交易由指标执行。
我已经开始扭曲(我不知道是有意还是无意)我所写的内容的含义。你已经开始歪曲(我不知道是有意还是无意)我所写的意思,我在俄语中写道,我不是从指标上进行交易,而是从metatrader上进行交易,而你又在说一些从指标上进行的交易。 如果你误解了我之前说的一些话,那么我解释一下:"指标用于交易 "这句话并不意味着指标执行交易。
是的,我明白,但他的代码在winhr的互联网被关闭的情况下是有效的。
这些代码,原则上是需要的,我们把它作为一个内嵌器,在周末的任何代码中都有刻度,在处理图形对象 时特别有用--人们经常要求制作 "智能尺 "等等,在周末你必须 "用眼睛 "制作代码。
是的,我明白,但他的代码在winhr的互联网被关闭的情况下是有效的。
而代码,原则上是需要的,把它作为一个inluder,并在周末在任何代码中打勾,在与图形对象工作时特别有用--人们经常要求制作 "智能标尺 "等等,在周末必须 "用眼睛 "制作代码。
好吧,我发布的代码在任何地方都适用。一句话。没有定时器。它可以在所有指标和任何操作系统上工作。对于一个实验来说,这已经足够了。
我还给出了上述专家顾问的代码。为专家顾问生成刻度线的那一行可以在指标的代码中替换。在这种情况下,它也会影响专家。
图书馆 可以被简化。一切都已经在那里实现了。
那么,一个接收指标信号的专家顾问是如何交易的?当然,MT4也会做这些事情?这是否正确?如果是这样,我的问题仍然存在。为什么不让专家顾问来做这一切呢?这是理性的做法。
如果我们谈论的是自动交易,那么指标或刻度线的问题根本就不会被提出来,因为那里不需要它们。 所以你一定是从一开始就误解了这个话题的重点。
顺便说一句,这里还有一件事。航线
应被替换为
否则在再次调用SetMyTimer时就会出现错误,或者你可以在开始循环之前将数组初始化为0。
至于Win7,我从来没有设法在那里重现这个问题,对我来说一切正常。而盲目地做调试是不现实的。我想知道这里是否有其他人有这个代码也能在第七版上工作? 因为我感觉到我在运行某种特殊的Windows。
我想我找到了错误所在。 这里是SetMyTimer函数的修正版。
现在应该工作正常了。
没有...,不工作
日志中没有错误,甚至终端中的互联网,在Vadim的建议下,也没有断开连接--反正输出上没有刻度。