新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1930 1...192319241925192619271928192919301931193219331934193519361937...1953 新评论 Vitaly Muzichenko 2022.03.08 09:50 #19291 Valeriy Yastremskiy #:我有点不明白这个逻辑。对几个符号的开仓、修改SL、平仓等事件进行监控。开仓--搜索给定符号的窗口是否打开(寻找窗口ID),如果打开了,我们就画出水平线,然后监测SL的拖网。如果没有,我们要么用所需的符号和时间框架打开一个窗口并绘制水平线,要么不打开。修改的事件,找到所需的符号窗口,关卡已经画好,改变关卡颜色或删除它,重新画关卡。一般来说,为了排除客户的影响,在工作开始时,我们应该分析仓位和窗口,对有开仓的符号和没有开仓的窗口进行分析。 在这一切中,重要的是一个正常工作的拖网算法,也就是交易操作本身。 绘图是在后台,它是信息性的,与系统的盈利能力无关。 因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的情况是,明明关闭了图表,但程序又打开了它,简直是为了绘制图表--这已经很糟糕了。 Roman Shiredchenko 2022.03.08 10:00 #19292 同事--导出了一个优化缓存文件到云端,我如何在另一台电脑上使用它来选择一个变体进行竞价? 答案是。 如果有人需要它--在这里。 Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5 www.metatrader5.com Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии ( советники ) перед началом использования их в реальной торговле. При... Valeriy Yastremskiy 2022.03.08 11:28 #19293 Vitaly Muzichenko #:所有这些中重要的是一个正常工作的拖网算法,也就是交易本身。绘图是在后台,它是信息性的,与系统的盈利能力无关。因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的是,当图表被关闭后,程序又按字面意思打开以绘制图表--这很糟糕。 我们也可以这样做。但在这种情况下,如果有一个基于事件的开放式图表,就可以画出来。一般来说,我们可以每次都重新绘制水平,以避免混淆。我们有这方面的所有数据。拖网的触发水平,拖网步骤,位置价格。该职位的级别数和被触发的级别数很容易计算。 Vitaly Muzichenko 2022.03.08 11:59 #19294 Valeriy Yastremskiy #:这也是可能的。但是,如果有一个开放的图表,我们就会画出这个事件。一般来说,每次都可以重新绘制水平,以避免混乱。我们有这方面的所有数据。拖网的触发水平,拖网步骤,位置价格。一个职位的级别数和被触发的级别数很容易计算。 我想说的是,如果有一个位置,我们应该提前画出将触发拖网的水平。如果出现了一个额外的位置,重新画线到新的水平也是向前。 我不认为在通过/修改后改变颜色有什么意义。平仓后可以删除所有线路。 例子上显示了它应该是怎样的 将要开仓的对象在这里被画出来,它只是提供信息,仅此而已。 --- P.S. 目前我还不能做数学题,很遗憾 Valeriy Yastremskiy 2022.03.09 13:57 #19295 关于OnTimer的问题如果定时器事件在程序执行 前发生,它将等待(程序将跳过定时器事件),还是程序将中止,并开始处理新的定时器事件?它是无休止的循环,还是每秒钟都在循环?int OnInit() { EventSetTimer(1); } //--- return(INIT_SUCCEEDED); } void OnTimer() { int i=0; while(i<1) { } }文档中没有直接说明定时器事件的优先级和程序的进程,只说明了事件的顺序。或者,也许我理解得不对。开始行动的定时器事件算不算在队列中?码头。 事件SetTimer 每个程序不能启动一个以上的定时器事件。每个mql4程序和每个图形都有自己的事件队列,所有新到达的事件都被储存在这里。如果队列中已经有一个Timer 事件,或者该事件处于处理状态,一个新的Timer事件就不会被放入mql4-program队列中。 Maxim Kuznetsov 2022.03.09 14:24 #19296 Valeriy Yastremskiy 程序执行 前发生,它将等待(程序将跳过定时器事件),还是程序将中止,并开始处理新的定时器事件?它是无休止的循环,还是每秒钟都在循环? 文档中没有直接说明定时器事件的优先级和程序的进程,只说明了事件的顺序。或者,也许我理解得不对。开始行动的定时器事件算不算在队列中?码头。 事件SetTimer 每个程序不能启动一个以上的定时器事件。每个mql4程序和每个图形都有自己的事件队列,所有新到达的事件都被存储在这里。如果Timer 队列中已经有一个事件,或者这个事件处于处理状态,那么一个新的Timer事件就不会被放入mql4-程序的队列中。 这些事件不是时间。它们在OnXXX中被逐一处理,没有中断任何功能。 在OnInit终止之前,没有其他的OnTimer处理程序OnTick将被终端调用。(除非你自己把它作为一种功能来拽)。 Valeriy Yastremskiy 2022.03.09 14:32 #19297 Maxim Kuznetsov #:活动不是中断。它们在OnXXX中被逐一处理,不会中断文本功能。在OnInit终止之前,终端不会调用其他OnTimer OnTick处理程序。(除非你自己把它作为一种功能来拽)。 谢谢你) Roman Shiredchenko 2022.03.10 15:42 #19298 Vitaly Muzichenko #:在这一切中,最重要的是一个正常工作的拖网算法,也就是交易本身。绘图是在后台,它是信息性的,与系统的盈利能力无关。因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的是,当一个图表被关闭后,程序又按字面意思打开了它来绘制图表--这就很糟糕。 我的上帝--为什么你被送去洗车了?你是否写错了地方,写错了变量:Z或V...? IrishDance 2022.03.11 10:08 #19299 你好!如果有人不嫌麻烦,请写或帮我写一个MT4 EA的功能。我的想法是,如果我手动改变一个未结头寸或一个市场订单,EA将发送一个信息到电子邮件。例如:我移动了一个未平仓的限价订单的止损,EA会写一封邮件,说该订单的止损已经从某某改为某某。 Valeriy Yastremskiy 2022.03.11 13:48 #19300 Vitaly Muzichenko #: 看起来它应该可以工作。还没有测试过。 绘图逻辑。我不控制水平,我再次画出价格,如果是买入,我画成灰色,上面是蓝色,如果是卖出,如果高于价格水平,它是灰色,下面是红色。 是的,我忘了设置水平删除)))。 附加的文件: Trailing_all.mq4 69 kb 1...192319241925192619271928192919301931193219331934193519361937...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我有点不明白这个逻辑。对几个符号的开仓、修改SL、平仓等事件进行监控。开仓--搜索给定符号的窗口是否打开(寻找窗口ID),如果打开了,我们就画出水平线,然后监测SL的拖网。如果没有,我们要么用所需的符号和时间框架打开一个窗口并绘制水平线,要么不打开。修改的事件,找到所需的符号窗口,关卡已经画好,改变关卡颜色或删除它,重新画关卡。
一般来说,为了排除客户的影响,在工作开始时,我们应该分析仓位和窗口,对有开仓的符号和没有开仓的窗口进行分析。
在这一切中,重要的是一个正常工作的拖网算法,也就是交易操作本身。
绘图是在后台,它是信息性的,与系统的盈利能力无关。
因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的情况是,明明关闭了图表,但程序又打开了它,简直是为了绘制图表--这已经很糟糕了。
同事--导出了一个优化缓存文件到云端,我如何在另一台电脑上使用它来选择一个变体进行竞价?
答案是。
如果有人需要它--在这里。
所有这些中重要的是一个正常工作的拖网算法,也就是交易本身。
绘图是在后台,它是信息性的,与系统的盈利能力无关。
因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的是,当图表被关闭后,程序又按字面意思打开以绘制图表--这很糟糕。
我们也可以这样做。但在这种情况下,如果有一个基于事件的开放式图表,就可以画出来。一般来说,我们可以每次都重新绘制水平,以避免混淆。我们有这方面的所有数据。拖网的触发水平,拖网步骤,位置价格。该职位的级别数和被触发的级别数很容易计算。
这也是可能的。但是,如果有一个开放的图表,我们就会画出这个事件。一般来说,每次都可以重新绘制水平,以避免混乱。我们有这方面的所有数据。拖网的触发水平,拖网步骤,位置价格。一个职位的级别数和被触发的级别数很容易计算。
我想说的是,如果有一个位置,我们应该提前画出将触发拖网的水平。如果出现了一个额外的位置,重新画线到新的水平也是向前。
我不认为在通过/修改后改变颜色有什么意义。平仓后可以删除所有线路。
例子上显示了它应该是怎样的
将要开仓的对象在这里被画出来,它只是提供信息,仅此而已。
---
P.S. 目前我还不能做数学题,很遗憾
关于OnTimer的问题
如果定时器事件在程序执行 前发生,它将等待(程序将跳过定时器事件),还是程序将中止,并开始处理新的定时器事件?它是无休止的循环,还是每秒钟都在循环?
文档中没有直接说明定时器事件的优先级和程序的进程,只说明了事件的顺序。
或者,也许我理解得不对。开始行动的定时器事件算不算在队列中?
码头。
事件SetTimer每个程序不能启动一个以上的定时器事件。每个mql4程序和每个图形都有自己的事件队列,所有新到达的事件都被储存在这里。如果队列中已经有一个Timer 事件,或者该事件处于处理状态,一个新的Timer事件就不会被放入mql4-program队列中。
文档中没有直接说明定时器事件的优先级和程序的进程,只说明了事件的顺序。
或者,也许我理解得不对。开始行动的定时器事件算不算在队列中?
码头。
事件SetTimer每个程序不能启动一个以上的定时器事件。每个mql4程序和每个图形都有自己的事件队列,所有新到达的事件都被存储在这里。如果Timer 队列中已经有一个事件,或者这个事件处于处理状态,那么一个新的Timer事件就不会被放入mql4-程序的队列中。
这些事件不是时间。它们在OnXXX中被逐一处理,没有中断任何功能。
在OnInit终止之前,没有其他的OnTimer处理程序OnTick将被终端调用。(除非你自己把它作为一种功能来拽)。
活动不是中断。它们在OnXXX中被逐一处理,不会中断文本功能。
在OnInit终止之前,终端不会调用其他OnTimer OnTick处理程序。(除非你自己把它作为一种功能来拽)。
谢谢你)
在这一切中,最重要的是一个正常工作的拖网算法,也就是交易本身。
绘图是在后台,它是信息性的,与系统的盈利能力无关。
因此,如果有一个位置,但图表是关闭的,而且它没有自己关闭,就不需要打开任何东西,拖网算法将发挥作用,停止将被移过去。更糟糕的是,当一个图表被关闭后,程序又按字面意思打开了它来绘制图表--这就很糟糕。
我的上帝--为什么你被送去洗车了?你是否写错了地方,写错了变量:Z或V...?
看起来它应该可以工作。还没有测试过。
绘图逻辑。我不控制水平,我再次画出价格,如果是买入,我画成灰色,上面是蓝色,如果是卖出,如果高于价格水平,它是灰色,下面是红色。
是的,我忘了设置水平删除)))。