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

Рейтинг 2085



РЕКОМЕНДУЮ



Пройденная цена за месяц и неделю

Прошу написать простой индикатор который считает сколько цена уже прошла за последний месяц и неделю по ATR 10
  • 0
  • Просмотров: 1600
  • 1 сентября 2017, 20:18
  • lafler356
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
Посмотрю если поручителей найдете.
avatar

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

  • 1 сентября 2017, 22:17
+
0
Андрей, я готов выступить поручителем.
avatar

  24  ShamanHand Сообщений: 1092 - Наношу добро, причиняю пользу.

  • 2 сентября 2017, 08:57
+
0
Тогда рисуйте подробнее как это все должно выглядеть.
avatar

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

  • 2 сентября 2017, 08:59
комментарий был удален 2017-09-02 09:14:22 lafler356

комментарий был удален 2017-09-02 09:20:58 lafler356

+
0

тоже самое для недели и месяца
avatar

  9  lafler356 Автор Сообщений: 305

  • 2 сентября 2017, 09:21
+
0
Если что-то не понятно, напишите я поясню
avatar

  9  lafler356 Автор Сообщений: 305

  • 2 сентября 2017, 09:22
+
0
ATR 10 — это что, значение индикатора?
Вверх вниз — что и от чего считается?
avatar

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

  • 2 сентября 2017, 16:18
+
0
Пока понял только это:



Индикатор считает сколько пунктов цена прошла за неделю и месяц:


//+------------------------------------------------------------------+
//|                                                     ATRLabel.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text,string name,int x,int y,color clr)
  {
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);

//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,1);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   double w=NormalizeDouble(MathAbs((close[0]-close[7])/_Point),0);
   double m=NormalizeDouble(MathAbs((close[0]-close[30])/_Point),0);
   
   PutLabel("Цена прошла за неделю: "+(string)w+" пунктов","W",322,22,Red);
   PutLabel("Цена прошла за месяц: "+(string)m+" пунктов","M",322,42,Green);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

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

  • 2 сентября 2017, 17:13
+
0
Спасибо но индикатор работает не верно, на каждом тайфрейме показываются разные данные. ДА, для месяца и недели использовать атр с периудом 10, т.е сколько цена прошла нужно учитывать относительно атр с периудом 10, и рядом чтобы было написано сколько цена прошла относительно хая и лоу:
на скришноте более подробно все рассписал
avatar

  9  lafler356 Автор Сообщений: 305

  • 2 сентября 2017, 20:24
+
0
Спасибо но индикатор работает не верно, на каждом тайфрейме показываются разные данные. ДА, для месяца и недели использовать атр с периудом 10, т.е сколько цена прошла нужно учитывать относительно атр с периудом 10, и рядом чтобы было написано сколько цена прошла относительно хая и лоу:
на скришноте более подробно все рассписал ответил выше
avatar

  9  lafler356 Автор Сообщений: 305

  • 2 сентября 2017, 20:27
+
0
Спасибо но индикатор работает не верно, на каждом тайфрейме показываются разные данные


Об этом не было сказано ни слова что индикатор будет работать на разных ТФ.
avatar

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

  • 2 сентября 2017, 21:55
+
+1
Спасибо но индикатор работает не верно, на каждом тайфрейме показываются разные данные


Об этом не было сказано ни слова что индикатор будет работать на разных ТФ.

ДА, для месяца и недели использовать атр с периудом 10, т.е сколько цена прошла нужно учитывать относительно атр с периудом 10, и рядом чтобы было написано сколько цена прошла относительно хая и лоу

Каким образом сюда прикручивается АТР тоже ни слова.

Вот первый вариант для разных ТФ:


//+------------------------------------------------------------------+
//|                                                     ATRLabel.mq4 |
//|                                              Copyright 2017, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_LABEL);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll(0,0,OBJ_LABEL);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string text,string name,int x,int y,color clr)
  {
   ObjectDelete(0,name);
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);

//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,1);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   double w=NormalizeDouble(MathAbs((iClose(NULL,PERIOD_D1,0)-iClose(NULL,PERIOD_D1,7))/_Point),0);
   double m=NormalizeDouble(MathAbs((iClose(NULL,PERIOD_D1,0)-iClose(NULL,PERIOD_D1,30))/_Point),0);

   PutLabel("Цена прошла за неделю: "+(string)w+" пунктов","W",322,22,Red);
   PutLabel("Цена прошла за месяц: "+(string)m+" пунктов","M",322,42,Green);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+



И далее в следующем месяце добро пожаловать с детально проработанным ТЗ.
Редактирован: 2 сентября 2017, 22:01
avatar

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

  • 2 сентября 2017, 21:59
+
0
не понятно откуда эти значения получаются??? у меня даже близко этих значение не выходит, за неделю и за месяц
avatar

  9  lafler356 Автор Сообщений: 305

  • 3 сентября 2017, 12:14
+
0
14 комментов и ни одного плюса*think* 
avatar

  18  Kashtan Сообщений: 737 - Игорь

  • 7 октября 2017, 14:13
+
0
интересная идея… считаем сколько дней и куда шли?
avatar

  19  ars2005tron Сообщений: 1059 - Арсений

  • 7 октября 2017, 14:41
+
0
вставлю свое мнение )))

Вопрос: Андрей, а будет ли разница в расчетах, если считать АТР от начала дня, начала недели, начала месяца?..
Только АТР разный 5,12,21.
Можете реализовать в коде ?, если не сложно, *stesnitelno* 
Редактирован: 7 октября 2017, 18:04
avatar

  16  cerber04 Сообщений: 409

  • 7 октября 2017, 18:01
+
0
опишите все подробно в новом топике
avatar

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

  • 7 октября 2017, 21:46

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