Author: Submarine
Indicators Used
Moving average indicator
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
BIAS_v1
ÿþ//+------------------------------------------------------------------+

//|                                                         BIAS.mq4 |

//|                                                        Submarine |

//|                                      WeChart:ExpertAdvisorTrader |

//+------------------------------------------------------------------+

#property copyright "Submarine"

#property link      "WeChart:ExpertAdvisorTrader"

#property version   "3.00"

#property strict

#property indicator_buffers 3

#property indicator_separate_window

double         LongBuffer[];

double         MidBuffer[];

double         ShortBuffer[];



ENUM_TIMEFRAMES InPeriod = PERIOD_CURRENT;

input int   InLong  = 6;

input color ClrLong = clrRed;

input int   InMid   = 12;

input color ClrMid  = clrYellow;

input int   InShort = 24;

input color ClrShort= clrGreen;



int ControlBars = 0;



//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

int OnInit()

  {

  EventSetTimer(1);

//--- indicator buffers mapping

    SetIndexBuffer(0,LongBuffer);

    SetIndexBuffer(1,MidBuffer);

    SetIndexBuffer(2,ShortBuffer);

    SetIndexStyle(0,DRAW_LINE,0,1,ClrLong);

    SetIndexStyle(1,DRAW_LINE,0,1,ClrMid);

    SetIndexStyle(2,DRAW_LINE,0,1,ClrShort);

//---

   return(INIT_SUCCEEDED);

  }

//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

  {

//---

   

   int BarsWind;

   if (ControlBars!=0) BarsWind=ControlBars; else BarsWind=WindowFirstVisibleBar();

    for(int i=BarsWind; i>=0; i--)

       {

        LongBuffer[i]  = ((close[i]-iMA(NULL,InPeriod,InLong,0,0,0,i)) / (iMA(NULL,InPeriod,InLong,0,0,0,i)) *100);

        MidBuffer[i]   = ((close[i]-iMA(NULL,InPeriod,InMid,0,0,0,i))  / (iMA(NULL,InPeriod,InMid,0,0,0,i))  *100);

        ShortBuffer[i] = ((close[i]-iMA(NULL,InPeriod,InShort,0,0,0,i))/ (iMA(NULL,InPeriod,InShort,0,0,0,i))*100);

        

       /*

       BIAS1 : (CLOSE-MA(CLOSE,L1	ÿ	ÿ/MA(CLOSE,L1	ÿ*100;

       BIAS2 : (CLOSE-MA(CLOSE,L2	ÿ	ÿ/MA(CLOSE,L2	ÿ*100;

       BIAS3 : (CLOSE-MA(CLOSE,L3	ÿ	ÿ/MA(CLOSE,L3	ÿ*100;

       */

       }

   

//--- return value of prev_calculated for next call

   return(rates_total);

  }

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 ---