50金币求编程老师添加一个声音报警提示

  [复制链接]
270 6
金城谈金 发表于 2018-1-11 21:42:21 | 只看该作者 |阅读模式 打印 上一主题 下一主题
求编程老师给信号指标添加一个声音报警提示。
//+------------------------------------------------------------------+
//|                                                  BrainTrend2.mq4 |
//|                                                www.forex-tsd.com |
//|                                                Nick Bilak        |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc."
#property link      "www.forex-tsd.com"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int       NumBars=500;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double spread;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexArrow(1,234);
   spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int    counted_bars=IndicatorCounted();
        //----
        int       artp=7;
        double    dartp=7.0;
        double    cecf=0.7;
        int       satb=0;
        int       Shift=0;
        bool      river=True;
        double    Emaxtra=0;
        double    widcha=0;
        double    TR=0;
        double    Values[100];
        int       glava=0;
        double    ATR=0;
        int       J=0;
        double    Weight=0;
        double    r=0;
        double    r1=0;
        int       p=0;
        int       Curr=0;
        double    Range1=0;
        double    s=2;
        double    f=10;
        double    val1=0;
        double    val2=0;
        double    h11=0;
        double    h12=0;
        double    h13=0;
        double    const=0;
        double    orig=0;
        double    st=0;
        double    h2=0;
        double    h1=0;
        double    h10=0;
        double    sxs=0;
        double    sms=0;
        double    temp=0;
        double    h5=0;
        double    r1s=0;
        double    r2s=0;
        double    r3s=0;
        double    r4s=0;
        double    pt=0;
        double    pts=0;
        double    r2=0;
        double    r3=0;
        double    r4=0;
        double    tt=0;
   if( Bars  Close[satb - 1]) river = True; else river = False;
   Emaxtra = Close[satb - 2];
   Shift=satb-3;
   while(Shift>=0)      {
      TR = spread+ High[Shift] - Low[Shift];
      if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);
      if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR)  TR = MathAbs(Low[Shift] - Close[Shift + 1]);
      if (Shift == satb - 3 ) {
         for(J=0;Shift Emaxtra + widcha) {
         river = True;
         Emaxtra = Low[Shift];
      }
      if (river && Low[Shift] > Emaxtra) {
         Emaxtra = Low[Shift];
      }
      if (!river && spread+ High[Shift]  0) {
            val1 = r1;
            val2 = 0;
         } else {
            val1 = 0;
            val2 = 0;
         }
         ExtMapBuffer1[Shift]=val1;
         p = 1;
      } else {
         if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;
         if (p == 2) r1 = -1.0;
         if (r1 > 0) {
            val1 = 0;
            val2 = r1;
         } else {
            val1 = 0;
            val2 = 0;
         }
         ExtMapBuffer2[Shift]=val2;
         p = 2;
      }
      Shift--;
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
收藏
收藏0
转播
转播
分享
分享
分享
淘帖0

精彩评论6

跳转到指定楼层
沙发
fhifenhwi 发表于 2018-1-11 22:02:57 | 只看该作者
[C++] 纯文本查看 复制代码//+------------------------------------------------------------------+
//|                                                  BrainTrend2.mq4 |
//|                                                www.forex-tsd.com |
//|                                                Nick Bilak        |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc."
#property link      "www.forex-tsd.com"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int       NumBars=500;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double spread;
int a1,b1,a2,b2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  a1=0;b1=0;a2=0;b2=0;
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexArrow(1,234);
   spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int    counted_bars=IndicatorCounted();
        //----
        int       artp=7;
        double    dartp=7.0;
        double    cecf=0.7;
        int       satb=0;
        int       Shift=0;
        bool      river=True;
        double    Emaxtra=0;
        double    widcha=0;
        double    TR=0;
        double    Values[100];
        int       glava=0;
        double    ATR=0;
        int       J=0;
        double    Weight=0;
        double    r=0;
        double    r1=0;
        int       p=0;
        int       Curr=0;
        double    Range1=0;
        double    s=2;
        double    f=10;
        double    val1=0;
        double    val2=0;
        double    h11=0;
        double    h12=0;
        double    h13=0;
        double    orig=0;
        double    st=0;
        double    h2=0;
        double    h1=0;
        double    h10=0;
        double    sxs=0;
        double    sms=0;
        double    temp=0;
        double    h5=0;
        double    r1s=0;
        double    r2s=0;
        double    r3s=0;
        double    r4s=0;
        double    pt=0;
        double    pts=0;
        double    r2=0;
        double    r3=0;
        double    r4=0;
        double    tt=0;
   if( Bars  Close[satb - 1]) river = True; else river = False;
   Emaxtra = Close[satb - 2];
   Shift=satb-3;
   while(Shift>=0)      {
      TR = spread+ High[Shift] - Low[Shift];
      if( MathAbs(spread+ High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(spread+ High[Shift] - Close[Shift + 1]);
      if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR)  TR = MathAbs(Low[Shift] - Close[Shift + 1]);
      if (Shift == satb - 3 ) {
         for(J=0;Shift Emaxtra + widcha) {
         river = True;
         Emaxtra = Low[Shift];
      }
      if (river && Low[Shift] > Emaxtra) {
         Emaxtra = Low[Shift];
      }
      if (!river && spread+ High[Shift]  0) {
            val1 = r1;
            val2 = 0;
         } else {
            val1 = 0;
            val2 = 0;
         }         
         ExtMapBuffer1[Shift]=val1;
         if(Shift==0 && val1!=0 && a1==0)
         {
           a1=1;
           a2=Time[0];
           Alert(Symbol()+"报警!");
         }
         if(a2!=Time[0])
         {
           a1=0;
           a2=Time[0];
         }
         if(Shift==0 && val1==0)
         {
           a1=0;
         }
         p = 1;
      } else {
         if (p != 2) r1 = spread+ High[Shift] + Range1 * s / 3.0;
         if (p == 2) r1 = -1.0;
         if (r1 > 0) {
            val1 = 0;
            val2 = r1;
         } else {
            val1 = 0;
            val2 = 0;
         }
         ExtMapBuffer2[Shift]=val2;
         if(Shift==0 && val2!=0 && b1==0)
         {
           b1=1;
           b2=Time[0];
           Alert(Symbol()+"报警!");
         }
         if(b2!=Time[0])
         {
           b1=0;
           b2=Time[0];
         }
         if(Shift==0 && val2==0)
         {
           b1=0;
         }         p = 2;
      }
      Shift--;
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
板凳
fhifenhwi 发表于 2018-1-11 22:11:39 | 只看该作者
每出现一次箭头就报警一次,报警上面有显示具体的货币名称,方便多货币加载此指标。
地板
 楼主| 金城谈金 发表于 2018-1-11 22:30:23 | 只看该作者

十分感谢好心人热心帮助!!

5#
fhifenhwi 发表于 2018-1-11 23:51:14 | 只看该作者

说好的金币呢

6#
 楼主| 金城谈金 发表于 2018-1-12 00:52:17 | 只看该作者

你回帖发一个指标出售50金币  我把它买下来
7#
 楼主| 金城谈金 发表于 2018-1-12 02:17:11 | 只看该作者

这个信号指标比较准确,基本不会错过大行情。但是在波动小的时间段信号会格外频繁杂乱。请问老师有没有办法添加像别的指标一样可以更改指标参数设置。在大时间周期改用小参数 小时间周期改用大参数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by 顺水鱼MT4外汇EA网! X3.2© 2001-2017 顺水MT4外汇EA公司.( 陕ICP备17014341号-1