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

Рейтинг 2146



РЕКОМЕНДУЮ




Лучшее от divelse



индикатор aтp Комментариев 20
2018-04-29 17:47:09Рейтинг 0

Вопрос программисту Комментариев 1
2018-05-04 12:01:38Рейтинг 0

Доработка заказа Комментариев 4
2019-04-29 20:44:58Рейтинг 0

Индикатор из полос Комментариев 5
2022-08-26 10:48:35Рейтинг 0

Прошу создать помойника Комментариев 3
2022-10-24 18:23:43Рейтинг 0

индикатор aтp

НУЖЕН ПОРУЧИТЕЛЬ:
Здравствуйте Андрей, пожалуйста создайте индюк в котором бы выводилась информация AТP за месяц(сверху справа)
нужно вывести в настройках букву на клавиатуре при нажатии на которую можно было бы скрыть этот AТP, при повторном нажатии обратно показывалось
  • +1
  • Просмотров: 3705
  • 29 апреля 2018, 17:47
  • divelse
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

Брокер для ваших роботов, 15 лет на рынке

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

+
0
Готов стать поручителем с нового месяца
avatar

  9  lafler356 Сообщений: 305

  • 30 апреля 2018, 14:31
+
0
атр это что для вас?
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 30 апреля 2018, 18:21
+
0
Это расстояние пройденное за месяц (кол-во, например 300п)
avatar

  7  divelse Автор Сообщений: 152

  • 1 мая 2018, 06:48
+
0
на 7-е
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 1 мая 2018, 10:28
+
0
Спасибо. Буду ждать
avatar

  7  divelse Автор Сообщений: 152

  • 1 мая 2018, 14:01
+
0
Готово:




//+------------------------------------------------------------------+
//|                                                         ATRM.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int Shift=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   PutButton("B",90,40,"ATR");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectDelete(0,"L");
   ObjectDelete(0,"B");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
   ObjectDelete(0,"L");
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,55);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,10);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,1);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,12);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,Red);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutButton(string name,int x,int y,string text)
  {
   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//--- установим координаты кнопки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим размер кнопки
   ObjectSetInteger(0,name,OBJPROP_XSIZE,80);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,30);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,3);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет текста
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//--- установим цвет фона
   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White);
//--- установим цвет границы
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
   ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//--- установим приоритет на получение события нажатия мыши на графике
   ObjectSetInteger(0,name,OBJPROP_ZORDER,0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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 atr=(int)((iHigh(NULL,PERIOD_MN1,Shift)-iLow(NULL,PERIOD_MN1,Shift))/_Point);
   PutLabel((string)atr);

   if(ObjectGetInteger(0,"B",OBJPROP_STATE)==1)
     {
      ObjectDelete(0,"L");
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 1 мая 2018, 20:42
+
0
Ничего не работает, зашёл в настройки там нету вывода буквы на клавиатуре, но я проверил все кнопки клавиатуры, ничего не изменяется
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 06:18
+
0
Андрей, пожалуйста исправьте
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 06:20
+
0
кнопку с надписью ATR видите внизу справа, на нее жмите.
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 08:37
+
0
avatar

  6  vebster Сообщений: 205

  • 2 мая 2018, 09:34
+
0
В ТЗ чётко написано что мне нужно чтобы появлялось при нажатии на клавиатуру!!!
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 09:36
+
0
В ТЗ чётко написано что мне нужно чтобы появлялось при нажатии на клавиатуру!!!

к платному
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 10:06
+
0
Андрей я всё понимаю вы выполняете бесплатно и спасибо вам на этом, но зачем вы людям голову морочите? я написал ТЗ, вы отписались что выполните, я жду, обновляю странички кучу раз, дабы как можно быстрее уловить ваше выполнение заказа, а вы выполняете заказ но со всем другим ТЗ, смысл его вы сделали? Самая суть была это посмотреть как вы сделаете выполнение нажатие на кнопку клавиатуры, а не вывести АТР, который я и сам могу вывести. Просто зачем так делать? а потом еще вы пишете что к платному… сразу написали бы что не сможете такое сделать или не будете.
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 10:25
+
0
в одном из продублированных топиков я писал что будет с кнопкой на графике
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 10:41
+
0
нет, вы написали что легче сделать, а не что сделаете именно так. Ладно и на том спасибо)
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 10:51
+
0
эмуляцию нажатия клавиш я делал а чтобы выполнялась функция в МТ при нажатии клавиши. такого не встречал
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 11:01
+
0
Пожалуйста исправьте
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 09:37
+
+1
Сделал двумя клавишами, одной включаем другой выключаем отображение: www.opentraders.ru/downloads/1885/


//+------------------------------------------------------------------+
//|                                                         ATRM.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsyatems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsyatems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#define KEY_NUMPAD_5       12 
#define KEY_LEFT           37 
#define KEY_UP             38 
#define KEY_RIGHT          39 
#define KEY_DOWN           40 
#define KEY_NUMLOCK_DOWN   98 
#define KEY_NUMLOCK_LEFT  100 
#define KEY_NUMLOCK_5     101 
#define KEY_NUMLOCK_RIGHT 102 
#define KEY_NUMLOCK_UP    104 

input int Shift=0;
int atr=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectDelete(0,"L");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text)
  {
   ObjectDelete(0,"L");
//--- создадим текстовую метку
   ObjectCreate(0,"L",OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,"L",OBJPROP_XDISTANCE,55);
   ObjectSetInteger(0,"L",OBJPROP_YDISTANCE,10);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,"L",OBJPROP_CORNER,1);
//--- установим текст
   ObjectSetString(0,"L",OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,"L",OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,"L",OBJPROP_FONTSIZE,12);
//--- установим цвет
   ObjectSetInteger(0,"L",OBJPROP_COLOR,Red);
  }
//+------------------------------------------------------------------+ 
//| ChartEvent function                                              | 
//+------------------------------------------------------------------+ 
void OnChartEvent(const int id,         // идентификатор события   
                  const long& lparam,   // параметр события типа long 
                  const double& dparam, // параметр события типа double 
                  const string& sparam  // параметр события типа string 
                  )
  {

//--- нажатие кнопки на клавиатуре 
   if(id==CHARTEVENT_KEYDOWN)
     {
      if(lparam==38) PutLabel((string)atr);
      if(lparam==40) ObjectDelete(0,"L");
     }
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   atr=(int)((iHigh(NULL,PERIOD_MN1,Shift)-iLow(NULL,PERIOD_MN1,Shift))/_Point);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+


Редактирован: 2 мая 2018, 12:22
avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 12:01
+
0
коды:

avatar

  35  AM2 Сообщений: 16250 - Андрей

  • 2 мая 2018, 12:13
+
0
Спасибо огромное Андрей, Благодарю, Спасибо еще раз
avatar

  7  divelse Автор Сообщений: 152

  • 2 мая 2018, 14:57

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