Ошибки, баги, вопросы - страница 2154

 
Rashid Umarov:

А терминал на каком языке запущен?

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

 

Ошибка при компиляции

typedef void (*fn)();
void g() {}
struct A {
        A() : f( g ) {}
protected: //(*)
        fn f;
};
struct B : A {
        B() { A::f(); } //Error: 'f' - member function not defined
};

А если убрать строку (*) - то нормально. А какая разница?

 
fxsaber:

Что это такое?

fxsaber:

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


Месяца четыре назад добавили новую функциональность #property tester_set, к сожалению, в release notes информация о ней так и не попала...

#property tester_set "\\Profiles\\Tester\\Moving Average.set"

Имя set-файла со значениями и шагом входных параметров. Указанный файл будет передан тестеру в работу перед началом тестирования или оптимизации. Имя файла необходимо указывать с расширением и в двойных кавычках как константную строку.
Если в названии set-файла указать имя эксперта и номер версии как "<expert_name>_<number>.set", то он автоматически добавится в меню загрузки версий параметров под номером версии <number>. Например, имя "MACD Sample_4.set" означает, что это set-файл для эксперта "MACD Sample.mq5" с номером версии равным 4.
Для изучения формата рекомендуем вручную сохранить настройки тестирования/оптимизации в тестере стратегий и затем открыть созданный таким образом set-файл.


Через ряд задалбываний описание все таки добавили в справку:
https://www.mql5.com/ru/docs/basis/preprosessor/compilation
https://www.metatrader5.com/ru/metaeditor/help/development/intelligent_management

Но для сообщества все прошло незаметно.

 
Sergey Dzyublik:


Месяца четыре назад добавили новую функциональность #property tester_set, к сожалению, в release notes информация о ней так и не попала...


Через ряд задалбываний описание все таки добавили в справку:
https://www.mql5.com/ru/docs/basis/preprosessor/compilation
https://www.metatrader5.com/ru/metaeditor/help/development/intelligent_management

Но для сообщества все прошло незаметно.

Спасибо, использую это. Но речь шла о другом - работа с результатами Оптимизации. Там почти никакого функционала.

 
fxsaber:

Воспроизводится. Нужно запустить Тестер/Оптимизатор. После окончания подождать несколько часов. У меня через 10 часов точно удаляются все тики кастомных символов.

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

 
fxsaber:

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

Я честно говоря вообще не понимаю смысл кастомной истории... Хоть убейте ...

Иногда складывается впечатление что разработчики делают все что бы увести внимание трейдера от истины...


Может может кто то назвать хотя бы 2 преимущества кастомной истории ?

 
Vladimir Pastushak:

Может может кто то назвать хотя бы 2 преимущества кастомной истории ?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

АЛЬТЕРНАТИВНЫЕ ПРОГРАММЫ ТЕСТИРОВАНИЯ MQL5?

fxsaber, 2016.12.16 15:50

  • Можно изменять самому цены и смотреть зависимость показателей ТС от этого процесса - строить соответствующие графики.
  • Аналогично - с комиссией. При этом изменять саму комиссию и/или вносить часть ее в цену. Опять те же графики ТС.
  • Аналогично с проскальзываниями.
  • По этим графикам можно определить, что ТС вовсе не отстой, если может работать на улучшенных ценах. Далее встанет вопрос поиска подходящего брокера с необходимыми торговыми условиями. Т.е. ТС на текущих ваших брокерах сливает. Но вы знаете, что нужно для профитности и ищите (не обязательно MT5) нужное место для торговли. Многие держали в руках очень достойные ТС, но выбрасывали их, т.к. на текущем брокере они были сливными. А надо было просто поменять брокера под нужные условия. Или выторговать у менеджера пониженную комиссию с соответствующим техническим обоснованием.
  • Можете фильтровать историю цен, выбивая из них шпильные тики. На которых высока вероятность неисполнения лимитного приказа - реджкет. Тем самым тестер не будет исполняться на шпилях, сделав исполнение ближе к реалу. Delay-режим тестера - для маркетов, не для лимитников.
  • Можете фильтровать историю цен, зная, какие цены не влияют на саму ТС. Обычно, 99% тиков никак не влияют на большинство ТС. Это позволяет на порядки ускорить тестирование ТС. Получается быстрее Облака - на локальной машине+бесплатно.
  • Можно брать стороннюю тиковую историю - не MT5. И сразу понять, насколько подходит источник по торговым условиям к вашей ТС.
  • Можно синхронизировать истории цен с разных символов, чтобы не возникали ложные арбитражные ситуации.
  • Можно запускать статистические советники в тестере на разных ценовых историях и сравнивать торговые условия.
  • Можно сравнивать лаги между различными фидами.
  • Можно убирать явные ошибки в истории цен, заполнять дыры.
  • Можно генерировать свою историю цен с нужными стат. данными - Монте-Карлить ТС.
  • Можно генерировать историю цен синтетических символов и прогонять на них ТС.
  • ...
 


Дополнительный пример к заявке #1913961

typedef void (*fn)();
struct A {     fn f; };
struct B : A {
        B() { B::f( 1 ); } //Error: '1' - wrong parameters count
        void f( int ) {}
};

Здесь вообще явно указано B::f, а все равно при компиляции ошибка 

 
A100:

Дополнительный пример к заявке #1913961

Здесь вообще явно указано B::f, а все равно при компиляции ошибка 

Как воспринимать f - как метод или как поле-функцию?

 
fxsaber:

Как воспринимать f - как метод или как поле-функцию?

Поле-функция по сигнатуре не подходит, а метод подходит