下载MetaTrader 5

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

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

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

2014.02.03 08:52
程序库

GetExtremums - MetaTrader 5程序库

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

显示:
391
等级:
投票: 18
\MQL5\Include\

该 GetExtremums() 函数设计用来标识整个给定历史周期的极值。搜索算法类似 FastZZ 指标使用的, 并且仅使用一个参数 - 最小价格变化 - 来标识一个极值。

int GetExtremums(double range,      //最小价格变化
                 MqlRates &rates[], //历史行情数组
                 dextremum &ge[],  //返回极值数组
                 int total=0)      //极值需求数量或零(所有极值)        
参数:
  •     double range - 标识极值所需的最小价格变化;
  •     MqlRates &rates[] - 行情数组;
  •     dextremum &ge[] - 以连续顺序保存极值的数组, 时间越近的极值保存为第一个元素 (0 索引)。
  •     int total - 发现极值的总数限制。所有极值以省缺搜索 (总计==0)。
返回值:
  •     极值数组中的元素数量。

以下结构用于极值描述。

struct dextremum         //极值描述
{
   int        type;      //1 - 峰值, -1 - 谷底
   datetime   time;
   double      value;
};


使用 GetExtremums() 的例子。

#include <GetExtremums.mqh>
//----
void OnStart()
{
   MqlRates rt[];
   dextremum zz[];
   CopyRates(_Symbol,_Period,TimeCurrent(),100,rt);
   //第一个变种 - 得到 10 个极值
   int cnt=GetExtremums(100*_Point,rt,zz,10);
   for(int i=0; i<cnt; i++)
        Print(i,") ",zz[i].time," >> ",zz[i].type==1?"峰值":"谷底","=",zz[i].value);
   //第二个变种 - 得到所有极值 
   cnt=GetExtremums(100*_Point,rt,zz);
   Print("发现 ",cnt," 极值");
}
//----

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

IncGUI_BitPic IncGUI_BitPic

像素绘画图形控件。

TradeChannel TradeChannel

基于价格通道的 EA

gpfTCPivotStop gpfTCPivotStop

该 EA 基于日线轴点支撑。

gpfTCPivotLimit gpfTCPivotLimit

该交易系统的操作基于在轴点指标的支撑/阻力位的反弹