Super Signals Indicator - page 37

 
sennal999:
this is not loading in build 765.

It is probably protected

 

. Isso não está carregando na compilação 765 [/ QUOTE]

One could put this indicator (support and resistance) within the EMA, as image?

Open buy or sell when it crosses the lines of support or resistance.

Open sale with moving average when Crossing the bollinger bands Line.

Files:
 

support and resistance

Files:
 

these are the indicators

https://www.mql5.com/en/forum/general

 

Bands

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

//| Bands.mq4 |

//| Copyright 2005-2014, MetaQuotes Software Corp. |

//| MQL4: automated forex trading, strategy tester and custom indicators with MetaTrader |

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

#property copyright "2005-2014, MetaQuotes Software Corp."

#property link "http://www.mql4.com"

#property description "Bollinger Bands"

#property strict

#include

#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 LightSeaGreen

#property indicator_color2 LightSeaGreen

#property indicator_color3 LightSeaGreen

//--- indicator parameters

input int InpBandsPeriod=20; // Bands Period

input int InpBandsShift=0; // Bands Shift

input double InpBandsDeviations=2.0; // Bands Deviations

//--- buffers

double ExtMovingBuffer[];

double ExtUpperBuffer[];

double ExtLowerBuffer[];

double ExtStdDevBuffer[];

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

//| Custom indicator initialization function |

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

int OnInit(void)

{

//--- 1 additional buffer used for counting.

IndicatorBuffers(4);

IndicatorDigits(Digits);

//--- middle line

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMovingBuffer);

SetIndexShift(0,InpBandsShift);

SetIndexLabel(0,"Bands SMA");

//--- upper band

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtUpperBuffer);

SetIndexShift(1,InpBandsShift);

SetIndexLabel(1,"Bands Upper");

//--- lower band

SetIndexStyle(2,DRAW_LINE);

SetIndexBuffer(2,ExtLowerBuffer);

SetIndexShift(2,InpBandsShift);

SetIndexLabel(2,"Bands Lower");

//--- work buffer

SetIndexBuffer(3,ExtStdDevBuffer);

//--- check for input parameter

if(InpBandsPeriod<=0)

{

Print("Wrong input parameter Bands Period=",InpBandsPeriod);

return(INIT_FAILED);

}

//---

SetIndexDrawBegin(0,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(1,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(2,InpBandsPeriod+InpBandsShift);

//--- initialization done

return(INIT_SUCCEEDED);

}

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

//| Bollinger Bands |

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

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 i,pos;

//---

if(rates_total<=InpBandsPeriod || InpBandsPeriod<=0)

return(0);

//--- counting from 0 to rates_total

ArraySetAsSeries(ExtMovingBuffer,false);

ArraySetAsSeries(ExtUpperBuffer,false);

ArraySetAsSeries(ExtLowerBuffer,false);

ArraySetAsSeries(ExtStdDevBuffer,false);

ArraySetAsSeries(close,false);

//--- initial zero

if(prev_calculated<1)

{

for(i=0; i<InpBandsPeriod; i++)

{

ExtMovingBuffer=EMPTY_VALUE;

ExtUpperBuffer=EMPTY_VALUE;

ExtLowerBuffer=EMPTY_VALUE;

}

}

//--- starting calculation

if(prev_calculated>1)

pos=prev_calculated-1;

else

pos=0;

//--- main cycle

for(i=pos; i<rates_total && !IsStopped(); i++)

{

//--- middle line

ExtMovingBuffer=SimpleMA(i,InpBandsPeriod,close);

//--- calculate and write down StdDev

ExtStdDevBuffer=StdDev_Func(i,close,ExtMovingBuffer,InpBandsPeriod);

//--- upper line

ExtUpperBuffer=ExtMovingBuffer+InpBandsDeviations*ExtStdDevBuffer;

//--- lower line

ExtLowerBuffer=ExtMovingBuffer-InpBandsDeviations*ExtStdDevBuffer;

//---

}

//---- OnCalculate done. Return new prev_calculated.

return(rates_total);

}

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

//| Calculate Standard Deviation |

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

double StdDev_Func(int position,const double &price[],const double &MAprice[],int period)

{

//--- variables

double StdDev_dTmp=0.0;

//--- check for position

if(position>=period)

{

//--- calcualte StdDev

for(int i=0; i<period; i++)

StdDev_dTmp+=MathPow(price[position-i]-MAprice[position],2);

StdDev_dTmp=MathSqrt(StdDev_dTmp/period);

}

//--- return calculated value

return(StdDev_dTmp);

}

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

 

MovingAverages.mqh is not to reliable

 

True point signal true_point_signal.mq4

Files:
 

Renamed super signals indicator (repaints the same) symphonie_market_emotion_indikator.mq4

 
increase:
I have been using this one for some time and like it

Hi MrTools/Mladen, could you please add alerts with arrows on crosses indicator/signal line?

Thanks

 

Hi,

Here is another version of the indicators - a merge of the v3 alerts and channel indicators. Alerts can send notifications as well.

Maybe you find it useful

Best, V.

Files:
Reason: