Некоторые признаки правильных ТС - страница 37

 
fxsaber #:

Вопросов по алгоритмам нормализации нет.

Представим, что есть два символа с digits = 5. Один меняется в день на 0.1%, другой - 5%. Выходит, что второй нужно в 20 раз уменьшать, чтобы подогнать к первому.

Для этого пришлось вычислить размер волатильности, а не во сколько цена одного символа отличается от цены другого.

Смотря зачем сравнивать. Не всегда нужна нормализация к одинаковым диапазонам. Да и сравнивать можно просто процентные изменения переменных без нормализации.

 
fxsaber #:

Вопросов по алгоритмам нормализации нет.

Представим, что есть два символа с digits = 5. Один меняется в день на 0.1%, другой - 5%. Выходит, что второй нужно в 20 раз уменьшать, чтобы подогнать к первому.

Для этого пришлось вычислить размер волатильности, а не во сколько цена одного символа отличается от цены другого.

Можно решить методами оптимизации.

Переменные - количество или доля капитала для каждого символа.

Целевая - максимизация прибыли или минимизация дисперсии кривой баланса или....

Ограничения

Даже в Экселе можно решить - настройка Поиск решения

 
fxsaber:

Рыночные закономерности не меняются в случаях

  • Умножение цен символа на ненулевую константу.
  • Переворот символа (1/Symbol)

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


Например, взяли EURUSD. Прогнали ТС, получив ряд входов.

Затем создали символ 100/EURUSD. Прогнали ТС. Входы должны совпадать с оригинальными.


Если такого не происходит (99%), ТС написана неправильно.


Как ТС должна реагировать на символы, возведенные в какую-то степень, - не сообразил.

Добавлю отсебятину )))

Вход при условии если  Bid >= Ask 

 
Очень много встречается подобных вычислений (на примере маркапа).
// Вычисление маркапа цен.
Tick.ask *= 1 + Markup;
Tick.bid *= 1 - Markup;


В контексте ветки это неправильно. Нужно так.

// Вычисление маркапа цен.
Tick.ask *= 1 + Markup;
Tick.bid /= 1 + Markup;