Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
ТОП СООБЩЕНИЙ
20.08.2015, 10:29
Лучший ответ
Выплачено: 824 RUB
Кто может сделать простой индикатор? Две скользящие средние (простые МА), быстрая пересекает медленную, звучит сигнал (сверху вниз на продажу, снизу вверх на покупку).
В настройки вывести периоды одной и второй МА (остальные выводить не нужно, они по стандарту simple и close) и возможность поменять цвет.
Я думаю таких полно. Да и сам сможешь со справкой написать за часа два.
На графике должны соответственно отображаться две МА.
Тебе нужно тогда сделать шаблон для отображения твоего вида средних линий на графике.
25.08.2015, 11:13
Лучший ответ
Выплачено: 20203 RUB
Довольно простая задача, вместо звукового сигнала я применил алерты, но если нужен звуковой сигнал, то можно добавить, при желании, также, можно добавить отправку сообщений на почту и стрелки.

MQL код:
//+------------------------------------------------------------------+
//| cross_2_ma.mq4 |
//| Copyright 2015. Cyberdev |
//| [url]https://www.mql5.com/ru/users/cyberdev/seller[/url] |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015. Cyberdev"
#property link "https://www.mql5.com/ru/users/cyberdev/seller"
#property version "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2

extern int ma_period_1 = 10;
extern int ma_period_2 = 26;

double ma_1[], ma_2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit(){
SetIndexBuffer(0, ma_1);
SetIndexBuffer(1, ma_2);

SetIndexEmptyValue(0, 0);
SetIndexEmptyValue(1, 0);

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

SetIndexLabel(0, "Fast MA");
SetIndexLabel(1, "Slow MA");

return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start(){
int count = Bars - IndicatorCounted();

for(int i = 0; i < count; i++){
ma_1[i] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, i);
ma_2[i] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, i);
}

static datetime c_time = 0;
datetime time = Time[0];

if(c_time != time){
c_time = time;
}
else return(0);

double ma1[2], ma2[2];
ma1[0] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, 0);
ma1[1] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, 2);
ma2[0] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, 0);
ma2[1] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, 2);

if(ma1[0] > ma2[0] && ma1[1] <= ma2[1]){
Alert("Cross 2 MA ", _Symbol, " Пересечение МА, восходящий тренд!");
}

if(ma1[0] < ma2[0] && ma1[1] >= ma2[1]){
Alert("Cross 2 MA ", _Symbol, " Пересечение МА, нисходящий тренд!");
}

return(0);
}
//+------------------------------------------------------------------+
  • #1 Свернуть

    Кто может написать индикатор?

    Всем привет! Кто может сделать простой индикатор? Две скользящие средние (простые МА), быстрая пересекает медленную, звучит сигнал (сверху вниз на продажу, снизу вверх на покупку).
    В настройки вывести периоды одной и второй МА (остальные выводить не нужно, они по стандарту simple и close) и возможность поменять цвет.
    На графике должны соответственно отображаться две МА.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Кто может сделать простой индикатор? Две скользящие средние (простые МА), быстрая пересекает медленную, звучит сигнал (сверху вниз на продажу, снизу вверх на покупку).
    В настройки вывести периоды одной и второй МА (остальные выводить не нужно, они по стандарту simple и close) и возможность поменять цвет.
    Я думаю таких полно. Да и сам сможешь со справкой написать за часа два.
    На графике должны соответственно отображаться две МА.
    Тебе нужно тогда сделать шаблон для отображения твоего вида средних линий на графике.

    Комментарий

    • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
    • #3 Свернуть

      Довольно простая задача, вместо звукового сигнала я применил алерты, но если нужен звуковой сигнал, то можно добавить, при желании, также, можно добавить отправку сообщений на почту и стрелки.

      MQL код:
      //+------------------------------------------------------------------+
      //| cross_2_ma.mq4 |
      //| Copyright 2015. Cyberdev |
      //| [url]https://www.mql5.com/ru/users/cyberdev/seller[/url] |
      //+------------------------------------------------------------------+
      #property copyright "Copyright 2015. Cyberdev"
      #property link "https://www.mql5.com/ru/users/cyberdev/seller"
      #property version "1.00"
      #property strict
      #property indicator_chart_window

      #property indicator_buffers 2
      #property indicator_color1 DodgerBlue
      #property indicator_color2 Red
      #property indicator_width1 2
      #property indicator_width2 2

      extern int ma_period_1 = 10;
      extern int ma_period_2 = 26;

      double ma_1[], ma_2[];

      //+------------------------------------------------------------------+
      //| Custom indicator initialization function |
      //+------------------------------------------------------------------+
      int OnInit(){
      SetIndexBuffer(0, ma_1);
      SetIndexBuffer(1, ma_2);

      SetIndexEmptyValue(0, 0);
      SetIndexEmptyValue(1, 0);

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

      SetIndexLabel(0, "Fast MA");
      SetIndexLabel(1, "Slow MA");

      return(INIT_SUCCEEDED);
      }
      //+------------------------------------------------------------------+
      //| Custom indicator iteration function |
      //+------------------------------------------------------------------+
      int start(){
      int count = Bars - IndicatorCounted();

      for(int i = 0; i < count; i++){
      ma_1[i] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, i);
      ma_2[i] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, i);
      }

      static datetime c_time = 0;
      datetime time = Time[0];

      if(c_time != time){
      c_time = time;
      }
      else return(0);

      double ma1[2], ma2[2];
      ma1[0] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, 0);
      ma1[1] = iMA(NULL, 0, ma_period_1, 0, MODE_SMA, PRICE_CLOSE, 2);
      ma2[0] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, 0);
      ma2[1] = iMA(NULL, 0, ma_period_2, 0, MODE_SMA, PRICE_CLOSE, 2);

      if(ma1[0] > ma2[0] && ma1[1] <= ma2[1]){
      Alert("Cross 2 MA ", _Symbol, " Пересечение МА, восходящий тренд!");
      }

      if(ma1[0] < ma2[0] && ma1[1] >= ma2[1]){
      Alert("Cross 2 MA ", _Symbol, " Пересечение МА, нисходящий тренд!");
      }

      return(0);
      }
      //+------------------------------------------------------------------+
      Последний раз редактировалось Андрей Сырбу; 25.08.2015, 13:52.
      Программы для трейдинга
      Harmonic ABCD Monitor - все сигналы на одном экране
      Опережающий индикатор Super Bollinger Bands

      Комментарий

      working...
      X