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

Рейтинг 1364



РЕКОМЕНДУЮ



Индикатор величины отката

Андрей, здравствуйте!

Можете создать индикатор, который бы показывал в %% величину отката от максимально достигнутой величины цены в текущей сделке?
Алгорим следующий:
— Индикатор фиксирует точку OPEN открытия ордера.
— Измеряет величину максимально достигнутой цены.
— Принимает эту цену за 100%.
— Сравнивает текущую цену с максимально достигнутой и выдает в %% величину отката от максимально достигнутой величины.

С уважением, Юрий.

  • 0
  • Просмотров: 764
  • 20 апреля 2019, 15:28
  • apologetest
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
MT5 RenkoChart оправка на емайл
Следующая запись в группе  
Функция для советника
20 апреля 2019
20 апреля 2019

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

+
0
на 23-е
avatar

  28  AM2 Сообщений: 9165 - Андрей

  • 20 апреля 2019, 15:37
+
0
Благодарю!
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 20 апреля 2019, 15:47
+
0
готово:




//+------------------------------------------------------------------+
//|                                                        Otkat.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Время открытия позиции                                           |
//+------------------------------------------------------------------+
datetime TimeOrderOpen()
  {
   datetime t=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol())
           {
            if(OrderType()<2) t=OrderOpenTime();
           }
        }
     }
   return(t);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OrderTip()
  {
   int type=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol()) if(OrderType()<2) type=OrderType();
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double OrderOpenPr()
  {
   double pr=0;
   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol()) if(OrderType()<2) pr=OrderOpenPrice();
        }
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(OrdersTotal()<1 && IsTesting()) int r=OrderSend(NULL,0,0.1,Ask,33,Bid-333*_Point,Bid+444*_Point,"",0,0,Green);

   int bar=iBarShift(NULL,0,TimeOrderOpen());

   double max=High[iHighest(NULL,0,MODE_HIGH,bar,0)];
   double min=Low[iLowest(NULL,0,MODE_LOW,bar,0)];
   double pro=0,sto=0,otk=0;

   if(OrderTip()==0) 
     {
      sto=max-OrderOpenPr();
      otk=max-Bid;
      pro=(otk/sto)*100;
     }
   
   if(OrderTip()==1) 
     {
      sto=OrderOpenPr()-min;
      otk=Bid-min;
      pro=(otk/sto)*100;
     }
     
   Comment("\n Bar: ",bar,
           "\n Max: ",max,
           "\n Min: ",min,
           "\n Pro: ",NormalizeDouble(pro,2));
  }
//+------------------------------------------------------------------+

avatar

  28  AM2 Сообщений: 9165 - Андрей

  • 22 апреля 2019, 20:49
+
0
Благодарю!
Только не понял как и где его можно скачать… ))
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 22 апреля 2019, 21:47
+
0
Это элементарно, Ватсон,<img src='http://opentraders.ru/templates/skin/g6h/images/smilies/003.gif' alt=' :D '>&nbsp; 
Редактирован: 22 апреля 2019, 21:53
avatar

  8  Kuzimich Сообщений: 114 - Андрей

  • 22 апреля 2019, 21:51
+
0
что то скомпилировал, закинул в терминал, а на график не ставится(((
avatar

  8  GARIK1976 Сообщений: 104 - Garik1976

  • 22 апреля 2019, 22:06
+
0
Я пробовал скопировать и сохранить как файл.
Но не компилируется.
Выдает 21 ошибку.
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 22 апреля 2019, 22:43
+
0
Но не компилируется.
Выдает 21 ошибку

нормально компилируется:



делал в виде советника, вот файл: www.opentraders.ru/downloads/2291/

avatar

  28  AM2 Сообщений: 9165 - Андрей

  • 23 апреля 2019, 21:04
+
0
Я понял почему не компилировалось… ))
Приношу свои извинения.
По невнимательности своей я не указал, что индикатор должен был быть для МТ5. И пытался компилировать на редакторе МТ5.
Если это возможно, то прошу переделать для МТ5 в виде индикатора. И разместить в правом верхнем углу графика.
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 23 апреля 2019, 23:20
+
0
переделка много времени займет. нужно будет написать и отладить кучу уникальных функций. только на следующий месяц и то не за раз.
avatar

  28  AM2 Сообщений: 9165 - Андрей

  • 24 апреля 2019, 18:02
+
0
Благодарю!
Запасусь терпением и буду ждать.
*za* 
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 24 апреля 2019, 22:04
+
0
Андрей, здравствуйте!
Получится у вас в этом месяце доработать индикатор?
С уважением, Юрий.
avatar

  5  apologetest Автор Сообщений: 47 - Юрий

  • 9 мая 2019, 15:34
+
0
делайте новый топик
avatar

  28  AM2 Сообщений: 9165 - Андрей

  • 9 мая 2019, 19:35

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