MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
我试着用这篇文章来制作我自己的程序,但它太复杂了,不适合我的简单目的。在这里,我试着编写一个简单的程序,但编译器发现(只有)一个错误:无类型 "的类。而且,无论我输入什么作为类的 "类型 "或 "名称",都没有任何变化。
开头是这样的。我到底做错了什么?
//|KaufVerkauf.mq5
//|Copyright ....2012 |//|http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright"Copyright ....2012"
#property link"http://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| 包含|
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| 专家对象初始化|
//+------------------------------------------------------------------
//---- 指标句柄
int RSI_handle = 0;// 指标 iRSI 的句柄
intADX_handle = 0; // 指标 iADX 的句柄
intForce_handle = 0;// 指标 iForce 的句柄
int AD_handle = 0;// 指标 iAD 的句柄
int Close_handle = 0;
int
int Low_handle = 0;
int VTick_handle = 0;
intVReal_handle = 0;
int sig = 0;
double MqlParams[]; // 用于存储指标参数的数组
//+------------------------------------------------------------------+
//| 专家初始化函数 RSI|
//+------------------------------------------------------------------+
Class CExpertSignal
{
private:
int OnInit()
//--- 创建指标 iRSI。..........
非常感谢。
我试着测试了一下:
- 下载您的代码,复制到 MQL5 并编译:成功,无错误。
- 但 EA 无法运行,它会产生如下错误:
请告诉我这个参数出了什么问题:
再次感谢您。
我是 MetaTrader、MQL5 和外汇交易的新手,所以这些文章非常有用!
为什么它不仅 关闭我的多头头寸,而且在同一信号下直接进入空头头寸?
作为了解所有编程的第一个测试,我只想做多,因此只打开和关闭多头头寸
,而不在关闭/卖出信号下进入空头头寸。
在此先表示感谢。
下午好、
请教我如何在 Expert Advisor 中增加(充值)仓位,该系统是基于 MQL5 向导编写的,仓位通过以下方式打开
virtual int LongCondition();
virtual int ShortCondition();
我是根据文章中的建议编写机器人的
https://www.mql5.com/zh/articles/367"用 6 个步骤创建一个交易机器人 "一文中的建议编写的,它运行良好,但试图影响头寸大小(无论增减)
(无论增加还是减少),例如在
LongCondition();
不会导致任何结果,已经打开的仓位不会改变,只能通过执行平仓条件或触发 sl , tp 将其删除。
我喜欢 MQL5 向导,它可以方便快捷地 "建立 "一个多指标智能交易系统,更改 sl 跟踪模块,更改资金管理模块。
但我试图编写一个 Expert Advisor,当一个指标形成条件时打开最小仓位,当另一个指标确认趋势时增加(填充)仓位。
我遇到了上述问题--当通过 LongCondition() 发出再次开仓信号时,已经开仓的头寸不会改变;
谢谢。
如果我在 mt5 策略测试器中运行这个示例,并选择资产为 pex。Vale5, genetic algorithm, d1, ohlc 1 minute, max balance,会出现错误!
如果我在一个外汇对上运行,同样的优化似乎完成了(我没想到会完成,因为在本地代理上花费的时间太长了)。
在测试者日记中出现的错误,在本例中是针对 Vale5 的,与 OnInit 有关。有人发现过同样的问题吗?如果有,是否有任何解决方案和/或结论?
如果有人能提供帮助,非常感谢!
如果我在 mt5 策略测试器中运行这个示例,并选择资产为 pex。Vale5, genetic algorithm, d1, ohlc 1 minute, max balance,会出现错误!
如果我在一个外汇对上运行,同样的优化似乎完成了(我没想到会完成,因为在本地代理上花费的时间太长了)。
在测试者日记中出现的错误,在本例中是针对 Vale5 的,与 OnInit 有关。有人发现过同样的问题吗?如果有,是否有任何解决方案和/或结论?
如果有人能提供帮助,非常感谢!
你好,请提供更多信息,如错误日志或截图,以便我们更好地分析问题。
像您上面这样的简单描述对确定 问题没有太大帮助。
致以最崇高的敬意,
Malacarne
我还没有用 MQL 编程的经验,但我有一些用其他语言编程的经验。 编程中最容易犯的错误之一(我的具体课程是 Java,它的风格与 C++ 非常相似,显然也与 MQL 相似)就是没有正确地关闭大括号。 这是最容易犯的错误之一,相反,也是最难发现的错误之一。KJG,就关闭多头并直接进入空头而言,这可能就是这种 EA 风格的设计初衷,我见过很多采用这种设置的交易风格,我相信它们的设计初衷是为了应对波动性大、价格波动幅度大的市场,比如在分钟时间框架图上可能会出现的情况。
这篇文章也写得很好,我一定会好好利用这篇文章,我相信这里还有很多其他文章。
晚上好
您在尝试测试机器人时遇到了以下错误。
2017.07.04 18:20:27.404 测试仪停止,因为 OnInit 失败
是我做错了什么,还是机器人有什么设置?
谢谢
Carlos F.
对不同的制造阶段都做了很好的解释。特别是对于那些从未开发过机器人的人来说,这是一份清晰而有用的工作。 谢谢