Индикатор суперсигналов - страница 37

 
sennal999:
это не загружается в сборке 765.

Вероятно, он защищен

 

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

Можно было бы поместить этот индикатор (поддержки и сопротивления) внутрь ЕМА, как на картинке?

Открывать покупку или продажу при пересечении линий поддержки или сопротивления.

Открывать продажу со скользящей средней при пересечении линии полос Боллинджера.

Файлы:
 

поддержка и сопротивление

Файлы:
 

вот индикаторы

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

 

Группы

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

//| Bands.mq4 |

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

//| MQL4: автоматическая торговля на Форекс, тестер стратегий и пользовательские индикаторы для MetaTrader |

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

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

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

#property description "Полосы Боллинджера"

#property strict

#include

#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 LightSeaGreen

#property indicator_color2 LightSeaGreen

#property indicator_color3 LightSeaGreen

//--- параметры индикатора

input int InpBandsPeriod=20; // Период полос

input int InpBandsShift=0; // Сдвиг полос

input double InpBandsDeviations=2.0; // Отклонения полос

//--- буферы

double ExtMovingBuffer[];

double ExtUpperBuffer[];

double ExtLowerBuffer[];

double ExtStdDevBuffer[];

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

//| Пользовательская функция инициализации индикатора |

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

int OnInit(void)

{

//--- 1 дополнительный буфер используется для подсчета.

IndicatorBuffers(4);

IndicatorDigits(Digits);

//--- средняя линия

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMovingBuffer);

SetIndexShift(0,InpBandsShift);

SetIndexLabel(0, "Bands SMA");

//--- верхняя полоса

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtUpperBuffer);

SetIndexShift(1,InpBandsShift);

SetIndexLabel(1, "Bands Upper");

//--- нижняя полоса

SetIndexStyle(2,DRAW_LINE);

SetIndexBuffer(2,ExtLowerBuffer);

SetIndexShift(2,InpBandsShift);

SetIndexLabel(2, "Bands Lower");

//--- рабочий буфер

SetIndexBuffer(3,ExtStdDevBuffer);

//--- проверка наличия входного параметра

if(InpBandsPeriod<=0)

{

Print("Неверный входной параметр Bands Period=",InpBandsPeriod);

return(INIT_FAILED);

}

//---

SetIndexDrawBegin(0,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(1,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(2,InpBandsPeriod+InpBandsShift);

//--- инициализация завершена

return(INIT_SUCCEEDED);

}

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

//| Полосы Боллинджера |

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

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

//--- отсчет от 0 до rates_total

ArraySetAsSeries(ExtMovingBuffer,false);

ArraySetAsSeries(ExtUpperBuffer,false);

ArraySetAsSeries(ExtLowerBuffer,false);

ArraySetAsSeries(ExtStdDevBuffer,false);

ArraySetAsSeries(close,false);

//--- начальный ноль

if(prev_calculated<1)

{

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

{

ExtMovingBuffer=EMPTY_VALUE;

ExtUpperBuffer=EMPTY_VALUE;

ExtLowerBuffer=EMPTY_VALUE;

}

}

//--- начало расчета

if(prev_calculated>1)

pos=prev_calculated-1;

else

pos=0;

//--- основной цикл

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

{

//--- средняя линия

ExtMovingBuffer=SimpleMA(i,InpBandsPeriod,close);

//--- вычисляем и записываем StdDev

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

//--- верхняя линия

ExtUpperBuffer=ExtMovingBuffer+InpBandsDeviations*ExtStdDevBuffer;

//--- нижняя строка

ExtLowerBuffer=ExtMovingBuffer-InpBandsDeviations*ExtStdDevBuffer;

//---

}

//---- OnCalculate done. Возвращаем новый prev_calculated.

return(rates_total);

}

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

//| Вычислить стандартное отклонение |

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

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

{

//--- переменные

double StdDev_dTmp=0.0;

//--- проверка позиции

if(position>=period)

{

//--- вычисление StdDev

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

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

StdDev_dTmp=MathSqrt(StdDev_dTmp/период);

}

//--- возвращаем вычисленное значение

return(StdDev_dTmp);

}

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

 

MovingAverages.mqh не является надежным

 

Сигнал истинной точки true_point_signal.mq4

Файлы:
 

Переименованный индикатор суперсигналов (перерисовывается одинаково) symphonie_market_emotion_indikator.mq4

 
increase:
Я использую этот индикатор уже некоторое время и он мне нравится.

Здравствуйте MrTools/Mladen, не могли бы вы добавить алерты со стрелками на крестики индикатора/сигнальной линии?

Спасибо

 

Здравствуйте,

Вот еще одна версия индикаторов - объединение алертов v3 и канальных индикаторов. Алерты также могут отправлять уведомления.

Возможно, вы найдете его полезным.

Best, V.

Файлы: