Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1911

 
DanilaMactep #:
если я не ошибаюсь с этого кода всё и начиналось- он не работал насколько я помню;-)

я уже вам его выставлял - не знаю, по чему он у вас не работает - он у меня и на мт4 и на мт5 работает.

\\\\\\\\\\\\\\\\\\\\

вот ещё цвет можно графикам поменять 

//+------------------------------------------------------------------+
//|                                       CHART_COLOR_BACKGROUND.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput color Backclr = clrWhite; // Цвет фона графика.
sinput color Foreclr = clrBlack; // Цвет осей, шкалы и строки OHLC графика.
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
//--- переменные для идентификаторов графиков
   long currChart, prevChart = ChartFirst();
   int i = 0, limit = 100;
   bool errTemplate;
   Print("ChartFirst = ", ChartSymbol(prevChart), " ID = ", prevChart);
   while(i < limit) // у нас наверняка не больше 100 открытых графиков
     {
      currChart = ChartNext(prevChart); // на основании предыдущего получим новый график
      errTemplate = ChartBackColorSet(Backclr, prevChart);
      errTemplate = ChartForeColorSet(Foreclr, prevChart);
      if(errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
      if(currChart < 0)
         break;          // достигли конца списка графиков
      Print(i, ChartSymbol(currChart), " ID =", currChart);
      prevChart = currChart; // запомним идентификатор текущего графика для ChartNext()
      i++;// не забудем увеличить счетчик
     }
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет фона графика.                         |
//+------------------------------------------------------------------+
bool ChartBackColorSet(const color clr, const long chart_ID = 0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим цвет фона графика
   if(!ChartSetInteger(chart_ID, CHART_COLOR_BACKGROUND, clr))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__ + ", Error Code = ", GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет осей, шкалы и строки OHLC графика.    |
//+------------------------------------------------------------------+
bool ChartForeColorSet(const color clr, const long chart_ID = 0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим цвет осей, шкалы и строки OHLC графика
   if(!ChartSetInteger(chart_ID, CHART_COLOR_FOREGROUND, clr))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__ + ", Error Code = ", GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
//+------------------------------------------------------------------+
 
137 Matrix #:

я уже вам его выставлял - не знаю, по чему он у вас не работает - он у меня и на мт4 и на мт5 работает.

\\\\\\\\\\\\\\\\\\\\

вот ещё цвет можно графикам поменять 

Это просто обстоятельства непреодолимой  силы- последствия моего инсульта- где-то могу элементарно что-то не видеть и всё. Но огромное спасибо за Вашу помощь.

 
DanilaMactep #:

Это просто обстоятельства непреодолимой  силы- последствия моего инсульта- где-то могу элементарно что-то не видеть и всё. Но огромное спасибо за Вашу помощь.

вам не нужно - добавлять ( .tpl ) в коде, уже за вас прописано 

вам просто, нужно имя шаблона вписать .

 Template + ".tpl"

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

sinput string Template           = "ADX";          // Имя шаблона(without '.tpl')
      errTemplate = ChartApplyTemplate(prevChart, Template + ".tpl");
      if(!errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
 
137 Matrix #:

вам не нужно - добавлять ( .tpl ) в коде, уже за вас прописано 

вам просто, нужно имя шаблона вписать .

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Вроде разобрался с этим кодом- в другой раз сразу инструкцию по употреблению ещё прилогайте, а то без пол литры не разбирёшь же)))))) ;-) Огромное спасибо за помощь:-)
 
137 Matrix #:

я уже вам его выставлял - не знаю, по чему он у вас не работает - он у меня и на мт4 и на мт5 работает.

\\\\\\\\\\\\\\\\\\\\

вот ещё цвет можно графикам поменять 

Саша, хуже чем использовать примеры из документации или примеры барабашки не придумаешь ничего. Да ещё и куда-то потерял флаг принудительного завершения цикла while. В общем … слов нет.
 
DanilaMactep #:
такой вариант вообще ничего не делает- скрипт отпускаю на график и просто ничего не происходит.

Извините потерялся знак логического отрицания !

void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && !IsStopped())
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);// или PERIOD_D1
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov #:
Саша, хуже чем использовать примеры из документации или примеры барабашки не придумаешь ничего. Да ещё и куда-то потерял флаг принудительного завершения цикла while. В общем … слов нет.

например у меня задача, найти функцию которая удовлетворяла мою задачу, я ищу в поиске и если она подходит к моей задачи - и не важно сколько в ней строчек, я её использую.

главное что бы функция работала, как мне нужно. 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

я этим занимаюсь - для саморазвития и не более, чисто для себя. И не думаю кому то что то писать

 
137 Matrix #:

например у меня задача, найти функцию которая удовлетворяла мою задачу, я ищу в поиске и если она подходит к моей задачи - и не важно сколько в ней строчек, я её использую.

главное что бы функция работала, как мне нужно. 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

я этим занимаюсь - для саморазвития и не более, чисто для себя. И не думаю кому то что то писать

Когда даёшь советы кому либо, это уже не для себя.

Тем более с такими ошибками… Что такое PERIOD_CURRENT и какой результат будет в условии

      if(TimeFrame != PERIOD_CURRENT)
 
Alexey Viktorov #:

Когда даёшь советы кому либо, это уже не для себя.

Тем более с такими ошибками… Что такое PERIOD_CURRENT и какой результат будет в условии

ну не знаю, работает ведь! 

Переключает же график по восстановленному в настройках период . 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

вообще советов не даю! когда кто то, задаёт вопрос - я пытаюсь стать на его место и добиться желаемого результата.

если не заметили, я эту задачу как смог и выполнил и выложил готовым скриптом- он может быть и не правильным - но задачу свою выполняет. 

 
Alexey Viktorov #:

Когда даёшь советы кому либо, это уже не для себя.

Тем более с такими ошибками… Что такое PERIOD_CURRENT и какой результат будет в условии

 if(TimeFrame != PERIOD_CURRENT)

Не вижу здесь ошибки.