BrainTrend1Sig_v3

Author: BrainTrading Inc. System 7.0
Indicators Used
Indicator of the average true rangeStochastic oscillator
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
BrainTrend1Sig_v3
//+------------------------------------------------------------------+
//|                                               BrainTrend1Sig.mq4 |
//|                                     BrainTrading Inc. System 7.0 |
//|                                      http://www.braintrading.com |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc. System 7.0"
#property link      "http://www.braintrading.com"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- input parameters
extern int NumBars = 500;
extern int EnableAlerts = 0;
extern int SignalID = 0;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,108);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,108);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars = IndicatorCounted();
//---- 
    double    value2 = 0;
    double    value3 = 0;
    double    value11 = 0;
    double    x1 = 0;
    double    x2 = 0;
    double    Range = 0;
    double    val1 = 0;
    double    val2 = 0;
    int       shift = 0;
    double    abrs = 0;
    double    s = 1.5;
    double    p = 0;
    double    r = 0;
    double    r1 = 0;
    double    value21 = 0;
    double    prev = 0;
    double    d = 2.3;
    double    f = 7;
    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    a1 = 0;
    double    per1 = 0;
    double    a1x = 0;
    double    h5 = 0;
    double    tsig = 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;
//----
    st = 1;
    if(st == 1)
      {
        value11 = 9;
        x1 = 53;
        x2 = 47;
        if(Bars < NumBars) 
            abrs = Bars - 11; 
        else 
            abrs = NumBars - 11;
        shift = abrs;
        //----
        while(shift >= 0)
          {
            Range = iATR(NULL, 0, f, shift);
            value2 = iStochastic(NULL, 0, value11, value11, 1, 0, 0, 0, shift);
            val1 = 0;
            val2 = 0;
            if(value2 < x2 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) 
              {
                if(p == 2 || p == 0)
                  {
                    value3 = High[shift] + Range * s / 4;
                    val1 = value3;
                    p = 1;
                  }
              }
            //----
            if(value2 > x1 && MathAbs(Close[shift] - Close[shift + 2]) > Range / d) 
              {
                if(p == 1 || p == 0 )
                  {
                    value3 = Low[shift] - Range * s / 4;
                    val2 = value3;
                    p = 2;
                  }
              }
            ExtMapBuffer1[shift] = val1;
            ExtMapBuffer2[shift] = val2;  
            shift--;
          }
      }
//----
    if(EnableAlerts == 1) 
      {
        if(val1 > 0 && tsig != 1)
          {
            tsig = 1;
            Alert("BrainTrend1Sig", "Sell ", Symbol(), " at ", Close[0] , " S/L " , 
                  val1, " BT1 M", Period());
          }
        if(val2 > 0 && tsig != 2) 
          {
            tsig = 2;
            Alert("BrainTrend1Sig", "Buy ", Symbol(), " at ", Close[0], " S/L ", 
                  val2, " BT1 M" , Period());
          }
      }
//----
    return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---