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

 
Artyom Trishkin:

Нет. Я выше объяснил же что такое уровень заморозки.

Артем спасибо, завтра посмотрю подробно что это

 
Artyom Trishkin:

SL и TP - это ордера. "Уровни" - от-того, что это уровни установки этих ордеров. Можете ещё назвать отступом или дистанцией в пунктах. От этого они не ордерами не станут.

я готов принять то что это так и работает, но не понятно тогда если SL и TP - это ордера, то почему их нет в списке ордеров, например, OrdersTotal(); или HistoryOrdersTotal();

 
Fast235:

Артем спасибо, завтра посмотрю подробно что это

Я понимаю это так )))


 

1) В чём разница между скриптом и сервисом?

2) Можно ли с советника запустить индикатор на любом необходимом окне без использования шаблонов?

 
Alexandr Sokolov:

1) В чём разница между скриптом и сервисом?

2) Можно ли с советника запустить индикатор на любом необходимом окне без использования шаблонов?

вот функция - из советника https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор");
      indicator_handle=iCustom(_Symbol,_Period,InpIndi_name);
      if(indicator_handle==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор на график");
   Print("Индикатор построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор
   int subwindow=(int)ChartGetInteger(0,-1);
   PrintFormat("Добавляем индикатор на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
     {
      PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Alexsandr San:

вот функция - из советника https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

Спасибо!

 
Alexandr Sokolov:

1) В чём разница между скриптом и сервисом?

скрипт привязан к чарту, сервис нет

скрипт запускается "руками", сервис при запуске терминала

больше не знаю отличий, информации толком нет по сервисам

 
Igor Makanu:

скрипт привязан к чарту, сервис нет

скрипт запускается "руками", сервис при запуске терминала

больше не знаю отличий, информации толком нет по сервисам

Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?

 
Valeriy Yastremskiy:

Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?

нет

в общем в MQL "самое главное это чарт"

к чарту привязано все - индикаторы, советники и скрипты

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


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

ну и запуск - если закрыли ЕА закрытием чарта, то после перезапуска терминала чуда не будет - не будет чарта не будет ЕА, а сервис всегда стартует с запуском чарта


вот как то так, на пальцах ))))

вчера пример сервиса делал, https://www.mql5.com/ru/forum/170952/page173#comment_16044829

поэкспериментируйте, я не сильно с сервисами разбирался, задач пока для них еще не нашел


ЗЫ: если речь идет о скрипте, ЕА и индикаторе - чем отличается, то индикатор не умеет торговать, но умеет рисовать индикаторными буферами, скрипт умеет то же что и ЕА, но он работает "один раз" и выгружается, чтобы не выгрузился - бесконечный цикл, но все равно терминал при переключении ТФ выгрузит скрипт 


вроде проще не могу объяснить, справку первые разделы полистайте, там все написано

 

Igor Makanu:

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

Кто вам такое сказал??? Использовать конкретно _Symbol или _Digits, не может, но получить эти значения не составляет труда. Всё что на чарте есть всё можно получить из сервиса. Меня они особо не интересовали, но в свете последних изменений я использую сервис для удаления ненавистных мне стрелок и линий закрытых позиций. Запускается терминал, сервис выполняется и на всех графиках удаляет все эти метки не трогая созданные вручную или другими программами.

Причина обращения: