Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это не загружается в сборке 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
Я использую этот индикатор уже некоторое время и он мне нравится.
Здравствуйте MrTools/Mladen, не могли бы вы добавить алерты со стрелками на крестики индикатора/сигнальной линии?
Спасибо
Здравствуйте,
Вот еще одна версия индикаторов - объединение алертов v3 и канальных индикаторов. Алерты также могут отправлять уведомления.
Возможно, вы найдете его полезным.
Best, V.