文章 "创建一个人工交易助手" - 页 6 12345678910 新评论 Dmitriy Gizlyk 2017.02.05 14:23 #51 zhixiong Li: 你好,德米特里,这个交易面板可以在 MT4 历史测试模式下使用吗?在进行历史回溯测试时,OnChartEvent()函数 似乎没有被执行?请教我如何解决这个问题?非常感谢,Robison。 是的,在测试模式下,MT4 和 MT5 不会产生运行 OnChartEvent 函数的事件。但如果您想在 MT4 的测试模式下使用某些 psnel,您必须创建一个函数,在每个 tick 上检查按钮的状态。但这种方法在 MT5 中不起作用。谢谢、德米特里 Aleksandr Teleguz 2017.07.12 01:58 #52 您好。在您的文章中,我不明白面板的 "移动性 "是如何实现的,如何使面板随鼠标移动并最小化。请解释一下。并告诉我是否有可能在 mql4 中实现同样的功能。 Dmitriy Gizlyk 2017.07.12 08:51 #53 Aleksandr Teleguz:您好。在您的文章中,我不明白面板的 "移动性 "是如何实现的,如何使面板随鼠标移动并最小化。请解释一下。并告诉我是否有可能在 mql4 中实现同样的功能。日安, 在我的文章中,我在编写面板时使用了标准库。其中已经实现了您指定的功能。mql4 中也有类似功能的库。 Dmitry。 Eugeny Kotovschikov 2017.08.28 08:44 #54 德米特里,你好!我正在 MT4 上制作一个面板,我借鉴了你的经验,但问题是,在切换 TF 时,大约第 3 次面板就开始复制并分开。在 MT5 中,您的示例一切正常,但在 MT4 中我遇到了问题。也许您知道从哪里可以找到答案?) Dmitriy Gizlyk 2017.08.28 09:27 #55 Eugeny Kotovschikov:德米特里,你好!我正在 MT4 上制作一个面板,我借鉴了你的经验,但问题是,在切换 TF 时,大约第 3 次面板开始复制并分开。在 MT5 中,您的示例一切正常,但在 MT4 中我遇到了问题。也许您知道从哪里可以找到答案?)您好,Eugene。 您需要在 OnDeinit 中编写从图表中强制移除面板的函数。问题是,MT4 在更改图表时不会关闭程序并调用 OnDeinit 函数。在CAppDialog 类中第一次去初始化 后,去初始化 的 原因 会写入 私有变量m_deinit_reason 。但在更改时间框架时,MT4 不会从内存中删除该类。在随后尝试删除该类时,该类会读取变量的值,由于它不是空的,所以什么也不会做。//+------------------------------------------------------------------+ //| 应用程序对话去初始化功能 //+------------------------------------------------------------------+ void CAppDialog::Destroy(const int reason) { //--- 已经被毁了吗? if(m_deinit_reason!=WRONG_VALUE) return; //---但一个更简单也可能更正确的变体是通过使用 "*"引用类来声明面板类。在这个变体中,你需要对代码做一些小的修改CTradePanel *TradePanel; //+------------------------------------------------------------------+ //| 专家初始化函数| //+------------------------------------------------------------------+ int OnInit() { //--- // 启动类 CTradePanel TradePanel=new CTradePanel(); if(CheckPointer(TradePanel)==POINTER_INVALID) return INIT_FAILED; // 创建贸易小组 if(!TradePanel.Create(ChartID(),"Trade Panel")) { return (INIT_FAILED); } // 运行贸易小组 TradePanel.Run(); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 专家去初始化函数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- if(CheckPointer(TradePanel)!=POINTER_INVALID) { TradePanel.Destroy(reason); delete TradePanel; } }该变体将在去初始化时强制删除贸易面板类,然后重新创建它。 Dmitry。 Eugeny Kotovschikov 2017.08.28 10:01 #56 Dmitriy Gizlyk: 下午好,Eugene。 我需要在 OnDeinit 中编写强制从图表中删除面板的函数。问题是,在更改图表时,MT4 不会启动程序关闭并调用 OnDeinit 函数。在CAppDialog 类中进行第一次去初始化 后,去初始化 的 原因 会写入 私有变量m_deinit_reason 。但在更改时间框架时,MT4 不会从内存中删除该类。在随后尝试删除该类时,该类会读取变量的值,由于它不是空的,所以什么也不会做。但一个更简单也可能更正确的变体是通过使用 "*"引用类来声明面板类。在这个变体中,你需要对代码做一些小的修改该变体将在去初始化时强制删除贸易面板类,然后重新创建它。 Dmitry。德米特里,非常感谢,第二种方法奏效了。))))。 Yupeng Xiao 2017.09.25 10:41 #57 Dmitriy Gizlyk: 如何能创建一个类似面板在mt4测试历史数据时手动下单功能??历史回测不可能使用按钮来操作的。 Dmitriy Gizlyk 2017.09.25 12:31 #58 Yupeng Xiao: 历史回测不可能使用按钮来操作的。MT4测试仪不产生事件,但按钮本身工作。 因此,对于MT4测试仪,您可以在每个刻度上检查按钮的状态。 Savio Araujo 2017.10.05 04:33 #59 你好,迪米特里干得不错。您能解释一下如何更改面板的背景颜色吗?我知道我可以编辑 Defines.mqh 文件中的宏定义,但我想知道是否有办法不编辑该文件也能做到这一点。在此先表示感谢。萨维奥 Simalb 2017.11.08 17:26 #60 非常好的想法!非常容易使用,方便初学者使用 mt5 。谢谢 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好,德米特里,这个交易面板可以在 MT4 历史测试模式下使用吗?在进行历史回溯测试时,OnChartEvent()函数 似乎没有被执行?请教我如何解决这个问题?非常感谢,Robison。
您好。在您的文章中,我不明白面板的 "移动性 "是如何实现的,如何使面板随鼠标移动并最小化。请解释一下。并告诉我是否有可能在 mql4 中实现同样的功能。
您好。在您的文章中,我不明白面板的 "移动性 "是如何实现的,如何使面板随鼠标移动并最小化。请解释一下。并告诉我是否有可能在 mql4 中实现同样的功能。
日安,
在我的文章中,我在编写面板时使用了标准库。其中已经实现了您指定的功能。mql4 中也有类似功能的库。
Dmitry。
德米特里,你好!我正在 MT4 上制作一个面板,我借鉴了你的经验,但问题是,在切换 TF 时,大约第 3 次面板就开始复制并分开。在 MT5 中,您的示例一切正常,但在 MT4 中我遇到了问题。也许您知道从哪里可以找到答案?)
德米特里,你好!我正在 MT4 上制作一个面板,我借鉴了你的经验,但问题是,在切换 TF 时,大约第 3 次面板开始复制并分开。在 MT5 中,您的示例一切正常,但在 MT4 中我遇到了问题。也许您知道从哪里可以找到答案?)
您好,Eugene。
您需要在 OnDeinit 中编写从图表中强制移除面板的函数。问题是,MT4 在更改图表时不会关闭程序并调用 OnDeinit 函数。在CAppDialog 类中第一次去初始化 后,去初始化 的 原因 会写入 私有变量m_deinit_reason 。但在更改时间框架时,MT4 不会从内存中删除该类。在随后尝试删除该类时,该类会读取变量的值,由于它不是空的,所以什么也不会做。
但一个更简单也可能更正确的变体是通过使用 "*"引用类来声明面板类。在这个变体中,你需要对代码做一些小的修改
该变体将在去初始化时强制删除贸易面板类,然后重新创建它。
Dmitry。
下午好,Eugene。
我需要在 OnDeinit 中编写强制从图表中删除面板的函数。问题是,在更改图表时,MT4 不会启动程序关闭并调用 OnDeinit 函数。在CAppDialog 类中进行第一次去初始化 后,去初始化 的 原因 会写入 私有变量m_deinit_reason 。但在更改时间框架时,MT4 不会从内存中删除该类。在随后尝试删除该类时,该类会读取变量的值,由于它不是空的,所以什么也不会做。
但一个更简单也可能更正确的变体是通过使用 "*"引用类来声明面板类。在这个变体中,你需要对代码做一些小的修改
该变体将在去初始化时强制删除贸易面板类,然后重新创建它。
Dmitry。
德米特里,非常感谢,第二种方法奏效了。))))。
如何能创建一个类似面板在mt4测试历史数据时手动下单功能??
历史回测不可能使用按钮来操作的。
历史回测不可能使用按钮来操作的。
MT4测试仪不产生事件,但按钮本身工作。 因此,对于MT4测试仪,您可以在每个刻度上检查按钮的状态。
你好,迪米特里
干得不错。您能解释一下如何更改面板的背景颜色吗?我知道我可以编辑 Defines.mqh 文件中的宏定义,但我想知道是否有办法不编辑该文件也能做到这一点。
在此先表示感谢。
萨维奥
非常好的想法!非常容易使用,方便初学者使用 mt5 。谢谢