Перейти к содержимому

Theme© by Fisana
 

Фотография
* * * * * 2 Голосов

После тестов...


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 35

#16 Michelangelo®

Michelangelo®

    МОРДЕ-РАПТОР

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1003 сообщений

Отправлено 08 February 2011 - 01:43

Посмотрел. Похоже ... хотя иногда выскакивает различие в 1-2 единицы... (причём всегда Volume[] в большую сторону).
За такую подсказку спасибо. ... посмотрел то же на M5 - здесь расхождения уже поболее, до 4 единиц, и тоже в большую сторону.

Не совсем мне понятно вот что: а). как-то думалось, что смысл значения Volume[] более содержательный, б). кокой тогда реальный смысл значения Volume[]?

... далее, :good: с выявившимися различиями с частотами тиков (частотами обновления) от разных ДЦ - соотносить результаты тестирования на историях разных ДЦ становится ещё проблематичнее.

внимание вопрос...
тебя интересует тестирование советника на истории или его работа в будущем?

с тобой интересно... ты задаешь вопросы. на которые однозначно не ответишь... и причем подумать над ответом надо... ;)
Изображение
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...

Изображение

 
 

#17 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 08 February 2011 - 01:47

Многие моменты становятся понятными при таком объяснении.
Ваши выводы частично отвечают на Ваши же вопросы, поставленные ранее.
Получается, что моделирование "хаоса" в принципе не может быть точным.


Относительно того, как толковать результаты, и точности моделирования "хаоса" можно коё-чего почерпнуть, если меж строк (по диагонали) внимательно почитать online руководство MT4 и представить что и как делал бы сам, если бы программировал такую систему тестирования...
Относительно 3-х режимов : а) по ценам открытия, б) по контрольным точкам, в) по всем тикам.

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

2. тестирование "по всем тикам" (относительно точности ... точнее адекватности в сравнении с online счётом) - это вовсе не по всем тикам а по барам последовательности M1, что не совсем одно и то же... Для тестирования на M1 оно вообще вырождается в "по ценам открытия"...

3. ну а б). - это, как и следует ожидать, промежуточное приближение, когда в качестве тиков используются бары ближайшего меньшего тайм-фрейма (для M15 - M5).

#18 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 08 February 2011 - 01:54

внимание вопрос...
тебя интересует тестирование советника на истории или его работа в будущем?


Меня интересует твёрдо (а это значит не только "что", но и "почему") знать : насколько адекватны результаты показанные на тестере тому, если бы советник проганяли бы в то же время online, насколько они совпали бы... Для того, чтобы обоснованно прогнозировать его работу в будущем.

P.S. ко мне обращаются временами: напиши советник, оттестируй советник, оптимизируй параметры советника... и это хуже, чем если бы сам проверял работу своего советника, там слил небольшой депозит для пробы и успокоился, а здесь нужно квалифицированно отвечать за свои результаты... и мне временами сильно непонятно, что я вижу как "результаты тестирования" для некоторых существующих советников.

#19 Michelangelo®

Michelangelo®

    МОРДЕ-РАПТОР

  • Профи
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1003 сообщений

Отправлено 08 February 2011 - 21:32

Меня интересует твёрдо (а это значит не только "что", но и "почему") знать : насколько адекватны результаты показанные на тестере тому, если бы советник проганяли бы в то же время online, насколько они совпали бы... Для того, чтобы обоснованно прогнозировать его работу в будущем.

P.S. ко мне обращаются временами: напиши советник, оттестируй советник, оптимизируй параметры советника... и это хуже, чем если бы сам проверял работу своего советника, там слил небольшой депозит для пробы и успокоился, а здесь нужно квалифицированно отвечать за свои результаты... и мне временами сильно непонятно, что я вижу как "результаты тестирования" для некоторых существующих советников.


по поводу повторяемости результатов тестирования и реальной работы могу сказать, что советник повторяемость результатов 99,999999%...
был у меня заказ, сделал, кинул на демо, после недели - двух тестирования на демо прогнал на тестере точность входа выхода - +/- 1 пипс... кинул на микро реал погонял там и опять на тестер с тем-же промежутком времени - результат повторяемость +/- пипс... +/- пипс отношу на реквоты цены, занятость потока и прочее... :)
Изображение
Возможно все! ...что ниже скорости света!
Невозможное делаю сразу! Чудо требует незначительной подготовки...
Пришел, увидел, нафлудил...

Изображение

#20 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 10 February 2011 - 21:36

Можете рассмотреть следующее:
- EURUSD M5, 4.02.2011 ... около :scratch_head: 14:30 ... - после длинного флэта там резкий облом вниз, 2 длинные свечи вниз...
- вот их и рассматривал я на разных ДЦ, причём у меня на компьютере в это время стоит локальное время 19:00...
- я выпишу для разных ДЦ : время 1-й свечи - её максимальное значение - ... - время последней на сегодня текущей у меня закрытого бара (7.02 19:00) :

NordFX - 14:30 - 1.3677 - 18:00
Forex4you - 14:40 - 1.3679 - 18:00
InstaForex - 15:30 - 1.3677 - 19:00
Alpari - 14:30 - 1.36756 - 18:00


Одного вот этого кина - вполне достаточно для того, чтобы тестирования одного советника, и на одной валютной паре и таймфрейме, с одинаковым периодом тестирований - никогда не сошлись на котировочных данных от разных ДЦ.

Я даже по поводу такого разбега шкал времени специальную тему заведу, пожалуй... :
http://fxgeneral.com...?showtopic=1418

#21 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 18 February 2011 - 14:38

Вот что я точно заметил, так это то, что на Альпари я протестировал и про оптимизировал советника (не важно какой), а на Екснесс он показал совсем не те результаты и пришлось его оптить заново.


Ещё раз к вопросу о тестировании, точнее, о совпадении результатов тестов на котировках от разных ДЦ :

1. Точного совпадения получить невозможно (хотя бы из-за "расхождения" отдельных баров по разным суткам из-за разницы временных шкал), да к этому и стремиться не нужно: достаточно того, чтобы на разных ДЦ сохранялась тенденция, т.е. общий вид кривой депозита. Этого достаточно для того, чтобы результаты эксперта считать подтверждёнными.

2. 1-я причина полного расхождения (напрмер, на одном ДЦ - прибыль, а не другом - слив) - это значность цифр котировок, например: на Alpari - 5, на большинстве других - 4 (стандартная переменная Digits). Для устранения этого расхождения, в большинстве случаев, нужно "поинтные" переменные (чаще всего это расстояние SL и TP, но и slippage при открытии/закрытии ордеров) значения таких переменных умножить на 10 для 5 знаков, или разделить на 10 для 4-х. Но для этого нужно, чтобы такие параметры были оформлены как настраиваемые параметры советника, а это бывает не всегда ... а для slippage - никогда.
Моё мнение на этот счёт: хорошо написанный советник должен бы сам выяснять ( MarketInfo( Symbol(), MODE_DIGITS ) ) "знаковость" ДЦ, где он запущен и пересчитывать такие "поинтные" переменные сам внутри.

3. 2-я причина (часто очень скрытая) - это ошибки открытия/закрытия ордеров, которые возникают на одном ДЦ, но нет на другом. Это - внимательно смотрите журнал тестера.
Это тяжёлая ошибка, обычно связана с грубым (нетщательным) вычислением расстояний SL/TP, цен ордеров и их slippage ... Тут поможет только правка (подчистка) кода программы-советника.

4. 3-я - очень интересная причина - это различный размер стандартного лота ( MarketInfo( Symbol(), MODE_LOTSIZE ) ) на разных ДЦ, например: на подавляющем большинстве ДЦ это 100000 в котируемой валюте, но на InstaForex - это 10000, т.е. в 10 раз меньше.
Я прикрепил по этому поводу 2 картинки (это короткие тесты, январь-февраль этого года, советника PuriaM, который я здесь где-то приводил) - они как близнецы братья (и из отчёта: и по числу сделок и т.д.). Но! На левом (Alpari) - цифра конечная порядка 1600, а на правом - 1060. И это всего лишь потому, что:
- размер лота в одоих случаях фиксированный, и равен 0.1...
- но вычисляется этот 0.1 от стандартных лотов, соответственно 100000 и 10000...
- и объёмы открываемых ордеров будут соответственно 10000 и 1000, т.е. в 10 раз отличаются...
- и все результаты сделок в точности повторяют друг-друга, но масштабированы в 10 раз...

Вот по поводу п.4 у меня есть неоднозначность, как здесь поступать советнику:
а). никак, т.е. запуская его (не тесте, демо, или реале) мы указываем 0.1, если это Alpari, и 1.0, если это InstaForex.
б). пересчитывать такие "задроченные" лоты как на InstaForex - в нормальные, всё таки изначально и во всех книгах: стандартным лотом считается 100000 "в котируемой валюте".
в). делать как б). но выводить alert(), предупреждающий, что на этом ДЦ размеры лота будут пересчитаны.
г). делать как а). но выводить alert(), предупреждающий, что на этом ДЦиспользуются "задроченные" лоты.

P.S. вообще то, для меня полнейшая загадка, для чего InstaForex сделали этот фокус с размером стандартного лота?
У меня только одна может быть догадка: специально, чтобы трейдерам мозги задурить.
... никакого другого объяснения я не могу придумать: для работы с малыми суммами недостаточно вам минимального размера ордера 0.001 - так разрешите размер 0.0001.

Прикрепленные изображения

  • P5a_EURUSD_M15_02.gif
  • P5i_EURUSD_M15_02.gif


#22 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 18 February 2011 - 15:16

Это тяжёлая ошибка, обычно связана с грубым (нетщательным) вычислением расстояний SL/TP, цен ордеров и их slippage ... Тут поможет только правка (подчистка) кода программы-советника.


Вообще, как оказалось (оказалось на практике!), прогон на данных нескольких ДЦ, и, если видятся грубые расхождения, нахождение причины и мест в программе - это замечательный способ (быстрого!) выявления и исправления тонких ошибок в коде программы-советника.

Я уже взял себе за правило, поближе к концу работы над советником, "гнать" его на данных 4-х ДЦ, которые своим поведением заметно отличаются на одном и том же советнике: Alpari, NordFX, InstaForex, Forex4you.
Если у кого имеются "в заначке" ДЦ с подозрениями на характерные особенности - указывайте их сюда :)

#23 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 24 February 2011 - 19:03

Т.е. к вопросам "технологии испытания советника", ... возникают вот такие вопросы:


Вот ещё вопрос к технике тестирования + насколько ему можно доверять :
- в тестере есть галочка "генетический алгоритм", и, как я понимаю, он относится только к оптимизации и он у всех и всегда установлен...
- но генетические алгоритмы оптимизации находят не всегда оптимальные, а близкие к оптимальным.
- что заложено в термине "генетический алгоритм" MT4?
- где-то я встречал, что, якобы, в MT4 генетический алгоритм будет перебирать не более 10000 вариантов в направлении развития найденных локальных экстремумов... (если вас испугали такие слова и вы не поняли о чём это - не расстраивайтесь, это вам просто не нужно :beer2: ). Что можете сказать на этот счёт?

P.S. при всеё нелюбви на этом форуме к внешним ссылкам, даю ссылку на чисто математическое рассмотрение генетических алгоритмов:
_http://gotai.net/documents-genetic_algorithms.aspx
_http://gotai.net/documents/doc-ga-002.aspx

#24 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 26 February 2011 - 00:12

Вот что я точно заметил, так это то, что на Альпари я протестировал и про оптимизировал советника (не важно какой), а на Екснесс он показал совсем не те результаты и пришлось его оптить заново.


Итак, к вопросу тестирования на котировках разных ДЦ и должны ли они совпадать?
У меня здесь накопился некоторый материал в тему, поэтому расскажу его здесь:

1. тестирование от разных ДЦ никогда не будут абсолютно сходиться в точности хотя бы из одной простой причины: сутки на каждом ДЦ начинаются по-разному (со сдвигом влево-вправо на несколько часов), а в тестере вы можете отметить начало-конец тестируемого интервала только датой, поэтому в тестируемых последовательностях начало-конец будут различаться.
2. точность представления котировок: 4 или 5 знаков - в вычислительном смысле: округления и т.д. численные результаты будут немного отличаться... О совсем другом влиянии 4/5 знаков - поговорим дальше.

Но! Результаты тестирования на котировочных данных разных ДЦ должны в общем - совпадать.
Несовпадение результатов тестирования должно говорить о дефектности самого проведенного тестирования (что-то не так!) и должно настораживать.

Для иллюстрации этого я показываю 4 графика тестирования советника PuriaM2 (какой советник здесь не важно, я прожелывал это со своим PuriaM2_06.mq4, более раннюю версию которого я показывал здесь где-то в форуме), на 4-х ДЦ (демо счета) на весьма коротоком (одинаковом) интервале тестирования 01.01.2011-16.02.2011 :

1. (слева вверху) - Alpari
2. (спрова вверху) -NortdFX
3. (слева внизу) - Forex4you
4. (справа внизу) - InstaTrader

Прикрепленные изображения

  • P6a_EURUSD_M15_03.gif
  • P6n_EURUSD_M15_03.gif
  • P6y_EURUSD_M15_03.gif
  • P6i_EURUSD_M15_03.gif


#25 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 26 February 2011 - 01:02

Но! Результаты тестирования на котировочных данных разных ДЦ должны в общем - совпадать.
Несовпадение результатов тестирования должно говорить о дефектности самого проведенного тестирования (что-то не так!) и должно настораживать.


Добиться вот такой синхронности тестовых кривых на разных ДЦ оказалось очень непросто ... ларчик совсем непросто открывается :).
Поэтому я расскажу по-порядку для тех, кому понадобится сверять на разных ДЦ для своих советников:

1. Самое очевидное: 4/5 значность котировок... все "пунктовые" переменные, заданные в привычной "4-х значной записи" должны быть умножены на 10 для 5-ти значных ДЦ. Если для SL & TP это очевидно, но это касается и slippage - 5-го параметра OrderSend(). У меня такое преобразование значности прописано автоматически, на основе переменной Digits.
Из показанных мною ДЦ (картинки) - только на Alpari 5 знаков, остальные 4.

2. Куда менее очевидная вещь: стандартный размер лота ДЦ. В описаниях везде пишется, что это "100000 котируемой валюты". Но это не всегда так! И на InstaTrader (из всех 4-х) - это 10000. А это значит, что если на всех остальных ДЦ вы указываете размер ордера (фиксированный), например, 0.1 лота, то на InstaTrader для соизмеримых условий тестирования вы должны указывать 1.0. Сюрпри-и-и-и-из...

3. Ещё из числа сюрпризов: отличающееся число сделок!
Как оказалось, не такая уж и редкая ситуация ... - есть разрыв в истоии загруженных вами котировок в интервале тестирования: открывайте вашу валютную пару и изучайте, вы наёдёте ... недогруженных 3, 6, 12 часов или сутки. Очень противная ошибка.
Мне помогло изменение размерности "графики" в настройках + "обновить" валютную пару + загрузить архив котировок (тут что-то явно избыточное :), но я уже не искал) + обязательно перезагрузить терминал.
Но без сравнения 2-х ДЦ этот дефект вообще не удаётся обнаружить!

4. Очень интересный дефект... Обычно открытие ордера записывают, например:
OrderSend( Symbol(), OP_SELL, Lot,  Bid, Slippage, ...
... и везде в примерах, и на форумах...
Но! NordFX & Forex4you вдруг стали сыпать ошибки:

4107: "Неправильный параметр цены для торговой функции"

Причём, это после успешного открытия 15 ордеров, на 16-м и т.п.
Т.е. ему это не нравится!
Стоило переписать так:
OrderSend( Symbol(), OP_SELL, Lot, NormalizeDouble( Bid, Digits ), Slippage,
- и сообщения об ошибках прекратились!

Вот так несовпадения тестов на разных ДЦ помогло поисправлять неточности в коде советника!
А теперь, в завершение, о степени "несовпадения" - вот фрагменты отчётов всё тех же 4-х тестов:

1. Alpari:
Баров в истории 4221
Смоделировано тиков 7440
Чистая прибыль 685.31
Прибыльность 1.95
Всего сделок 28

2. NortdFX
Баров в истории 4221
Смоделировано тиков7440
Чистая прибыль 656.50
Прибыльность 1.89
Всего сделок 28

3. Forex4you
Баров в истории 4221
Смоделировано тиков7440
Чистая прибыль 648.81
Прибыльность1.87
Всего сделок 28

4. InstaTrader
Баров в истории 4240 (здесь возникло различие!)
Смоделировано тиков 7478 (здесь возникло различие!)
Чистая прибыль 646.46
Прибыльность 1.79
Всего сделок 28

#26 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 26 February 2011 - 18:33

Ещё раз к вопросу о тестировании,


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

Вместо того, чтобы пытаться понять, что происходит и чего можно ожидать, и тщательно тестировать программы - люди, очень слабо понимающие что они делают, истерически хватают одного советника за другим ... бросают и снова хватают ... зарабатывают $13 из $10 и визжат при этом от восторга...

... непроизвольно возникает желание сменить форум для обсуждений ... вот только на других (большинство каких видел) - в точности та же картина или хуже... :)

#27 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 08 March 2011 - 13:28

Ещё 2 слова относительно того: а). как проводить тестирование советников + б). как оценивать и толковать результаты такого тестирования...
Это по мотивам того, что я писал и обсуждали в темах:
http://fxgeneral.com...?showtopic=1488
http://fxgeneral.com...p?showtopic=996
- относительно управления капиталом (ММ) в советнике - алгоритм управления размером лота во времени...

Как мне кажется:

1. испытывать ТС, советник её реализующий, и делать заключение о применимости - нужно только при отключенном управлении размером лота!

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

3. не всякий алгоритм ММ подойдёт ко всякому советнику, ... но подбор подходящего ММ к советнику, это уже совсем отдельная история, не имеющая отношения к самой ТС.

#28 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 25 March 2011 - 11:50

Вот ещё из обсууждений здесь в темах рядом - выплыло (это тоже об адекватнсти оценки тестирования и как толковать результаты):

- а если есть несколько (N) советников...

- то если их повесить на один график (одинаковые графики) ... и как это вообще технично сделать? ;)

- то будет ли это лучше или хуже использования только одного из советников?

- это сильно напоминает обсуждаемую "мультивалютность" ... которая совершенно бездарна для советников MT4...

- здесь та же история?

- и как и при каких условиях N советников будут (не будут) интерферировать (мешать друг другу) работая на одних валютной паре + тайм-фрейм?

#29 Olej

Olej

    Почётный житель форума

  • Свой человек
  • PipPipPipPipPipPipPipPipPipPip
  • 411 сообщений

Отправлено 06 April 2011 - 11:52

Вот:
http://fxgeneral.com...indpost&p=25134
- наконец то народ пройняло, на тестировании и демо уже реальных советников народ задумался: а что ж таки мы смотрим? и как это понимать? и почему оно временами расходится с действительностью? ... и как вообще толковать и оценивать те результаты, которые показывает нам советник...

#30 marker1

marker1

    В бою

  • Свой человек
  • PipPipPipPipPipPipPip
  • 152 сообщений

Отправлено 06 April 2011 - 12:34

Мда, занятная статья.



Copyright © 2024 Your Company Name