Обновление данных в индюке

 
Добрый всем, состряпал самый  простой индюк который рисует прямоугольник по заданным цифрам(Одна из которых - это настоящий бар, а первая это первый бар этого дня). Так вот с образованием нового бара прямоугольник не перерисовывается. Хотя в коде есть и ObjectsDeleteAll(); а затем идет нарисовка прямоугольников. Если я график с индюком сегодня закрою и открою завтра, то бары новые отображаются, а прямоугольник завис на "вчера"
 
Tavol:
Добрый всем, состряпал самый  простой индюк который рисует прямоугольник по заданным цифрам(Одна из которых - это настоящий бар, а первая это первый бар этого дня). Так вот с образованием нового бара прямоугольник не перерисовывается. Хотя в коде есть и ObjectsDeleteAll(); а затем идет нарисовка прямоугольников. Если я график с индюком сегодня закрою и открою завтра, то бары новые отображаются, а прямоугольник завис на "вчера"

В строке 103 замените второй параметр.

 
Vladimir Karputov #:

В строке 103 замените второй параметр.

Зачетная шутка :)))

//+------------------------------------------------------------------+
//|                                                       MyLine.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                            |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      ""
#property version   "1.00"
#property strict
#property indicator_chart_window
#property script_show_inputs 

//--- выбор направления
enum HighMin  
  { 
   A=0,     
   B=1,     
   C=2,     

  }; 
//--- input parameters 
input HighMin swapHM=C;//Выбрать значение

input double MyPrice=0; 
double MyHigh,MyLow,HighCB,LowCB;

double Mycolor = 0.0001; 

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
  
MyHigh=iHigh(Symbol(), PERIOD_D1, 0); 
MyLow =iLow (Symbol(), PERIOD_D1, 0);

if (MyPrice>MyHigh||MyPrice<MyLow){ObjectsDeleteAll(); return(0);}


switch(swapHM) 
  { тут код
  } 

//--- indicator buffers mapping

ObjectsDeleteAll(); 

ObjectCreate("GreenUp",OBJ_RECTANGLE,0,iTime(Symbol(),PERIOD_D1,0),HighCB+Mycolor-Koef,iTime(Symbol(),PERIOD_M1,0)+3600,HighCB-Mycolor-Koef);ObjectSetInteger(0,"GreenUp",OBJPROP_COLOR,clrLime); ObjectSetInteger(0,"GreenUp",OBJPROP_WIDTH,2);ObjectSetInteger(0,"GreenUp",OBJPROP_BACK,false);
ObjectCreate("GreenDown",OBJ_RECTANGLE,0,iTime(Symbol(),PERIOD_D1,0),LowCB+Mycolor-Koef,iTime(Symbol(),PERIOD_M1,0)+3600,LowCB-Mycolor-Koef);ObjectSetInteger(0,"GreenDown",OBJPROP_COLOR,clrLime); ObjectSetInteger(0,"GreenDown",OBJPROP_WIDTH,2);ObjectSetInteger(0,"GreenDown",OBJPROP_BACK,false);

 
//ChartSetDouble(0,CHART_FIXED_MAX,HighCB+red+5*Point);
//ChartSetDouble(0,CHART_FIXED_MIN,LowCB-red-5*Point);
//---



   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Вы задали вопрос по старому терминалу  - все вопросы по старому терминалу обсуждаются в одном специальном разделе ( MQL4 и MetaTrader 4  ). Вашу тему перенесу.
Причина обращения: