Тестирование советников - тема для программистов 📌

От b0a, 12 марта, 2013 в Уголок Программиста

#51


Неа, быстренько при старте заливаем данные из hst в массив и все в Памяти, а ты тут хоть все поудаляй. v:)

А Вы когда тестируете 99% разве не подкидываете тестеру готовый fxt файл? в этом случае hst изначально не нужны (т.е. до теста можно удалить), или нет?


Вот с 99% пока не пробовал, в теории да fxt с тиками уже сформирован скриптом, возможно тестер будет возмущаться, вообщем надо попробовать, если тестер начнет тест,
тогда берегитесь жулики v:)
#52

Фишка в том что на чистом 99 fxt файле rsiccimagic у меня не тестился....выдавал ошибку.....приходилось делать псевдо 99 fxt генерируемый тестером из чистых скриптовых M1 fxt файлов......теперь я кажется понимаю почему он не тестился...... ~x(

#53

У меня тестер 99% сразу запустился без hst файлов

и выдал РсиСси сливатором.

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

Все, обман этим способом в тестере 99% невозможен никак.

-----------------------

Некоторые нюансы

Если изначально терминал запускать без hst то результат честного индикаторного бота немножко отличается от теста с hst.

А если
- терминал запускать вместе с hst потом
- выполнить тест вместе с hst
- терминал не перезагружаем, а просто удаляем hst
- делаем еще раз тест

то резы честного бота абсолютно совпадают

а rcicci в жопе.

Изменено 25 января, 2015 пользователем dzennn2

#54

90%

neuro.png

#55


90%



У меня нейронет без hst вообще не входил.
#56


У меня нейронет без hst вообще не входил.


Накачаю сегодня котиры с Dukascopy, попробую потестить на 99%, выложу
#57

Ну не все...

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

А маркет, как истинная сваха на %%, этому не препятствует.

#58

Продавец нейронета показал пока нормальный мониторинг, но это пока.... v:)

Это слегка меня подстегнуло к дальнейшему исследованию. Выяснилось что бот все таки будет входить, но лишь при одном условии - должен быть hst файл того таймфрейма на котором проходит тест. И я ему дал этот файл, но глубоко урезанный, в котором только 100 последних баров, т.е. для Н1 это 4 суток начиная с сегоднешнего числа. И бот это схавал (а мог бы и не схавать, если бы продавец был более матерый, а он станет), тест с 01,01,2014 пока дошел до 01,08,2014 но уже видно "грааль" стух. Есть профитные периоды.
И в принципе можно теперь понятно игры с myfxbook , когда бот идет в плюс монитор есть, как только просадка - ой что то поломалось.

А вообще поразмыслив, я начал чувствовать себя Донкихотом воюющим с ветряными мельницами.

Метаквоты являются разработчиками терминала, языка MQL, а также владельцами Маркета. И в этом триединстве все было бы хорошо если бы сами метаквоты были белые и пушистые. А так как они редиски, то вся рыба сгнила.
Судя по всему, это безобразие они покрывают или даже являются активными участниками.
И как разработчикам всего им ничего не стоит в своих продуктах иметь перечень недокументированных возможностей, которые будут использованы для наеба. И все это будет покрываться невозможностью посмотреть код, правом интеллектуальной собственности.

Шоу продолжается....

neyro3.gif

#59

Достаточно взять за основу мысль не покупать советники в RU сегменте и в маркете в том числе и проблемы (подавляющая их часть) исчезнут.

#60

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

#61

rcicci magic
_https://www.mql5.com/ru/market/product/7075

neuronet
_https://www.mql5.com/ru/market/product/7637

страницы недоступны

#62


Спойлер

rcicci magic
_https://www.mql5.com/ru/market/product/7075

neuronet
_https://www.mql5.com/ru/market/product/7637

страницы недоступны




А ещё один "вечный" грааль - Adaptive scalper:
Спойлер


_https://www.mql5.com/ru/market/product/4365#

сливает так, что в ветке аж вой стоит от покупателей за 1500 $ b-)
#63

Не раз сталкивался с ситуацией: написан советник, у которого есть несколько переменных, которые хотелось бы "отоптимизировать" одновременно. Optimized parametr стоит Balance. И почему-то, часто
стоит только одну из переменных вывести из под оптимизации - результаты у оптимизации становятся лучше, чем когда эта переменная также находится под оптимизацией. То есть складывается ощущение,
что те результаты оптимизации которые высвечиваются не факт что они лучшие (Как будто с вводом переменный на какой-то глобальной ветке переменных ставится кирпич, что сюда не ходить).
А каждую переменную выводить/заводить и каждый раз тестировать заново, ни на что времени не хватит. Как с этим бороться ? Может кто сталкивался ?

#64

Имхо виноват генетический алгоритм ! Но без него время теста увеличится на порядок...
Я тестирую сначала быстро и грубо, но в широком диапазоне с широким шагом, потом смотрю на влияние переменных на результат, часть переменных с наименьшим влиянием вывожу из оптимизации, остальное оптимизирую сужая диапазон и уменьшенным шагом. И так несколько раз.

#65


Имхо виноват генетический алгоритм ! Но без него время теста увеличится на порядок...
Я тестирую сначала быстро и грубо, но в широком диапазоне с широким шагом, потом смотрю на влияние переменных на результат, часть переменных с наименьшим влиянием вывожу из оптимизации, остальное оптимизирую сужая диапазон и уменьшенным шагом. И так несколько раз.


Тоже на него грешу.
Очень много вот таких абсолютно ненужных данных :
- первые 10% результата это какая-то очень минимальная выборка (всего от 1 до 20 открытых ордеров)
- очень много групп одинаковых результатов (копейка в копейку) с практически не изменяемыми переменными.
#66

группа одинаковых результатов всё-же полезна. Она показывает либо какие переменные исключить из оптимизации, либо что шаг оптимизации этих переменных очень мал.

#67

Сегодня прогонял один и тот же сов за одно и то же время с Optimized parametr Balance и Profit Factor. Результаты были один в один. Параметр этот влияет только на окошко "График Оптимизации". Это так, с слову )
Прогон без Генетики это жуть. Один раз попробовал. Пол дня разгребал 48000 вариантов, естественно схожих друг с другом. Слишком много сил на него нужно.
Значения с малым количеством сделок я просто сортирую по возрастанию и удаляю те, где от 1 до 20 сделок.
По поводу параметров с одинаковыми данными, я просто делаю в Екселе вначале сортировку по Прибыли. Через условное форматирование выделяю одинаковые значения цветом, далее сравниваю их глазами с основными параметрами (в моем случае ТП и СЛ), и если совпадают, просто удаляю копии. Далее также сортирую по Просадке, так же сравниваю, и удаляю. И вот после этого 1-2х часового танца с Ексель я имею перечень параметров, готовых к Форварду/Бекварду на Истории.
Я Создавал Тему "Обсуждения оптимизации", но все постеснялись высказаться.
Давайте тут делиться своим видением, таблица, макросами и иными подручными средствами для ускорения этого кропотливого дела

#68
Rever27 я, например, делаю так:
double OnTester()
{
double ret=0.0;
if (TesterStatistics(STAT_EQUITY_DD)>0)
ret = TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD);
else ret = 0;
return(ret);
}

и в тестере делаю оптимизацию по Custom. Оптимизация отношения прибыли к макс.просадке дают более гладкую кривую баланса. Иногда, для мартинов, добавляю туда параметр макс. количество лосей подряд - очень удобно и без ехеля обхожусь.
#69


Rever27 я, например, делаю так:
double OnTester()
{
double ret=0.0;
if (TesterStatistics(STAT_EQUITY_DD)>0)
ret = TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD);
else ret = 0;
return(ret);
}

и в тестере делаю оптимизацию по Custom. Оптимизация отношения прибыли к макс.просадке дают более гладкую кривую баланса. Иногда, для мартинов, добавляю туда параметр макс. количество лосей подряд - очень удобно и без ехеля обхожусь.



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

Oll подскажите, а можно как нибудь через код совы установить ограничения? Как в тестере по "Количеству убыточных сделок" и т.п., только свои? Хотелось бы сразу не видеть результаты, где 1-20 сделок за 5 лет теста.
#70

Не видеть - это только глаз прищурить x_x
А вот ввести в формулу оптимизации общее кол-во сделок можно. Тогда тестер сам будет отбрасывать эти варианты как непригодные.

#71

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

#72

Можно поделиться примером составления данного? :)

Генетический алгоритм тестера отбирает максимальные результаты для последующих пргонов => кол-во сделок должно находиться в прямой пропорции к результату, возвращаемому OnTester.
т.е. ret = TesterStatistics(STAT_DEALS) * ... * TesterStatistics(STAT_PROFIT) / TesterStatistics(STAT_EQUITY_DD);

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

Нет, если прогон состоялся, то результаты отобразятся.
#73

Вопрос - почему тестер, не ругаясь не делает тестирование на всем заданном ему сроке ?
Например - у тестера в датах указано сделать тест с 01/01/2007 по сегодня. А он останавливается где-нибудь посередине 2014 года. Со дня, на котором остановился тестер, тестирование можно продолжить без проблем. История вроде вся есть. Количество баров в настройках, в истории указано с большим запасом.
Это нехватка памяти компа или что ?

#74
AndreyGold если вы тестируете через TickStory, то он может подгрузить только около 4 - 4,5гб котировок в один проход.
Т.е. он будет видеть файлы FXT и больше, но прогнать такую историю за 1 раз не получится.
Лично я гоняю все сеты с 2010 года. 5,5 лет мне вполне хватает.

Варианты решения проблемы:
1) Покупать Tick Data Suite, там нет ограничений
2) Делить участок на 2 проходки, потом в Екселе с помощью клея и ловких рук соединять.
#75


AndreyGold если вы тестируете через TickStory, то он может подгрузить только около 4 - 4,5гб котировок в один проход.
Т.е. он будет видеть файлы FXT и больше, но прогнать такую историю за 1 раз не получится.
Лично я гоняю все сеты с 2010 года. 5,5 лет мне вполне хватает.

Варианты решения проблемы:
1) Покупать Tick Data Suite, там нет ограничений
2) Делить участок на 2 проходки, потом в Екселе с помощью клея и ловких рук соединять.



А что Вы называете TickStory ? Я пользуюсь стандартным тестированием МТ4, с подгруженной от Альпари историей по М1.
При тестах стоит тестирование по каждому тику.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025