下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

程序库

SignalCandelsHighOpen - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
370
等级:
投票: 13
已发布:
2017.02.06 12:55
已更新:
2017.09.06 12:29
\MQL5\Include\Expert\MySig\

整个开发链: Candels High Open 指标, 基于CandelsHighOpen 信号模块的EA交易。 

SignalCandelsHighOpen 交易信号模块假定 Candels High Open 自定义指标已经编译好并放在 \MQL5\Indicators\ 文件夹下了。这个路径是在下面的代码块中指定的:

//+------------------------------------------------------------------+
//| 创建 "Candels High Open" 指标                  |
//+------------------------------------------------------------------+
bool CSignalCHO::CreateCandelsHighOpen(CIndicators *indicators)
  {
//--- 检查指针
   if(indicators==NULL) return(false);
//--- 把对象加到集合中
   if(!indicators.Add(GetPointer(m_SignalCHO)))
     {
      printf(__FUNCTION__+": 加入 CandelsHighOpen 对象失败");
      return(false);
     }
//--- 设置 Candels High Open 指标参数
   MqlParam parameters[2];
//---
   parameters[0].type=TYPE_STRING;
   parameters[0].string_value="Candels High Open.ex5";
   parameters[1].type=TYPE_INT;
   parameters[1].integer_value=m_reverse_signals;  // 反转
//--- 对象初始化object initialization  
   if(!m_SignalCHO.Create(m_symbol.Name(),m_period,IND_CUSTOM,2,parameters))
     {
      printf(__FUNCTION__+": 初始化 CandelsHighOpen 对象失败");
      return(false);
     }
//--- 缓冲区数量
   if(!m_SignalCHO.NumBuffers(1)) return(false);
//--- 达到这一行表示函数执行成功 - 返回 'true'
   return(true);
  }

如果指标放到另外的文件夹, 例如 \MQL5\Indicators\Examples\, 指标的路径应该如下:

   parameters[0].string_value="Examples\\Candels High Open.ex5";

买入和卖出信号:

因为 Candels High Open 指标在缓冲区中只包含三个值:

  • "+1" - 买入信号
  • "0" - 没有信号
  • and "-1" - 卖出信号
交易信号模块也是一样:

//+------------------------------------------------------------------+
//| 返回买入信号量                          |
//+------------------------------------------------------------------+
int CSignalCHO::LongCondition()
  {
   int signal=0;
//--- 对于根据订单时刻工作 idx=0, 对于根据完成的柱工作 idx=1
   int idx=StartIndex();
//--- 最后完成柱的信号值
   double ind_value=Signal(idx);
//---
   if(ind_value>0.0)
     {
      signal=100; // 出现了买入信号
     }

//--- 返回信号值
   return(signal);
  }
//+------------------------------------------------------------------+
//| 返回卖出信号量                           |
//+------------------------------------------------------------------+
int CSignalCHO::ShortCondition()
  {
   int signal=0;
//--- 对于根据订单时刻工作 idx=0, 对于根据完成的柱工作 idx=1
   int idx=StartIndex();
//--- 最近完成柱的信号值
   double ind_value=Signal(idx);
//---
   if(ind_value<0.0)
     {
      signal=100; // 生成卖出信号
     }

//--- 返回信号值
   return(signal);
  }

当通过MQL5向导生成EA交易时,搜索描述为 "Analyzing High and Open of the last three bars" ("分析最近三个柱的最高价和开盘价")的信号模块:

SignalCandelsHighOpen

 

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/16861

Candels High Open Candels High Open

Candels High Open 指标分析了最近三个柱的最高价和开盘价。

Zigzag2_R_Color_Arrows_HTF Zigzag2_R_Color_Arrows_HTF

在输入参数中带有时段选项,并且以分形标签形式显示数值的 Zigzag2_R_Color 指标。

CandelsHighOpen CandelsHighOpen

CandelsHighOpen EA交易是基于 Candels High Open 指标交易信号模块的。EA 有进行市场交易和挂单的功能,以及可以基于抛物线SAR指标设置移动止损。

Original Turtle Rules Trader Original Turtle Rules Trader

Original Turtle Rule Trader EA 交易实现了在 "The Original Turtle Trading Rules(最初的海龟交易规则)" 一书中描述的交易系统。EA的代码中实现了 Donchian 通道的显示, 资金管理,建仓和加仓以及移动止损水平。