vypchela

 
Уровень 12

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2089



РЕКОМЕНДУЮ




Лучшее от vypchela



Советник по Фибоначчи Комментариев 8
2020-11-10 16:12:30Рейтинг 0

Советник для МТ5 Комментариев 17
2022-10-22 17:34:39Рейтинг 0

Написать советник

Андрей прошу написать советник для МТ4.

Условие:
Если цена выше МА-200 и МА-14 пересекает АTR-14 — покупаем, закрытие по сигналу как показано на скрине.
Для продажи те же условия только ели цена ниже МА-200.
Добавить в настройки:

Тейкпрофит
Стоплосс
Включение\отключение закрытия по сигналу.

За ранее спасибо.
  • 0
  • Просмотров: 1015
  • 21 января 2024, 09:33
  • vypchela
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Доработка советника.
17 января 2024
21 января 2024

Комментарии (8)

+
0
МА-14 пересекает АTR-14

где такой индикатор? нужен готовый. в терминале так можно сделать а в советнике нужно использовать совмещенный
avatar

  34  AM2 Сообщений: 15886 - Андрей

  • 21 января 2024, 10:06
+
0
vipchela, готовый ндикатор намного хуже, чем сделаный с помощью терминала: у машки в индикаторе нет вызможности выбора цены(между Previous и First) из-за массива iMAOnArray.Из-за этого индикатор может показать немного не то, что сделаный с помощью терминала, и теряется весь смысл.Вобщем вы можете оказаться разочерованным в доходности сигнала.


Он к тому же ещё и рисует.
Редактирован: 21 января 2024, 12:16
avatar

  19  alex30774 Сообщений: 715

  • 21 января 2024, 12:14
+
+2
Забыл загрузить индикатор
//+------------------------------------------------------------------+
//|                                                      ATRofMA.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Green
#property indicator_color3 Lime
#property indicator_color4 Red

#property indicator_width1 2

//---- indicator parameters
extern int ATR_Period=7;
extern int MA_Period=7;
extern int MA_Shift=0;
input ENUM_MA_METHOD MA_Method=MODE_SMA;  // Method

//---- indicator buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];

//----
int ExtCountedBars=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   int    draw_begin;
//---- drawing settings


   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_ARROW,STYLE_DOT, 3);
   SetIndexArrow(2,233);
   SetIndexStyle(3,DRAW_ARROW,STYLE_DOT, 3);
   SetIndexArrow(3,234);
   SetIndexShift(0,MA_Shift);
   SetIndexShift(1,MA_Shift);
   SetIndexShift(2,MA_Shift);
   SetIndexShift(3,MA_Shift);

   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
   if(ATR_Period<2)
      ATR_Period=14;
   draw_begin=ATR_Period-1;
//---- indicator short name

   IndicatorShortName("ATR=>MA,"+MA_Period+","+ATR_Period+";");
   SetIndexDrawBegin(0,draw_begin);
//---- indicator buffers mapping
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexBuffer(3,ExtMapBuffer4);

   IndicatorDigits(5);
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   if(Bars<=ATR_Period)
      return(0);
   ExtCountedBars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0)
      return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0)
      ExtCountedBars--;
//----
   limit=Bars-ExtCountedBars;

   for(int i=0; i<limit; i++)
      ExtMapBuffer1[i]=iATR(Symbol(),0,ATR_Period,i);


   for(i=0; i<limit; i++)
     {
      ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MA_Method,i);

     }

   for(i=0; i<limit; i++)
     {
      if(ExtMapBuffer1[i]>ExtMapBuffer2[i] && ExtMapBuffer1[i+1]<ExtMapBuffer2[i+1])
        {
         ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer1,0,MA_Period,MA_Shift,MA_Method,i);
        }
      else
         if(ExtMapBuffer1[i]<ExtMapBuffer2[i] && ExtMapBuffer1[i+1]<ExtMapBuffer2[i+1])
           {
            ExtMapBuffer3[i]=EMPTY_VALUE;
           }
      if(ExtMapBuffer1[i]<ExtMapBuffer2[i] && ExtMapBuffer1[i+1]>ExtMapBuffer2[i+1])
        {
         ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer1,0,MA_Period,MA_Shift,MA_Method,i);
        }
      else
         if(ExtMapBuffer1[i]>ExtMapBuffer2[i] && ExtMapBuffer1[i+1]>ExtMapBuffer2[i+1])
           {
            ExtMapBuffer4[i]=EMPTY_VALUE;
           }

     }

//---- done
   return(0);
  }

//+------------------------------------------------------------------+
avatar

  19  alex30774 Сообщений: 715

  • 21 января 2024, 12:59
+
0
Если не получится, можно отменить задание. В принципе можно сделать по коду выше.
Редактирован: 21 января 2024, 13:36
avatar

  12  vypchela Автор Сообщений: 112

  • 21 января 2024, 13:28
+
0
такой сов есть уже давно
avatar

  3  pacanyaga Сообщений: 108 - Владимир

  • 21 января 2024, 12:40
+
0
не могу сюда загрузить исходник
avatar

  3  pacanyaga Сообщений: 108 - Владимир

  • 21 января 2024, 12:44
+
0
avatar

  34  AM2 Сообщений: 15886 - Андрей

  • 22 января 2024, 20:55
+
0
Спасибо!
avatar

  12  vypchela Автор Сообщений: 112

  • 23 января 2024, 05:21

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари