Советник работает только если загружен с маркета. Как сделать?

 

Возможно ли в советника встроить код, который бы разрешал работу, только если файл загружен из маркета MQL. 

И запрещал работу если файл советник просто скопирован в папку. 

 

Решается следующим кодом

void OnStart()
  {
   ENUM_LICENSE_TYPE en = (ENUM_LICENSE_TYPE)MQLInfoInteger(MQL_LICENSE_TYPE);
   Print(en, " ", EnumToString(en));
// дальше прописываете условия, что можно и что нельзя
  }
 
Sergey Likho:

Возможно ли в советника встроить код, который бы разрешал работу, только если файл загружен из маркета MQL. 

И запрещал работу если файл советник просто скопирован в папку. 

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

 
Aleksey Semenov #:

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

Например вы сделали советника и передали его для теста знакомым и этот же файл выгрузили в маркет. 

В файле можно приписать что при LICENSE_FREE  (ситуация, когда файл ручками скопирован в папку mql4/experts)  сов будет работать только на демо.

А тем кто приобретает файл через маркет, ( лицензия будет LICENSE_FULL или LICENSE_TIME)  сов достается без  ограничений. 

Удобство в том, что не нужно несколько файлов для разных ситуаций.