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

【双EMA+RSI】均线金叉(死叉)+RSI过滤提示,有些瑕疵,欢迎交流。  

| 发表于 2021-6-14 12:30:27 | 显示全部楼层 |复制链接
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#include <MovingAverages.mqh>

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 DodgerBlue
#property indicator_color2 Yellow
#property indicator_color3 Magenta
#property indicator_color4 Lime

#include <WinUser32.mqh>
//---- input parameters
extern int       FastEMA=20;
extern int       SlowEMA=30;
extern int       RSIPeriod=5;
extern bool      Alerts=false;
extern int       TimerSeconds=60;
//extern string    File_Template;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//double rsi_sig[];
//---- variables
int sigCurrent=0;
int sigPrevious=0;
double pipdiffCurrent=0;
double pipdiffPrevious=0;
bool Apply_Template=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE,1,3);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_ARROW,1,3);
   SetIndexArrow(2,233);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexEmptyValue(2,0.0);
   SetIndexStyle(3,DRAW_ARROW,1,3);
   SetIndexArrow(3,234);
   SetIndexBuffer(3,ExtMapBuffer4);
   SetIndexEmptyValue(3,0.0);
//--- create timer
   EventSetTimer(TimerSeconds);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//--- destroy timer
   EventKillTimer();

//----
   return(0);
  }

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---图表重绘
   //ChartRedraw(0);

//---当前图表周期切换一次,目的是重新加载一次指标
/*
   int Period_Current=ChartPeriod(0);
   int Period_Previous;
   bool Chart_Period=false;

   if(Period_Current!=1 && Period_Current!=5)
   {
      Chart_Period=ChartSetSymbolPeriod(0,NULL,1);
      Period_Current=ChartPeriod(0);
   }

   Period_Previous=Period_Current;
   Print("初始周期为:",Period_Previous);
   for(int j=0;j<1;j++)
   {
      if(Period_Current==1)
      {
         Chart_Period=ChartSetSymbolPeriod(0,NULL,5);
         break;
      }
      else if(Period_Current==5)
      {
         Chart_Period=ChartSetSymbolPeriod(0,NULL,1);
         break;
      }

      //int  Period_Current=PeriodSeconds();      // chart period
   }

   Chart_Period=ChartSetSymbolPeriod(0,NULL,Period_Previous);
   Print("当前周期为:",Period_Current);
*/   

//---加载模板文件

   Apply_Template=ChartApplyTemplate(0,"9999.tpl");
   Print("模板加载结果:",Apply_Template);

  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
   double rsi_sig=0;
   bool entry=false;
   double entry_point=0;


   //---- check for possible errors
   if(counted_bars<0) return(-1);
   //---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;

   //---- main loop
   for(int i=0; i<limit; i++)
   {
     //---- ma_shift set to 0 because SetIndexShift called abowe
     ExtMapBuffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i);
     ExtMapBuffer2[i]=iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
     rsi_sig = iRSI(NULL, 0, RSIPeriod, PRICE_CLOSE, i);

     pipdiffCurrent=(ExtMapBuffer1[i]-ExtMapBuffer2[i]);

     Comment("pipdiffCurrent = "+DoubleToString(pipdiffCurrent)+" ");
     if (pipdiffCurrent>0 && rsi_sig>50)
     {
       sigCurrent = 1;  //Up
     }
     else if (pipdiffCurrent<0 && rsi_sig<50)
     {
       sigCurrent = 2;  //Down
     }
/*
     if (pipdiffCurrent>0)
     {
       sigCurrent = 1;  //Up
     }
     else if (pipdiffCurrent<0)
     {
       sigCurrent = 2;  //Down
     }
*/     

     if (sigCurrent==1 && sigPrevious==2)
     {
        ExtMapBuffer4[i-1] = High[i-1]+10*Point;
        //ExtMapBuffer3[i] = Ask;
        entry=true;
        entry_point=Ask;
     }
     else if (sigCurrent==2 && sigPrevious==1)
     {
        ExtMapBuffer3[i-1] = Low[i-1]-10*Point;
        //ExtMapBuffer4[i] = Bid;
        entry=true;
        entry_point=Bid;
     }


     sigPrevious=sigCurrent;
     pipdiffPrevious=pipdiffCurrent;
   }

   //----

   if(Alerts && entry)
   {
     PlaySound("alert.wav");
     if (sigPrevious==1)
     {
        MessageBox("Entry point: buy at "+DoubleToString(entry_point)+"!!", "Entry Point", MB_OK);
     }
     else if (sigPrevious==2)
     {
        MessageBox("Entry point: sell at "+DoubleToString(entry_point)+"!!", "Entry Point", MB_OK);
     }

     entry=false;
   }


   RefreshRates();

//----
   return(0);
  }
//+------------------------------------------------------------------+

双EMA+RSI

双EMA+RSI
2345截图20210614122915.png
举报

评论 使用道具

精彩评论24

时光微醺
DD
| 发表于 2021-6-14 17:26:00 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

糊涂人
DD
| 发表于 2021-6-19 22:12:20 | 显示全部楼层
谢谢
举报

点赞 评论 使用道具

nanaliu
CC
| 发表于 2021-6-19 23:41:48 | 显示全部楼层
感謝分享。。。。
举报

点赞 评论 使用道具

马保国炒外汇
DDD
| 发表于 2021-7-14 10:51:10 | 显示全部楼层
感謝分享。。。
举报

点赞 评论 使用道具

lyldr
DDD
| 发表于 2021-8-25 14:12:01 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

bba5675
DDD
| 发表于 2021-8-25 18:05:46 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

yaoyeyong
D
| 发表于 2021-8-25 21:19:58 | 显示全部楼层
小手一抖,活跃拿走
举报

点赞 评论 使用道具

狂奔的蚂蚁
未及格
| 发表于 2021-11-26 12:20:34 来自手机 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

zh135028
DDD
| 发表于 2022-2-2 20:17:06 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

Herbert
D
| 发表于 2022-2-2 20:23:13 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

lirenkf
DD
| 发表于 2022-3-28 20:23:19 | 显示全部楼层
有代码叶不会制作指标呀 。能告诉我这东西怎么制作么
举报

点赞 评论 使用道具

tmiqlk
未及格
| 发表于 2022-3-28 20:24:46 | 显示全部楼层
不错,支持一下.......
举报

点赞 评论 使用道具

Jerryxia0826
DDD
| 发表于 2022-3-28 20:40:10 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

qwe11
CCC
| 发表于 2022-3-28 20:52:16 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

yonnge
C
| 发表于 2022-3-28 20:54:22 | 显示全部楼层
感谢 分享
举报

点赞 评论 使用道具

tui2002
D
| 发表于 2022-4-2 00:14:42 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

Davis
DD
| 发表于 2022-4-3 20:54:37 来自手机 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

luck2233
DDD
| 发表于 2022-5-8 14:27:48 | 显示全部楼层
还有什么好指标吗
举报

点赞 评论 使用道具

daerbushen
DD
| 发表于 2022-5-8 14:36:56 | 显示全部楼层
这信号也太频繁了
举报

点赞 评论 使用道具

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

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