SL и TP - это ордера. "Уровни" - от-того, что это уровни установки этих ордеров. Можете ещё назвать отступом или дистанцией в пунктах. От этого они не ордерами не станут.
я готов принять то что это так и работает, но не понятно тогда если SL и TP - это ордера, то почему их нет в списке ордеров, например, OrdersTotal(); или HistoryOrdersTotal();
//+------------------------------------------------------------------+//| Функция проверки и добавления индикатора на график |//+------------------------------------------------------------------+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);
//--- досрочный выход, не будем добавлять индикатор на графикreturnfalse;
}
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графикаif(_Period!=_Period)
{
message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
message=message+"\r\n";
message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
Alert(message);
//--- досрочный выход, не будем добавлять индикатор на графикreturnfalse;
}
//--- все проверки прошли, символ и период индикатора соответствуют графику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);
}
//+------------------------------------------------------------------+
больше не знаю отличий, информации толком нет по сервисам
Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?
Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?
нет
в общем в MQL "самое главное это чарт"
к чарту привязано все - индикаторы, советники и скрипты
а вот сервис не привязан ни к чему, он запускается именно с терминалом и не имеет чарта, т.е. он не может узнать ничего как обычно... ну _Symbol, _Digits - вообще ничего, что мы привыкли использовать, эти все данные дает чарт
Для индикаторов и ЕА, что чарт закрыть, что весь терминал разницы по сути нет, для сервиса хоть все чарты закрой, а он может работать, до тех пор пока терминал не закроете
ну и запуск - если закрыли ЕА закрытием чарта, то после перезапуска терминала чуда не будет - не будет чарта не будет ЕА, а сервис всегда стартует с запуском чарта
поэкспериментируйте, я не сильно с сервисами разбирался, задач пока для них еще не нашел
ЗЫ: если речь идет о скрипте, ЕА и индикаторе - чем отличается, то индикатор не умеет торговать, но умеет рисовать индикаторными буферами, скрипт умеет то же что и ЕА, но он работает "один раз" и выгружается, чтобы не выгрузился - бесконечный цикл, но все равно терминал при переключении ТФ выгрузит скрипт
вроде проще не могу объяснить, справку первые разделы полистайте, там все написано
а вот сервис не привязан ни к чему, он запускается именно с терминалом и не имеет чарта, т.е. он не может узнать ничего как обычно... ну _Symbol, _Digits - вообще ничего, что мы привыкли использовать, эти все данные дает чарт
Кто вам такое сказал??? Использовать конкретно _Symbol или _Digits, не может, но получить эти значения не составляет труда. Всё что на чарте есть всё можно получить из сервиса. Меня они особо не интересовали, но в свете последних изменений я использую сервис для удаления ненавистных мне стрелок и линий закрытых позиций. Запускается терминал, сервис выполняется и на всех графиках удаляет все эти метки не трогая созданные вручную или другими программами.
Нет. Я выше объяснил же что такое уровень заморозки.
Артем спасибо, завтра посмотрю подробно что это
SL и TP - это ордера. "Уровни" - от-того, что это уровни установки этих ордеров. Можете ещё назвать отступом или дистанцией в пунктах. От этого они не ордерами не станут.
я готов принять то что это так и работает, но не понятно тогда если SL и TP - это ордера, то почему их нет в списке ордеров, например, OrdersTotal(); или HistoryOrdersTotal();
Артем спасибо, завтра посмотрю подробно что это
Я понимаю это так )))
1) В чём разница между скриптом и сервисом?
2) Можно ли с советника запустить индикатор на любом необходимом окне без использования шаблонов?
1) В чём разница между скриптом и сервисом?
2) Можно ли с советника запустить индикатор на любом необходимом окне без использования шаблонов?
вот функция - из советника https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd
вот функция - из советника https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd
Спасибо!
1) В чём разница между скриптом и сервисом?
скрипт привязан к чарту, сервис нет
скрипт запускается "руками", сервис при запуске терминала
больше не знаю отличий, информации толком нет по сервисам
скрипт привязан к чарту, сервис нет
скрипт запускается "руками", сервис при запуске терминала
больше не знаю отличий, информации толком нет по сервисам
Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?
Правильно понимаю? запущенные индикаторы и советники после закрытия терминала имеют свойства сервиса, а скрипт нет, т.е. если были работающие скрипт, индикатор и советник и терминал был закрыт, то при открытии терминала подгрузятся в окно только индикатор и советник, а скрипт нет?
нет
в общем в MQL "самое главное это чарт"
к чарту привязано все - индикаторы, советники и скрипты
а вот сервис не привязан ни к чему, он запускается именно с терминалом и не имеет чарта, т.е. он не может узнать ничего как обычно... ну _Symbol, _Digits - вообще ничего, что мы привыкли использовать, эти все данные дает чарт
Для индикаторов и ЕА, что чарт закрыть, что весь терминал разницы по сути нет, для сервиса хоть все чарты закрой, а он может работать, до тех пор пока терминал не закроете
ну и запуск - если закрыли ЕА закрытием чарта, то после перезапуска терминала чуда не будет - не будет чарта не будет ЕА, а сервис всегда стартует с запуском чарта
вот как то так, на пальцах ))))
вчера пример сервиса делал, https://www.mql5.com/ru/forum/170952/page173#comment_16044829
поэкспериментируйте, я не сильно с сервисами разбирался, задач пока для них еще не нашел
ЗЫ: если речь идет о скрипте, ЕА и индикаторе - чем отличается, то индикатор не умеет торговать, но умеет рисовать индикаторными буферами, скрипт умеет то же что и ЕА, но он работает "один раз" и выгружается, чтобы не выгрузился - бесконечный цикл, но все равно терминал при переключении ТФ выгрузит скрипт
вроде проще не могу объяснить, справку первые разделы полистайте, там все написано
Igor Makanu:
а вот сервис не привязан ни к чему, он запускается именно с терминалом и не имеет чарта, т.е. он не может узнать ничего как обычно... ну _Symbol, _Digits - вообще ничего, что мы привыкли использовать, эти все данные дает чарт
Кто вам такое сказал??? Использовать конкретно _Symbol или _Digits, не может, но получить эти значения не составляет труда. Всё что на чарте есть всё можно получить из сервиса. Меня они особо не интересовали, но в свете последних изменений я использую сервис для удаления ненавистных мне стрелок и линий закрытых позиций. Запускается терминал, сервис выполняется и на всех графиках удаляет все эти метки не трогая созданные вручную или другими программами.