Author: transport_david , David W Honeywell
R2_Arrows
Indicators Used
Moving average indicatorRelative strength index
Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
R2_Arrows
//+------------------------------------------------------------------+
//|                                                    R2_Arrows.mq4 |
//|            Copyright © 2006, transport_david , David W Honeywell |
//|                                     hellonwheels.trans@gmail.com |
//+------------------------------------------------------------------+

#property copyright "transport_david , David W Honeywell"
#property link      "hellonwheels.trans@gmail.com"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Coral
#property indicator_color2 White
#property indicator_color3 FireBrick

//---- input parameters

extern int Trend_Ma_Periods = 200;
extern int RsiLowLev        =  35;
extern int RsiHiLev         =  65;
extern int RsiPeriods       =   2;
extern int Applied_Price    =   0;
extern int CloseBuyRsiLev   =  75;
extern int CloseSellRsiLev  =  25;

//---- buffers

double ExtMapBuffer0[];
double ExtMapBuffer1[];
double ExtMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

int init()
  {
//---- indicators
   
   IndicatorBuffers(3);
   
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,234);
   SetIndexBuffer(0,ExtMapBuffer0);
   
   SetIndexEmptyValue(1,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,233);
   SetIndexBuffer(1,ExtMapBuffer1);
   
   SetIndexEmptyValue(2,0.0);
   SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,1);
   SetIndexArrow(2,172);
   SetIndexBuffer(2,ExtMapBuffer2);
   
//----
   return(0);
  }

//+------------------------------------------------------------------+ 
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+

int deinit()
  {
//---- 
   
//----
   return(0);
  } 

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+ 

int start()
  {
   
//---- 
   for (int i=Bars-50; i>=0; i--)
      {
      
      double prevtime;
      if (Time[0]!=prevtime) { RefreshRates(); prevtime=Time[0]; } 
      
      double Trend_Ma = iMA(Symbol(),PERIOD_D1,Trend_Ma_Periods,0,MODE_SMA,Applied_Price,i);
      
      double Day1 = iRSI(Symbol(),PERIOD_D1,RsiPeriods,Applied_Price,i+3);
      double Day2 = iRSI(Symbol(),PERIOD_D1,RsiPeriods,Applied_Price,i+2);
      double Day3 = iRSI(Symbol(),PERIOD_D1,RsiPeriods,Applied_Price,i+1);
      
      //- Sell Arrows ---
      
      if ( (Close[i+1] < Trend_Ma) && (Day1 > RsiLowLev) && (Day2 > Day1) && (Day3 > Day2) )
         ExtMapBuffer0[i]=High[i]+(20*Point);//High arrow Sell
      
      //- Buy Arrows ---
      
      if ( (Close[i+1] > Trend_Ma) && (Day1 < RsiHiLev) && (Day2 < Day1) && (Day3 < Day2) )
         ExtMapBuffer1[i]=Low[i]-(20*Point);//Low arrow Buy 
      
      //- Close Trades Marker ---
      if ( (Close[i+1] < Trend_Ma) && (Day3 < CloseSellRsiLev) )
         ExtMapBuffer2[i]=Low[i]-(50*Point);
      
      if ( (Close[i+1] > Trend_Ma) && (Day3 > CloseBuyRsiLev) )
         ExtMapBuffer2[i]=High[i]+(50*Point);
      
      }
       
//----
   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 ---