• Реклама: 💰 Пополни свой портфель с минимальной комиссией на Transfer24.pro
  • Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Ищу индикатор размера свечи

Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Набросал простейший. Параметры в коде описаны:
PHP:
//+------------------------------------------------------------------+
//|                               candle_size_for_Natashika_mmgp.mq4 |
//|                                 Vlad Sergeev aka moneyinnetwork  |
//+------------------------------------------------------------------+
#property copyright "Vlad Sergeev"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int      TextSize = 8; //размер шрифта
input color    TextColor = clrYellow; //цвет текста
input int      TextAngle = 90; //угол поворота текста
input int      MaxBar = 100;  //количество баров, начиная с 0, для которых вычисляется размер свечей

int OnInit()
{
   return(INIT_SUCCEEDED);
}

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 i;
   for ( i = 0; i < MaxBar; i++ )   {
      if ( ObjectFind ("candlesize"+ IntegerToString(i)) >=0 )   {
             ObjectDelete("candlesize"+ IntegerToString(i));
      }
      ObjectCreate ("candlesize"+ IntegerToString(i), 
                    OBJ_TEXT, 
                    0, 
                    time[i], 
                    high[i]+StepPer()*Point);
      ObjectSet (  "candlesize"+IntegerToString(i), 
                    OBJPROP_ANGLE, 
                    TextAngle
                 );
      ObjectSetText ( "candlesize"+IntegerToString(i), 
                      DoubleToStr(NormalizeDouble((high[i]-low[i]+Point)/Point, 0), 0), 
                      TextSize, 
                      NULL, 
                      TextColor
                     );
   }
   return(rates_total);
}

int StepPer ()
{
     int i = 0;
     switch (Period())
     {
          case PERIOD_M1:
          i = 5;
          break;
          case PERIOD_M5:
          i = 15;
          break;
          case PERIOD_M15:
          i = 25;
          break;
          case PERIOD_M30:
          i = 40;
          break;
          case PERIOD_H1:
          i = 60;
          break;
          case PERIOD_H4:
          i = 90;
          break;
          case PERIOD_D1:
          i = 220;
          break;
          case PERIOD_W1:
          i = 500;
          break;
          case PERIOD_MN1:
          i = 2000;
          break;
          default: 
          break;
     }
     return (i);
}
 

Вложения

  • candle_size.png
    candle_size.png
    65.6 KB · Просмотры: 5,025
Последнее редактирование:
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000

Вложения

  • candlesizemmgp.zip
    1,017 байт · Просмотры: 1,329
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000

Retrade

Интересующийся
Регистрация
11.10.2014
Сообщения
9
Реакции
3
Поинты
0.000
Здравствуйте, спасибо за хороший индикатор, возможно ли его сделать следующим образом:

1. Чтобы индикатор показывал размер только последней уже сформированной свечи, а не ту которая только формируется.
2. Текст с возможностью регулировки его позиции на графике, (не над свечой !).
3. Шрифт Verdana, размер 10, цвет White.
4. Удаление текста при удалении индикатора с графика.

Должен выглядеть так: "Свеча: 52"

Буду признателен, если это возможно.
 
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000
Попробуйте вот это:
PHP:
//+------------------------------------------------------------------+
//|                                 candle_size_for_Retrade_mmgp.mq4 |
//|                                 Vlad Sergeev aka moneyinnetwork  |
//+------------------------------------------------------------------+
#property copyright "Vlad Sergeev"
#property version   "2.00"
#property strict
#property indicator_chart_window

input int      TextSize = 10; //размер шрифта
input string   FontName = "Verdana"; //наименование шрифта
input color    TextColor = clrWhite; //цвет текста
input int      PosX = 0;  //координата текста по x
input int      PosY = 50; //координата текста по у

int OnInit()
{
   return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
   if ( ObjectFind ("candlesizeXX") >=0 )   {
             ObjectDelete("candlesizeXX");
   }
}

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[])
{
   if ( ObjectFind ("candlesizeXX") >=0 )   {
             ObjectDelete("candlesizeXX");
      }
      ObjectCreate ("candlesizeXX", OBJ_LABEL, 0, 0, 0);
      ObjectSet ("candlesizeXX", OBJPROP_ANGLE, 0);
      ObjectSet("candlesizeXX", OBJPROP_CORNER, 0);
      ObjectSet("candlesizeXX", OBJPROP_BACK, FALSE);
      ObjectSet("candlesizeXX", OBJPROP_XDISTANCE, PosX);
      ObjectSet("candlesizeXX", OBJPROP_YDISTANCE, PosY);
      ObjectSetText ( "candlesizeXX", 
                      "Свеча: "+DoubleToStr(NormalizeDouble((high[1]-low[1]+Point)/Point, 0), 0), 
                      TextSize, 
                      FontName, 
                      TextColor
                     );
   return(rates_total);
}
Выводит в произвольной позиции, определенной координатами:
PHP:
input int      PosX = 0;  //координата текста по x
input int      PosY = 50; //координата текста по у
текст вида:
шрифтом наименования:
PHP:
input string   FontName = "Verdana"; //наименование шрифта
и размером:
PHP:
input int      TextSize = 10; //размер шрифта
цветом:
PHP:
input color    TextColor = clrWhite; //цвет текста
4. Удаление текста при удалении индикатора с графика.
И это работает через:
PHP:
void OnDeinit(const int reason);
 
Последнее редактирование:
Регистрация
10.04.2011
Сообщения
2,217
Реакции
1,182
Поинты
0.000

Maseratti

Любитель
Регистрация
05.12.2014
Сообщения
260
Реакции
43
Поинты
0.000
Мне просто стало любопытно: ЗАЧЕМ, С КАКОЙ ЦЕЛЬЮ нужен такой индюк? :) Расскажите, если не секрет - что с его помощью можно вычислить (понять) особенного?? Разве недостаточно чисто визуально оценить свечу для принятия торгового решения? Хотя, вполне возможно, что я просто чего-то не понимаю...

Заранее спасибо!
 

Retrade

Интересующийся
Регистрация
11.10.2014
Сообщения
9
Реакции
3
Поинты
0.000
Секретов никаких нет. C помощью этого индикатора вычислять ничего не нужно, он носит исключительно информационный характер, как индикатор спреда и т.д. Торгую на M1, открыты одновременно 4 графика, в момент выхода новостей или серьезной движухи, средние свечи на фоне других сжимаются, а с этим индикатором я знаю размер свечи + остальные факторы, что добавляет мне информации для принятия решения. Так же мне удобно оценить обстановку, в момент, когда рынок не активен. А использовать его или нет - дело каждого.

PS Вот индикатор, который показывает размер последней сформировавшейся свечи и свечи, которая в стадии формирования.
 

Вложения

  • Candle_size.rar
    7.4 KB · Просмотры: 489
Последнее редактирование:

ViktorND

Любитель
Регистрация
08.10.2014
Сообщения
469
Реакции
73
Поинты
0.000
индикатор который вы спрашиваете называется «bar value» и скачать его можно совершенно бесплатно прямо из маркета терминала
но честно сказать, затея ваша ориентироваться на среднестатистическое значение свечи не очень перспективная, но я пожелаю вам успехов : )

 

iNveSTor

Интересующийся
Регистрация
24.05.2007
Сообщения
133
Реакции
0
Поинты
0.000
Доброго времени суток. Есть такой индикатор который показывал бы 2 значения.? Первый это размер свечи а второй размер фитиля? Очень нужно... При этом я так понимаю подобные индикаторы не перерисовываются, так как размер свечи остается неизменным..? Заранее благодарен.

добавлено через 2 минуты
Под размером свечи я имел ввиду тело свечи.! Или если по другому никак то только размер фитилей...
 
Последнее редактирование:
Регистрация
04.11.2015
Сообщения
1
Реакции
0
Поинты
0.000

Finansello

Любитель
Регистрация
12.03.2015
Сообщения
135
Реакции
31
Поинты
0.000
Владислав Сергее..., а можете изменить индикатор Bar Value так, чтобы он выдавал алерт сразу как только тело достигнет нужного размера, а не по закрытию? Или, если такой уже есть, дать ссылку.
Заранее спасибо
 
Сверху Снизу