初学者的问题 MQL5 MT5 MetaTrader 5 - 页 391

 
smetantn1980:
嗨,你能告诉我为什么我在metaeditore中的调试按钮不活跃吗????source已被插入。
它被保存在哪里?为了使调试成为可能,代码必须保存在数据目录中,而不是在临时文件的某个地方。
 
Vitalie Postolache:
最有可能的是,提到的函数是自定义函数,ME不需要知道它们。这取决于你是否能正确申报和调用它们。
这些函数不是用户定义的。如果你不介意的话,请回答关于用什么语言在mt4终端编写软件的问题?
 
Kira27:
这些函数不是用户定义的。如果你不介意的话,请回答在mt4终端用什么语言编写软件的问题?
现在,开发商正试图将终端之间的 差异降到最低。然而,有一些差异,MQL5中的一些功能在MQL4中可能无法正确工作。MT4终端的 "软 "必须写在MQL4中,而且只能写在MQL4中。它现在看起来只是与MQL5非常相似。请参考该语言的帮助。
 

Vitalie Postolache:
А где он сохранён? Чтобы отладка была возможна, код должен быть сохранён в каталоге данных, а не где-то в темпе.

顾问像往常一样位于程序文件夹中的 "专家 "文件夹中,并在图表中。

 
Kira27:
这些功能不是用户定义的。如果你不介意的话,在mt4终端写软文应该用什么语言?

是的,不是自定义的,这些是来自MQL5的函数。对于MQL4,您需要找到其他的,或编写类似的,但自定义的。

例如,OrderGetTicket() MQL5 -> OrdetTicket() MQL4。

 
非常感谢,我没有从终端打开这个EA,所以调试没有被激活。
 
建议如何设置EA在屏幕上显示卖出和买入的总数量(手)。
 

大家好!

一个新来者的几个问题。

1.Mql4和Mql5的区别(网站和编程语言本身)。有 Metatrade 4和Metatrader 5,分别嵌入Mql4和Mql5。也有两个不同的对应网站。同时,我在MT4中看的那些专家顾问都是指向该网站的。哪一个更有意义?哪个论坛 "更有活力"?哪里是发布问题的最佳地点?不同版本的MT和Mql之间是否存在后向兼容性?我个人目前正分别在Mql4上编写我的MT4专家顾问。这是由于我用来测试演示的经纪人使用的是MT4。我如何识别我的专家顾问所使用的语言?我指的是只用扩展名(.mq4和.mq5)。如果我重新命名一个文件,它是否会被编译(同样,关于兼容性)?

2.动态外部专家顾问参数。是 否可以动态地改变专家顾问的可调参数?让我解释一下...例如,有一个外部参数extern bool a。如果是真的,应设置一个额外的参数extern int b。如果a=false,则不需要参数b。有没有办法根据选定的当前值来显示/不显示?考虑到我找不到任何外部参数变化处理程序,也没有#if ...#endif,我怀疑它不能做...如果是这样,但你能否建议在这种情况下最好的方法,以便不使设置外部参数的过程超负荷?例如,我可能把a=false,忘记参数b没有被使用,但仍然把它纳入优化(虽然没有意义,只会浪费额外的时间)。而当只有一个这样的参数b时是一回事。但是,如果,例如,我做了一个枚举式的外部参数,并且有几个下拉式的TC变体。它们有一个共同的部分(因此在一个EA中实现它们是合乎逻辑的,而不是写几个),但也有不同的,有许多不同的参数。那么就很容易混淆哪些参数与选定的TS有关。

专家顾问的自动优化。I MHO,它是非常有用和有用的。我发现了 篇文章。然而,据我所知,使用的是MT的第二个实例,该实例从外部(从MT的一个运行实例)运行优化,优化结果以html的形式从报告中读取。这是不太方便的,也是歪打正着。从逻辑上讲,我应该编写自己的优化函数/dll,并直接从专家顾问中运行它。因此,问题是这样的。据我了解,一个遗传优化算法被编入了策略测试器。我对这些算法的了解非常简略。但他们已经知道很长时间了,因此问题是--为什么要重新发明车轮?)有没有一种直接用于MT的现成的算法?也许它已经存在于终端本身的某个库中...也许有一个单独的源代码或准备好的dll。一般来说,请分享你在这个问题上的经验。

现在就这些了......)。我希望我没有在字数上施加太多压力)。

提前感谢您的答复!

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
smetantn1980:
我怎样才能在我的EA中写入,使卖出和买入的总手数显示在屏幕上?
如果你在终端中得到了订单的总数,请浏览所有的订单(我想这是一个关于mql4的问题),并选择那些满足条件的订单(符号、magik和类型),并将它们汇总到买入和卖出的变量中。然后你创建两个OBJ_LABEL对象(我想是这样)。设置它们的位置、颜色和其他属性(见文档)。用卖出和买入变量中收到的值改变这些对象的描述。就这样了。
 
smetantn1980:
请告知如何拼写,以便在屏幕上显示买入和卖出的总手数。

我不太确定,因为我自己还是个初学者。但是,似乎有一个Comment命令,可以在EA图表的 左上角显示任何信息。批量可以在周期中这样计算。

int totalOrders = OrdersTotal();

double totalLots = 0; 

for(int i=0; i<totalOrders; i++)

    if ( (OrderSelect(i, SELECT_BY_POS)) && (OrderMagicNumber() == myMagicNumber) )

        totalLots += OrderLots();

Comment("totalLots=", totalLots); 

这是所有行业的共同代码。对于买入和卖出,你创建单独的变量,并使用OrderType()进行切换。

原因: