文章 "MQL5 傻瓜式向导"

 

新文章 MQL5 傻瓜式向导已发布:

在 2011 年年初,我们发布了 MQL5 向导的第一个版本。这一新的应用程序为自动生成交易机器人提供了简单方便的工具。任何 MetaTrader 5 用户都能创建自定义的EA 交易,他们甚至无需知道如何以 MQL5 编程。

Generate Expert Advisor

作者:MetaQuotes Software Corp.

 

向开发人员提出的问题

1.为什么不能使用其他信号?

例如,"基于两个 EMAs 交叉的信号"。

https://www.mql5.com/ru/forum/2935/page1

2.信号库是否会得到补充?

3.能否使用 "向导 "创建自己的信号类别?

4.能否使用 "向导 "基于指标阵列创建指标?

5.能否保存向导设置,以便直接在向导中对创建的策略/指标进行进一步调整?

我认为,第3-5 项将使 "非程序员 "交易员的生活更加轻松。

一个完全的 "幻想 "是,在向导的帮助下为任何指标创建自己的信号盒,就像在 Excel 中写方程式一样:)

就像在 Metaquots 和 CQG 中实现的那样。

Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних
  • www.mql5.com
В статье Создание эксперта без программирования с помощью Мастера MQL5 описаны шаги по автоматическому созданию кода советника при помощи Мастера MQL5.
 
我正在编写自己的信号模块,其中的测试功能如下:
//+------------------------------------------------------------------+
//| 检查是否满足销售条件
//| INPUT:无|
//| 输出:语音权重从 0 到 100|
//| 备注:没有。|
//+------------------------------------------------------------------+
int CInnerBarSignal::ShortCondition(){
//----条件由关闭的前一栏进行检查

  
   Print("call short condition");
   if(  Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){
     return(100);
   }
//--- 条件未满足
   return(0);
  }

在 "all ticks "模式下运行生成的 EA 时,可以看到该函数在开仓时执行了两次

2011.06.07 11:42:15 Core 1 连接已关闭

2011.06.07 11:42:15 Core 1 log file "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" written

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 bars) generated within 62 ms (total bars in history 8814, total time 312 ms)

2011.06.07 11:42:15 核心 1 OnTester 结果 0

2011.06.07 11:42:15 核心 1 2011.06.02 23:00:00 调用空头条件

2011.06.07 11:42:15 核心 1 2011.06.02 23:00:00 调用短路条件

2011.06.07 11:42:15 核心 1 2011.06.02 22:00:00 呼叫短条件

2011.06.07 11:42:15 核心 1 2011.06.02 22:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 21:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 21:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 20:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 20:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 19:00:00 调用短条件

信号模块中是否没有后置处理功能?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
gdtt:
我正在编写自己的信号模块,其中的测试功能如下:

在 "all ticks "模式下运行生成的 EA 时,可以看到该函数在开仓时执行了两次

2011.06.07 11:42:15 Core 1 连接已关闭

2011.06.07 11:42:15 Core 1 log file "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" written

2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 bars) generated within 62 ms (total bars in history 8814, total time 312 ms)

2011.06.07 11:42:15 核心 1 OnTester 结果 0

2011.06.07 11:42:15 核心 1 2011.06.02 23:00:00 调用空头条件

2011.06.07 11:42:15 核心 1 2011.06.02 23:00:00 调用短路条件

2011.06.07 11:42:15 核心 1 2011.06.02 22:00:00 呼叫短条件

2011.06.07 11:42:15 核心 1 2011.06.02 22:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 21:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 21:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 20:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 20:00:00 调用短条件

2011.06.07 11:42:15 核心 1 2011.06.02 19:00:00 调用短条件

信号模块中是否没有后置处理功能?

默认情况下,向导 生成的智能交易系统以开盘价运行。

在智能交易系统的源代码中,将:

//--- 专家初始化
   if(!Ext_Expert.Init(...,...,false,...))

改为

//--- 专家初始化
   if(!Ext_Expert.Init(...,...,true,...))
 

2011 年初,我们发布了第一版向导 MQL5。这一步为交易者提供了一个简单明了的自动创建交易机器人的工具。任何 MetaTrader 5 用户都可以编写自己的智能交易系统,而无需了解如何使用 MQL5 编程。


这很好,但对于初学者来说,这还不足以编写自己的机器人,也就是说,您可以编写机器人,但只能使用您的库。如果初学者需要用自己的信号编写智能交易系统 呢?在这里...

如果您希望任何初学者都能编写自己的智能交易系统,您需要添加一个可视化器。例如,在Trade Navigator 中就可以实现这一点。在这里,您可以通过选择图表部分将信号添加到信号库中。可视化器会将所有信息都传输到编程语言中。它会考虑到图表上的一切,包括蜡烛图、指标和图形线。也就是说,你可以创建任何库。然后,您可以根据这些信号创建任何智能交易系统。这就是我们应该努力的方向。

谢谢

[删除]  
NGN:


当然,您可以编写,但只能使用您的库。如果初学者需要编写自己的信号专家呢?在这里...

如果您希望任何初学者都能编写自己的智能交易系统,您需要添加一个可视化器。例如,在Trade Navigator 中就可以实现这一点。在这里,您可以通过选择图表部分将信号添加到信号库中。可视化器会将所有信息都传输到编程语言中。它会考虑到图表上的一切,包括蜡烛图、指标和图形线。也就是说,你可以创建任何库。然后,您可以根据这些信号创建任何智能交易系统。这就是我们应该努力的方向。

谢谢

您还不熟悉这些文章吗?

1.MQL5 向导:如何为未结头寸维护编写自己的模块

2.MQL5 向导:如何编写自己的资本和风险管理模块

3.MQL5 向导:如何编写自己的交易信号模块

4.MQL5 向导:无需编程即可创建智能交易系统 5.

5.MQL5 向导:新版本

 

您能告诉我如何在向导中设置挂单 吗?

另一个问题:这段代码正确吗?

//+------------------------------------------------------------------+
//|| 全球专家对象|
//+------------------------------------------------------------------+
CExpert ExtExpert;
CExpert ExtExpert1;

//+------------------------------------------------------------------+
//| 专家的初始化函数
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 专家初始化
   if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || 
      !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber))
     {
      //--- 失败
      printf(__FUNCTION__+": error initializing expert");
      ExtExpert.Deinit();
      ExtExpert1.Deinit(); 
      return(-1);
     }

在这种情况下,应在测试器中设置什么符号/周期?

2011.06.16 10:15:25     Core 1  2011.06.01 00:00:00   CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
 
beginner:

您能告诉我如何在向导中设置挂单 吗?

在生成的智能交易系统中有一个参数 Inp_Signal_PricrLivel。

值 0 - 市场进入。

值大于 0 - 入市优于市场(根据限价订单)。

值小于 0 - 入市比市场差(根据止损单)。

我还不能马上回答第二个问题。
 

参数如下

//+------------------------------------------------------------------+
//| 输入|
//+------------------------------------------------------------------+
//--- 专家输入
input string Expert_Title         ="2";   // 文件名称
int          Expert_MagicNumber   =13179; // 
bool         Expert_EveryTick     =false; // 
//--- 主信号输入
input int    Signal_ThresholdOpen =10;    // 要打开的信号阈值 [0...100]
input int    Signal_ThresholdClose=10;    // 要关闭的信号阈值 [0...100]
input double Signal_PriceLevel    =0.0;   // 执行交易的价格水平
input double Signal_StopLevel     =50.0;  // 止损水平(单位:点)
input double Signal_TakeLevel     =50.0;  // 止盈水平(点数)
input int    Signal_Expiration    =4;     // 挂单到期(以条为单位)
input double Signal__Weight       =1.0;   // InnerBar 权重 [0...1.0]
//--- 资金投入
input double Money_FixLot_Percent =10.0;  // 百分比。
input double Money_FixLot_Lots    =0.1;   // 固定音量
我应该如何执行才能进入 任何期权市场
 
beginner:

参数如下

我应该如何格式化才能在任一选项上入市

要比市场更好地入市(在反弹时):

input double Signal_PriceLevel    =50.0;   // 执行交易的价格水平

比市场更差(突破时):

input double Signal_PriceLevel    =-50.0;   // 执行交易的价格水平

但您可以在测试器中通过对参数-50.0 至 50.0(增量为 1.0(5.0))进行优化来实现。

 
uncleVic:
我还不能马上回答第二个问题。

或者告诉我如何用两种工具进行交易。