Программерская часть, как всегда, на высшем уровне! Практическую почти не понял из-за слабой теоретической подготовки.
Смотрю fmtprnt2.mqh, warning-ов много. Почему решили такой шаблонный стиль делать?
template<typename T> CFormatOut *operator<<(const T v) { if(typename(v) == "int" || typename(v) == "uint" || typename(v) == "long" || typename(v) == "ulong" || typename(v) == "short" || typename(v) == "ushort")
Ведь для каждого типа можно было бы прописать свой вариант оператора и избежать соответствующих предупреждений компилятора.
ЗЫ Похоже, понял. Библа писалась, когда язык еще не позволял.
Смотрю fmtprnt2.mqh, warning-ов много. Почему решили такой шаблонный стиль делать?
Ведь для каждого типа можно было бы прописать свой вариант оператора и избежать соответствующих предупреждений компилятора.
ЗЫ Похоже, понял. Библа писалась, когда язык еще не позволял.
Можно уточнить идею? В общем-то, этот файл не самый-самый по числу предупреждений. Кое-что действительно можно подчистить.
Если речь о функциях с конкретными типами, на самом деле всегда хочется одним шаблоном все единообразно описать, а не копипейстить варианты с разными типами, ибо зачем тогда шаблоны?
Можно уточнить идею? В общем-то, этот файл не самый-самый по числу предупреждений. Кое-что действительно можно подчистить.
Если речь о функциях с конкретными типами, на самом деле всегда хочется одним шаблоном все единообразно описать, а не копипейстить варианты с разными типами, ибо зачем тогда шаблоны?
Правильно ли понимаю формулу: P(H|E) = P(E|H) * P(H) / P(E) (1), делая вычисления следующим образом:
P(H|E) = K2 * (1 / K1)
В данном случае рассматриваю индикатор для покупок, если выше ноля, то покупаю.
K2 =это результат деления(отношение) количество баров, где индикатор выше ноля и сделка была прибыльной / общее количество баров
K1 =это отношение количество баров, где индикатор выше ноля / общее количество баров
Правильно ли понимаю формулу: P(H|E) = P(E|H) * P(H) / P(E) (1), делая вычисления следующим образом:
P(H|E) = K2 * (1 / K1)
В данном случае рассматриваю индикатор для покупок, если выше ноля, то покупаю.
K2 =это результат деления(отношение) количество баров, где индикатор выше ноля и сделка была прибыльной / общее количество баров
K1 =это отношение количество баров, где индикатор выше ноля / общее количество баров
Да. Правда при таком подходе нужно либо длительность сделки делать 1 бар, либо разрешать в эксперте несколько открытых позиций, либо считать вероятность не через процент прибыльных, а например, как зависимость размера прибыли от величины значения индикатора (в плюс или минус), т.е. уже переходить к плотностям вероятности.
Да, результат при таком подходе, что привел будет смазываться. Лучше наверное заменю индикатор выше ноля, на бар где было пересечение индикатора нулевой отметки.
В планах сделать индикатор на этой основе, сделки в нем будут виртуальными и посмотреть, что он будет показывать. Может какие экстремумы значимые можно будет увидеть.
Программерская часть, как всегда, на высшем уровне! Практическую почти не понял из-за слабой теоретической подготовки.
Я попробую пересказать своими словами более просто:
1. Пусть есть три стратегии:
- стратегия Strat_A на основе индикатора А с вероятностью выигрышной сделки P(Win|A) =0.63
- стратегия Strat_B на основе индикатора B с вероятностью выигрышной сделки P(Win|B) =0.58
- стратегия Strat_C на основе индикатора C с вероятностью выигрышной сделки P(Win|C) =0.57
2. Все три индикатора A, B и C не кореллируют между собой - то есть подают сигналы на вход в рынок независимо друг от друга
3. Требуется рассчитать теоретический процент выигрышных сделок для стратегии Start_ABC, при которой вход в рынок происходит только в том случае, если все три индикатора показывают вход в одном направлении одновременно.
Тогда P(Win|ABC) = P(Win|A)* P(Win|B)* P(Win|C) /[ P(Win|A)* P(Win|B)* P(Win|C) - (1 - P(Win|A))*(1 - P(Win|B))*(1 - P(Win|C)) ]
Верно, @Stanislav Korotky ?
Да, я вроде почти так и излагал ;-)
Да, я вроде почти так и излагал ;-)
Тогда напрашивается тема еще одной статьи - как найти независимые между собой индикаторы автоматически?
И тогда у нас почти готов простой KnowHow по созданию роботов из любой коллекции индикаторов. Далее можно прикрутить к базовому алгоритму через Мастер MQL5 трейлинги, манименеджмент и так далее.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Наивный байесовский классификатор для сигналов набора индикаторов:
В статье анализируется применение формулы Байеса для повышения надежности торговых систем за счет использования сигналов нескольких независимых индикаторов. Теоретические расчеты проверяются с помощью простого универсального эксперта, настраиваемого для работы с произвольными индикаторами.
Рассмотренные выше формулы основываются на предположении о независимости анализируемых случайных процессов, коими являются в нашем случае сигналы индикаторов. Но выполняется ли это условие?
Очевидно, что некоторые индикаторы, среди которых и многие из списка стандартных, имеют много общего. В качестве наглядной иллюстрации на рисунке 2 приведены некоторые из встроенных индикаторов.
Рис. 2 Группы подобных стандартных индикаторов
Автор: Stanislav Korotky