Как запустить платный индикатор из Маркета в тестере стратегий

 

Например, вы нашли платный индикатор Uniform Moving Price Range. Сначала его нужно загрузить в терминал с помощью кнопки "Download demo".



Вы можете найти этот индикатор после скачивания в Навигаторе в папке "Market", но запустить его на графике не получится. Так как вы скачали демоверсию платного продукта. Кнопка "Ok" отсутствует



Демоверсии нельзя запускать на графике, так как иначе их не купят. Но покупатель может посмотреть Продукт перед покупкой на графике визуального тестирования в тестере стратегий. Для этого достаточно использовать небольшой эксперт, который вызывает этот индикатор. Для вызова с параметрами по умолчанию нужно знать имя индикатора, в данном случае мы видим его имя в Навигаторе как Uniform_Moving_Price_Range_demo.

Нужно указать компилятору помощью макроподстановки #define имя индикатора, который мы хотим использовать в эксперте при тестировании. Создадим макрос market_indicator с указанием папки \Market, в которой находится индикатора.

#define market_indicator "Market\\Uniform_Moving_Price_Range_demo"

Создаем индикатор с помощью функции  iCustom(_Symbol, _Period, market_indicator), где подстановка market_indicator используется как обычная строковая константа. После создания индикатора проверяем его хэндл.

//+------------------------------------------------------------------+
//|                                   Test_Indicator_from_Market.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

#define market_indicator "Market\\Uniform_Moving_Price_Range_demo"
int indicator_handle;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- попытка создания индикатора
   indicator_handle=iCustom(_Symbol,_Period,market_indicator);
//--- если хэндл оказалася невалидным, значит проблемы с индикатором
   if(indicator_handle==INVALID_HANDLE)
     {
      Print("Не удалось создать индикатор ",market_indicator,". Ошибка ",GetLastError());
      return(-1);
     }
//--- инициализация прошла уcпешно, вернем 0
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+

Запускаем наш эксперт в тестере стратегий на желаемом символе и таймфрейме в режиме визуального тестирования.



И видим индикатор на графике, а его значения в окне "Data Window".



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

Бесплатные индикаторы из Маркета можно запускать обычным образом, просто набрасывая их на график в терминале.
Файлы:
 

Пошагово:

  1. Пришел новый бар.
  2. Через DLL запускаем тестер, в котором крайнее значение индикатора соответствует нашему крайнему сформированному бару.
  3. Получили это значение себе.

Это обход защиты? Или, может, демо-индикаторы давать разрешать запускать только на барах не позже начала текущих суток?

P.S. К сожалению, описанный обход защиты убивает еще сильнее надежду на реализацию когда-нибудь кастомной истории. 

 

MetaQuotes:

Это худшее решение, не позволяющее определить все возможности продукта и его отличия от аналогов, имеющихся в Маркете.

 

Во-первых, назначение индикатора - быть индикатором, то есть каким-либо образом идентифицировать текущую обстановку на рынке с помощью графических построений - линий, каналов, гистограмм и т.д. Таким образом, задача проверки индикатора решается полностью.

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

Приведенный здесь способ не является окончательным и бесповоротным, более удобные способы запуска индикаторов из Маркета будут предложены также, пока на стадии обсуждения.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 

ИМХО, с точки зрения пользователя оптимально было бы скачивать полнофункциональную версию, но с ограничением по времени работы.

Скажем, 2-3 дней вполне достаточно для проверки - надо мне это или не надо.


 
Dima_S:

полнофункциональную версию, но с ограничением по времени работы.

как???
 
sergeev:
как???
Неужели MetaQuotes не способна решить такую простую задачу?
 
MoneyJinn:
Неужели MetaQuotes не способна решить такую простую задачу?

Вопрос не в этом.

Как например советники продавать по такой схеме? Будут вечные демщики. Даже если ограничить работу для реалов.

Кроме того такое можно самому сделать.

 
TheXpert:

Вопрос не в этом.

Как например советники продавать по такой схеме? Будут вечные демщики. Даже если ограничить работу для реалов.

Кроме того такое можно самому сделать.

Вечных демщиков не будет. Количество скачиваний для одного пользователя ограничено. Пользователь может идентифицироваться не только по логину, но и по имени компьютера и IP-адресу.

Каждый раз переустанавливать Windows и перерегистрироваться в MQL5 ради повторной установки демо версии могут только совсем неадекватные люди.

 

 
sergeev:
как???

Также как сейчас, только вместо удаления кнопки ОК, будет прекращение работы (можно удалить ту же кнопку ОК) через 2-3 дня с момента скачивания. Например.

Может это кажется невероятным, но для многих (видимо) пользователей предлагаемая процедура является непроходимой.

 

Не удобно . Надо знать распределение потенциальных покупателей по - программер или не программер

На вскидку не программеров подавляющее большинство . Не путать с постояльцами форума. И для них это реальный гемор и отталкивание от сервиса.

Это для кого написано ? Для не программера ? - " Создаем индикатор с помощью функции iCustom(_Symbol, _Period, market_indicator), где подстановка market_indicator используется как обычная строковая константа. После создания индикатора проверяем его хэндл. " 

А программеры сами себе напишут то , что захотят или увидят в Маркете за исключением либок и т.д.  

Документация по MQL5: Основы языка / Типы данных / Тип string
Документация по MQL5: Основы языка / Типы данных / Тип string
  • www.mql5.com
Основы языка / Типы данных / Тип string - Документация по MQL5