Маркет. Правила публикации.

 

Итак, накипело.

Не буду говорить что проверяющие роботов в маркете идиоты. Скорее всего они грамотные люди, но просто зажаты в рамки условий компании, ну а знать хотя бы основы mql 4/5 им тоже не надо. Они ведь не пишут роботов а только проверяют их. Поэтому сразу об этих самопротиворечащих условиях. 

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

2. Прописать в код жёстко необходимые пары глупо так как у брокеров их разное количество и могут быть разные наименования, например EURUSD.m

3. Каким образом мне загрузить валютные пары в тестер не прописывая их в роботе? Вариантов два: Первый - послать всех и загрузить в тестер вообще всё что есть и использовать только необходимые пары (сверх глупый вариант) или создать файл, допустим .csv и прописав нужные мне пары в этой файле, потом его подгрузить в тестер с помощью директивы 

#property tester_file

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

5. А проблема в том что такой режим работы не проходит автотестирование и модераторы начинают предлагать неадекватные идеи для того чтобы пройти этот автотест.

6. Эпилог - мультитестирование не возможно без директивы #property tester_file, которая не поддерживается автопроверкой роботов для публикации в маркете. Это надо исправить. Иначе получается замкнутый круг.

 
Alexey Oreshkin:

Итак, накипело.

Не буду говорить что проверяющие роботов в маркете идиоты. Скорее всего они грамотные люди, но просто зажаты в рамки условий компании, ну а знать хотя бы основы mql 4/5 им тоже не надо. Они ведь не пишут роботов а только проверяют их. Поэтому сразу об этих самопротиворечащих условиях. 

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

2. Прописать в код жёстко необходимые пары глупо так как у брокеров их разное количество и могут быть разные наименования, например EURUSD.m

3. Каким образом мне загрузить валютные пары в тестер не прописывая их в роботе? Вариантов два: Первый - послать всех и загрузить в тестер вообще всё что есть и использовать только необходимые пары (сверх глупый вариант) или создать файл, допустим .csv и прописав нужные мне пары в этой файле, потом его подгрузить в тестер с помощью директивы 

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

5. А проблема в том что такой режим работы не проходит автотестирование и модераторы начинают предлагать неадекватные идеи для того чтобы пройти этот автотест.

6. Эпилог - мультитестирование не возможно без директивы #property tester_file, которая не поддерживается автопроверкой роботов для публикации в маркете. Это надо исправить. Иначе получается замкнутый круг.

О боже... Зачем из мухи раздувать слона? Он-же (слон) улетит и не поймаешь...

Ведь эта проблема решается на раз...

В On_Init() Получаешь название символа _Symbol и читаешь что у него есть от шестого символа в строке. Это и есть то что надо добавить к другому символу.

Получил EURUSD.m отсюда к GBPUSD надо добавить .m

string symb2 = "GBPUSD"
string newSymbol;
StringConcatenate(newSymbol, symb2, StringSubstr(_Symbol, 6));

ВСЁ!!! Куда делись идиоты???

 
Alexey Viktorov:

О боже... Зачем из мухи раздувать слона? Он-же (слон) улетит и не поймаешь...

Ведь эта проблема решается на раз...

В On_Init() Получаешь название символа _Symbol и читаешь что у него есть от шестого символа в строке. Это и есть то что надо добавить к другому символу.

Получил EURUSD.m отсюда к GBPUSD надо добавить .m

ВСЁ!!! Куда делись идиоты???


Вы привели частный случай. А что будем делать с символами BCOUSD, он же _BRN, он же #BRNZ, он же #ENZ3, он же _EN? 
 
Ihor Herasko:

Вы привели частный случай. А что будем делать с символами BCOUSD, он же _BRN, он же #BRNZ, он же #ENZ3, он же _EN? 

В вопросе был частный случай, на этот частный я и отвечал.

Alexey Oreshkin:

......

2. Прописать в код жёстко необходимые пары глупо так как у брокеров их разное количество и могут быть разные наименования, например EURUSD.m

......

Если-бы в вопросе были те самые... я просто-бы промолчал.
 
Alexey Oreshkin:

Итак, накипело.

Не буду говорить что проверяющие роботов в маркете идиоты. Скорее всего они грамотные люди, но просто зажаты в рамки условий компании, ну а знать хотя бы основы mql 4/5 им тоже не надо. Они ведь не пишут роботов а только проверяют их. Поэтому сразу об этих самопротиворечащих условиях. 

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

2. Прописать в код жёстко необходимые пары глупо так как у брокеров их разное количество и могут быть разные наименования, например EURUSD.m

3. Каким образом мне загрузить валютные пары в тестер не прописывая их в роботе? Вариантов два: Первый - послать всех и загрузить в тестер вообще всё что есть и использовать только необходимые пары (сверх глупый вариант) или создать файл, допустим .csv и прописав нужные мне пары в этой файле, потом его подгрузить в тестер с помощью директивы 

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

5. А проблема в том что такой режим работы не проходит автотестирование и модераторы начинают предлагать неадекватные идеи для того чтобы пройти этот автотест.

6. Эпилог - мультитестирование не возможно без директивы #property tester_file, которая не поддерживается автопроверкой роботов для публикации в маркете. Это надо исправить. Иначе получается замкнутый круг.


Беда в том что найдутся умники которые на основе получаемой истории будут писать и продавать тестерные граали, это уже проходили. Дать доступ к полной истории в тестере не целесообразно.
 
Alexey Viktorov:

О боже... Зачем из мухи раздувать слона? Он-же (слон) улетит и не поймаешь...

Ведь эта проблема решается на раз...

В On_Init() Получаешь название символа _Symbol и читаешь что у него есть от шестого символа в строке. Это и есть то что надо добавить к другому символу.

Получил EURUSD.m отсюда к GBPUSD надо добавить .m

ВСЁ!!! Куда делись идиоты???


О боже....Можно ведь сделать ещё умнее:
            if (SymbolInfoString(sm1,SYMBOL_CURRENCY_BASE)!="EUR") continue;
            if (SymbolInfoString(sm1,SYMBOL_CURRENCY_PROFIT)!="USD") continue;

И тогда вообще всё равно на все префиксы и суффиксы. Если вопрос не ясен лучше молчать!

Но вопрос на самом деле исчерпан.
Проблема из-за директивы #property tester_file.
Раньше было так, что если эта директива указана и необходимый файл не найден то тестер выдавал ошибку. Сейчас этого нет, и при отсутствии файла тестирование идёт далее без проблем.
Я же при отсутствии данного файл просто завершал программу и поэтому не мог пройти тестирование. Так что данный вопрос решён, но проблема сотрудников в маркете всё равно не решена.
Но это уже не важно.


Кто нить с таким сталкивался ? 
Почему ко мне имеет отношение то что тестер на стороне проверяющих не может найти файл отчёта ?

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