设为首页 收藏本站 切换语言

macd拐点信号检测

| 发表于 2024-11-3 10:13:20 | 显示全部楼层 |复制链接
© 本贴为 My05613828 首发,严禁抄袭!
//+------------------------------------------------------------------+
//|                                                     macd_chk.mqh |
//|                                  Copyright 2024, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "@大树My05613828"

class macd_chk
  {
private:
   int               macd_h;//句柄
   double            macd_z[];//数组值

public:

   bool              macd_check();
                     macd_chk();
                    ~macd_chk();
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
macd_chk::macd_chk()
  {
   macd_h = iMACD(Symbol(),PERIOD_CURRENT,12,26,9,PRICE_CLOSE);
   ArraySetAsSeries(macd_z,true);//倒序
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
macd_chk::~macd_chk()
  {
   if(macd_h!= INVALID_HANDLE)
      macd_h =  INVALID_HANDLE;
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
bool      macd_chk:: macd_check()
  {
  CopyBuffer(macd_h,0,0,20,macd_z);

   if(macd_z[0]<macd_z[1])//判断拐点
      return false;

   for(int i=1;i<10;i++)//判断减量
     {
      if(MathAbs(macd_z)>MathAbs(macd_z[i+1]))
         return false;
     }
   return true;
  }
//+------------------------------------------------------------------+
/*

#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include "macd_chk"
macd_chk cy;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
  bool chk = cy.macd_check();
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+

*/
  1. //+------------------------------------------------------------------+
  2. //|                                                     macd_chk.mqh |
  3. //|                                  Copyright 2024, MetaQuotes Ltd. |
  4. //|                                             https://www.mql5.com |
  5. //+------------------------------------------------------------------+
  6. #property copyright "@大树My05613828"
  7. class macd_chk
  8.   {
  9. private:
  10.    int               macd_h;
  11.    double            macd_z[];
  12. public:
  13.    bool              macd_check();
  14.                      macd_chk();
  15.                     ~macd_chk();
  16.   };
  17. //+------------------------------------------------------------------+
  18. //|                                                                  |
  19. //+------------------------------------------------------------------+
  20. macd_chk::macd_chk()
  21.   {
  22.    macd_h = iMACD(Symbol(),PERIOD_CURRENT,12,26,9,PRICE_CLOSE);
  23.    ArraySetAsSeries(macd_z,true);
  24.   }
  25. //+------------------------------------------------------------------+
  26. //|                                                                  |
  27. //+------------------------------------------------------------------+
  28. macd_chk::~macd_chk()
  29.   {
  30.    if(macd_h!= INVALID_HANDLE)
  31.       macd_h =  INVALID_HANDLE;
  32.   }
  33. //+------------------------------------------------------------------+
  34. //+------------------------------------------------------------------+
  35. bool      macd_chk:: macd_check()
  36.   {
  37.   CopyBuffer(macd_h,0,0,20,macd_z);
  38.   
  39.    if(macd_z[0]<macd_z[1])
  40.       return false;
  41.    for(int i=1;i<10;i++)
  42.      {
  43.       if(MathAbs(macd_z[i])>MathAbs(macd_z[i+1]))
  44.          return false;
  45.      }
  46.    return true;
  47.   }
  48. //+------------------------------------------------------------------+
  49. /*
  50. #property copyright "Copyright 2024, MetaQuotes Ltd."
  51. #property link      "https://www.mql5.com"
  52. #property version   "1.00"
  53. #include "macd_chk"
  54. macd_chk cy;
  55. //+------------------------------------------------------------------+
  56. //| Expert initialization function                                   |
  57. //+------------------------------------------------------------------+
  58. int OnInit()
  59.   {
  60. //---
  61.    
  62. //---
  63.    return(INIT_SUCCEEDED);
  64.   }
  65. //+------------------------------------------------------------------+
  66. //| Expert deinitialization function                                 |
  67. //+------------------------------------------------------------------+
  68. void OnDeinit(const int reason)
  69.   {
  70. //---
  71.    
  72.   }
  73. //+------------------------------------------------------------------+
  74. //| Expert tick function                                             |
  75. //+------------------------------------------------------------------+
  76. void OnTick()
  77.   {
  78. //---
  79.   bool chk = cy.macd_check();
  80.   }
  81. //+------------------------------------------------------------------+
  82. //| ChartEvent function                                              |
  83. //+------------------------------------------------------------------+
  84. */
复制代码
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论5

david6843
C
| 发表于 2024-11-4 10:04:28 | 显示全部楼层
VERY GOOD VERY GOOD
举报

点赞 评论 使用道具

My05613828
CCC
 楼主 | 发表于 2024-11-5 20:42:37 | 显示全部楼层

拿走不谢
举报

点赞 评论 使用道具

liguangxing2007
DDD
| 发表于 2024-11-7 12:26:46 | 显示全部楼层
拐来拐去还是这个老样子
举报

点赞 评论 使用道具

dyt20
D
| 发表于 2024-12-2 13:01:25 | 显示全部楼层
试试看怎么样
举报

点赞 评论 使用道具

xinhua123
DDD
| 发表于 4 天前 | 显示全部楼层
研究看看
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)