dreigzon

 
Уровень 5

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2088



РЕКОМЕНДУЮ



Вывод советником используемых индикаторов на график

Андрей, здравствуйте. Хотел попросить помощи. Нужно решить задачку с выводом используемых советником индикаторов, с теми же настройками, которые он использует, на график. Если есть в MQL4 какая-то команда или их блок, то поделитесь пожалуйста. Если же такую функцию невозможно прописать в самом коде советника, то возможно ли создать скрипт под это дело?
  • +1
  • Просмотров: 1452
  • 11 марта 2024, 20:15
  • dreigzon
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Советник на индикаторе RSI
Следующая запись в группе  
mt4 усреднитель уведомляльщик
10 марта 2024
12 марта 2024

Комментарии (19)

+
0
Я имею ввиду функцию HideTestIndicators, только в обратном направлении. Иначе каждый раз приходится их устанавливать на график в тестере. А то, что советник выводит их по завершению теста, меня не устраивает.
avatar

  5  dreigzon Автор Сообщений: 40

  • 11 марта 2024, 20:17
+
0
void OnTick()
{

HideTestIndicators(TRUE);

}
avatar

  17  Sirojiddin Сообщений: 62

  • 12 марта 2024, 02:44
+
0
прочтите внимательнее то, что я писал.
avatar

  5  dreigzon Автор Сообщений: 40

  • 12 марта 2024, 14:14
+
0
Чтобы индикаторы отображались и работали в тестере вместе с советником, единственный вариант внести исходный код индикаторов в код советника как отдельные функции и вызывать их по необходимости или на каждом тике(в зависимости от индикатора).
Редактирован: 12 марта 2024, 03:59
avatar

  18  Andrju81 Сообщений: 245 - Андрей

  • 12 марта 2024, 03:56
+
0
есть еще варианты: через WinAPI или
используя шаблоны ChartSaveTemplate, ChartApplyTemplate.
avatar

  13  verta81 Сообщений: 355

  • 12 марта 2024, 08:16
+
0
это команды для шаблонов и их постановки, в таком случае для каждой комбинации будет необходимо сохранять шаблон и прописывать вручную. а это не то, что требуется. а в winapi я вообще не смыслю.
Редактирован: 12 марта 2024, 14:17
avatar

  5  dreigzon Автор Сообщений: 40

  • 12 марта 2024, 14:10
+
0
у меня там слишком много индюков, да и не все с открытым кодом, хотя большая часть стандартные.
avatar

  5  dreigzon Автор Сообщений: 40

  • 12 марта 2024, 14:07
+
0
К сожалению это единственный вариант, т.к. даже WinAPI в этом не поможет.
avatar

  18  Andrju81 Сообщений: 245 - Андрей

  • 13 марта 2024, 04:42
+
0
весьма прискорбно это слышать. я слышал, что некоторые совы могут выгружать какие-то данные в файлы ( не знаю, как это делается), так если это возможно сделать кодом и указать то, что необходимо выгружать, то не получится ли к этому прикрутить скрипт?
avatar

  5  dreigzon Автор Сообщений: 40

  • 14 марта 2024, 11:40
+
+1
Извините, но не зная вашей конечной цели, сложно что-то советовать. Самый простой способ вывода данных в фал это функция Print, которая записывает в лог советника все данные которые вас интересуют, либо запись данных в файл типа CSV или TXT с помощью функции FileWrite.
avatar

  18  Andrju81 Сообщений: 245 - Андрей

  • 14 марта 2024, 22:55
+
0
конечная цель — это автоматизированный или полу-ручной процесс вывода индюков, которые использует советник с используемыми параметрами на график. не более. каждый раз запоминать и выставлять индюки надоело, вот и подумал, что есть какой-нибудь способ для этого.
avatar

  5  dreigzon Автор Сообщений: 40

  • 15 марта 2024, 08:54
+
0
вы не могли бы написать пример кода с сохранением параметров в файл, наверное ТХТ, и какой0нибудь простенький скрипт по их извлечению и применению на график индюка с этими параметрами? ( или ссылку на статью\видео, где подобное делается)
Редактирован: 15 марта 2024, 08:57
avatar

  5  dreigzon Автор Сообщений: 40

  • 15 марта 2024, 08:57
+
0
Все примеры есть в справочнике MQL4 встроенном в MetaEditor.
И ещё раз повторю — чтобы индикаторы отображались и работали в тестере вместе с советником, единственный вариант внести исходный код индикаторов в код советника как отдельные функции и вызывать их по необходимости или на каждом тике(в зависимости от индикатора). Другого варианта пока нет. Либо как писали выше применять шаблоны для графиков или при добавлении индикаторов загружать сохранённые параметры вручную.
avatar

  18  Andrju81 Сообщений: 245 - Андрей

  • 15 марта 2024, 17:48
+
0
спасибо за пояснение.
avatar

  5  dreigzon Автор Сообщений: 40

  • 15 марта 2024, 20:55
+
0
попробовал ради интереса:


ChartApplyTemplate(0,"ADX.tpl");


в тестере не выводит, на графике этот вызов сносит советник
avatar

  34  AM2 Сообщений: 15882 - Андрей

  • 12 марта 2024, 10:27
+
0
потому как в шаблоне не сохранен советник и его настройки. Это совсем не то.
а через скрипты как-то нельзя это сделать? дабы скрип отслеживал вызываемые индюки и применяемые к ним параметры, а после ставил на график? даже если нужно будет путь к каждому индюку прописывать вручную и указывать название параметров из совы.
при запуске тестера, в логах прописывается вся информация, которая касается параметров индюков
Редактирован: 12 марта 2024, 14:13
avatar

  5  dreigzon Автор Сообщений: 40

  • 12 марта 2024, 14:12
+
0
При сохранении шаблона запоминаются и права для запущенных на графике программ: право на торговлю и право на использование DLL. В целях безопасности эти права при применении шаблона к графику могут ограничиваться:

Права на торговлю и использование DLL не могут быть повышены при запуске советника путем применения шаблона с помощью функции ChartApplyTemplate().

Если у mql4-программы, которая вызывает функцию ChartApplyTemplate(), отсутствуют права на торговлю, то эксперт, загруженный при помощи шаблона, также не будет иметь прав на торговлю вне зависимости от настроек шаблона.

Если у mql4-программы, которая вызывает функцию ChartApplyTemplate(), есть права на торговлю, а в настройках шаблона права отсутствуют, то советник, загруженный при помощи шаблона, не будет иметь прав на торговлю.
avatar

  13  verta81 Сообщений: 355

  • 12 марта 2024, 17:30
+
0
Уважаемый, verta81. Суть данного топика не в вызове шаблонов и постановки их на график. Имелось ввиду именно вызов индюков из используемых совой на график. Например, у меня сова с 10 разными индюками и их параметрами. Если я хочу использовать только 1 из них, то мне нужно 10 шаблонов под каждый из индюков создать, а если еще и параметры другие? а если их комбинации, которых куда больше сотни? и получается, что шаблоны тут абсолютно бесполезны. накидать что-то для первичной постановки на график — подойдет, но не более. да и в тестере шаблон не запустится, поэтому и ищу способ вызова их из самой совы или скриптом, который бы их ставил на график, раз самой функции в сову поставить нельзя.
Да и опять же, даже если использовать chartsave, то он сохранит настройки совы и графика, но сами индюки не выведет на него при установки данного шаблона на другой график.
Редактирован: 12 марта 2024, 22:51
avatar

  5  dreigzon Автор Сообщений: 40

  • 12 марта 2024, 22:48
+
0
verta81, вполне возможно, что я ошибался на счет вашего утверждения. Нашел способ, который частично отвечает тому, что вы говорили. Если сохранить шаблон с названием самой совы(а на графике установлены все нужные индюки), то при запуске тестера он выводит индюков на экран.
1. Put your indicator do you want on normal chart and saveas template same as your EA name

2. Backtest normally, in visual mode, you will see indicator on backtest chart.

правда, этот способ не работает на живом графике и настройки индюков не меняет под сову.
Редактирован: 16 марта 2024, 10:53
avatar

  5  dreigzon Автор Сообщений: 40

  • 16 марта 2024, 10:52

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари