Как вшить файл настроек в индикатор?

 

Не секрет, что файл в маркете должен быть сам в себе, т.е. файл настроек прикрепить к нему не получится, особенно если держать его в общей песочнице.

Но блин относительный путь к общей песочнице явно больше 63 символов, или я чего-то не понимаю. Файл нужно поддерживать актуальным скажем на день вперед.

И что теперь, для теста проги в маркете нужно постоянно компилировать с актуальным файлом настроек?

 

О каком файле идёт речь. 

Ето фаил советника или это фаил ДЛЛ библиотеки...

Если это фаил с настройками то этот фаил является только сводом правил и функций который можно просто переместить в сам советник и перекомпилиравать всё вместе

Разьясните

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

О каком файле идёт речь. 

Ето фаил советника или это фаил ДЛЛ библиотеки...

Если это фаил с настройками то этот фаил является только сводом правил и функций который можно просто переместить в сам советник и перекомпилиравать всё вместе

Разьясните

Сумбурно изложил проблему, согласен!

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

Интегрировать календарь в код индикатора никак не получится, только если каждую неделю актуализировать версию - ну не серьезно.

Наличие дополнительного файла не позволит пройти проверку на маркете.

Да ладно, в принципе обнаружилась и другая проблема, он все равно не пройдет проверку, потому как не работает в тестере,

потому как использует историю М1 на любом ТФ и ее должно быть не менее 5 дней, а тестер при старте загружает совсем небольшой хвост...

Короче проще продавать на форумах )

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

В любом случае, индикатор не пройдет проверку на маркете, потому как при инициализации проверяется наличие файла-календаря )

 
Aleksandr Martynov:

Сумбурно изложил проблему, согласен!

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

Интегрировать календарь в код индикатора никак не получится, только если каждую неделю актуализировать версию - ну не серьезно.

Наличие дополнительного файла не позволит пройти проверку на маркете.

Да ладно, в принципе обнаружилась и другая проблема, он все равно не пройдет проверку, потому как не работает в тестере,

потому как использует историю М1 на любом ТФ и ее должно быть не менее 5 дней, а тестер при старте загружает совсем небольшой хвост...

Короче проще продавать на форумах )

Для календаря используйте WebRequest, загружая данные с популярных новостных сайтов (форексфактори, инвестинг), при помощи запуска скрипта, как выше Андрей отметил. Или же для МТ5 можно использовать доступ к местному календарю.

В тестере можно использовать свою базу новостей. Формируете на основе тех же новостных сайтов (у меня уже база за 12 лет сформировалась) и загружаете в ex4 ресурсом.

 
Ihor Herasko:

Для календаря используйте WebRequest, загружая данные с популярных новостных сайтов (форексфактори, инвестинг), при помощи запуска скрипта, как выше Андрей отметил. Или же для МТ5 можно использовать доступ к местному календарю.

В тестере можно использовать свою базу новостей. Формируете на основе тех же новостных сайтов (у меня уже база за 12 лет сформировалась) и загружаете в ex4 ресурсом.

То есть,Вы хотите сказать, что возможно загрузить в виде ресурса файл просто изменив расширение файла? Насколько я понял MQL позволяет загрузить как ресурс только 3 типа ех4, wav и bmp.

А про WebRequest я уже писал, чуть-чуть исправляется версия сайта и сову или индюк надо переписывать - не нравится мне такое, сие не вечно :)

Кроме того, каким образом вы собираетесь запускать скрипт, его тоже в качестве ресурса? Не пойму как в этом случае пройдет проверку эта сборка?

 
Aleksandr Martynov:

То есть,Вы хотите сказать, что возможно загрузить в виде ресурса файл просто изменив расширение файла? Насколько я понял MQL позволяет загрузить как ресурс только 3 типа ех4, wav и bmp.

Вот пример из документации:

#resource "data.bin" as int ExtData[]             // объявление массива числового типа, содержащего данные из файла data.bin
#resource "data.bin" as MqlRates ExtData[]        // объявление массива простых структур, содержащего данные из файла data.bin
//--- строки
#resource "data.txt" as string ExtCode            // объявление строки, содержащей данные файла data.txt (поддерживаются кодировки ANSI, UTF-8 и UTF-16)

А про WebRequest я уже писал, чуть-чуть исправляется версия сайта и сову или индюк надо переписывать - не нравится мне такое, сие не вечно :)

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

Кроме того, каким образом вы собираетесь запускать скрипт, его тоже в качестве ресурса? Не пойму как в этом случае пройдет проверку эта сборка?

Скрипт можно запустить путем загрузки шаблона (функция ChartApplyTemplate)

 
Ihor Herasko:
#resource "data.txt" as string ExtCode

Спасибо, но кажется мне это пример из MQL5, а не 4.

А насчет загрузки скрипта вопрос остается открытым, все равно файл скрипта должен быть в наличии, т.е. его нужно интегрировать в индикатор, более того шаблон нужно будет тоже интегрировать, потому как при проверке индикатора в маркете отправляется на проверку только 1 файл. И теперь возникает вопрос, если все это загрузится, а тестер маркета не дает выход в НЕТ, то какой смысл во всем огороде?

 
Aleksandr Martynov:

Спасибо, но кажется мне это пример из MQL5, а не 4.

Да, из пятерки. Не знал, что в 4-ке так нельзя. Странно, что такое разграничение имеется.

Тогда можно сформировать ресурс своим массивом. Типа такого:

uchar ucBinaryArray[] = {0xA0, 0x67 ...}

Просто чуть больше телодвижений по сравнению с ресурсом выйдет.

А насчет загрузки скрипта вопрос остается открытым, все равно файл скрипта должен быть в наличии, т.е. его нужно интегрировать в индикатор, более того шаблон нужно будет тоже интегрировать, потому как при проверке индикатора в маркете отправляется на проверку только 1 файл. И теперь возникает вопрос, если все это загрузится, а тестер маркета не дает выход в НЕТ, то какой смысл во всем огороде?

Я выше написал, что для тестера нужно сделать свою новостную базу прямо в коде индикатора через ресурс (в 4-ке через массив). Эта база в любом случае пригодится, даже для онлайн работы.

 
Aleksandr Martynov:

А про WebRequest я уже писал, чуть-чуть исправляется версия сайта и сову или индюк надо переписывать - не нравится мне такое, сие не вечно :)

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

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