文章 "基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面"

 

新文章 基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面已发布:

本文介绍了一种使用 Visual Studio 创建图形窗口的简单而快速的方法,并随后将其集成到专家顾问的MQL代码中。本文面向非专业读者,不需要了解C#和.NET技术。

MetaTrader 5 策略测试器具有许多特性,MQL GUI开发人员应该考虑这些特性。主要原因是根本不调用 OnChartEvent图形事件处理函数。此功能是合乎逻辑的,因为图形表单涉及实时与用户一起工作。然而,在测试器中实现某种类型的面板将是非常有趣的。这些是所谓的“交易播放器”,允许用户手动测试他们的交易策略。例如,策略测试器在快进中生成当前市场价格,而用户单击买入和卖出在历史中模拟交易操作。我们开发的 TradePanel 就是这种类型的面板。尽管它很简单,但它很可能是一个拥有最必要功能的普通交易播放器。 

但让我们来考虑一下我们的面板将如何在 MetaTrader 5 策略测试器中工作。TradePanel 的图形窗口作为独立的.NET程序集存在,因此,它不依赖于当前的 MetaTrader 5 环境,甚至终端本身。严格来说,它可以从任何其他程序运行,而即使用户自己也可以启动位于exe容器中的程序集。

因此,我们的程序不需要调用 OnChartEvent,此外,还可以在策略测试器中定期启动的任何事件处理功能中更新窗口中的数据并接收用户的新订单。OnTick 和 OnTimer 就是这样的函数,面板通过它们来工作。因此,尽管我们的面板是为实时操作而设计的,但是我们的面板在策略测试器中也能很好地工作,无需更改。让我们通过在测试器中启动面板并执行几个交易来检查此声明:

作者:Vasiliy Sokolov

 

Excellent idea !

some suggestion:

0)  first basic need : EA/indicator and C# App  can call a function to send some data and/or trigger some action.       Subscribe so much events is not needed.

1)     now GuiController   use Subscribe event to reveive event paranneters oe GUI user's action, then process them at OnTimer().

GuiController::SendEvent to a event to Form's control.

Is it posible work in reverse mode ?   for example, C# Form or its control send user enent to MTChar, and processe the event like eventChartCustom at OnChartEvent().

2)    Or  use callball function in mutual mode between Mt terminal and C# Form App  ?

3)   use  GuiController as a Global Variable, then all Chart/EA/indicator can link to one C# App.

 
有了控件,相比开发EA,C#开发起来方便很多,数据计算等方面已有所提高,谢谢共享。
 

great work!

sometimes the MT5 will crash when i close a form, of course, there is a unhandled exception, but i don't know where is the code and can't catch it.

do you have any ideas? thank you.

 
版權所有©2020 ®kwancheetuck保留所有權利通过.存款擁有權 MQL5
 

请教一下,运行时GuiMtController.mq5程序报错,是什么问题?

'GuiMtController.mq5'
ClickOnElement'-undeclared identifier
1 errors,0 warnings
附加的文件:
k9un.jpg  160 kb
原因: