Прогонял в тестере систему1 и систему2 по отдельности. Получил прибыль $161.91 и $137.86 соответственно.
Затем прогнал систему3 (объединены вышеназванные две системы). Получил прибыль $299.76
Постоянно получается при различных входных параметрах систем разница в один цент: $161.91 + $137.86 = $299.77
Ну, - один цент, - это ещё по божески! У меня вот в аналогичной ситуации (эксперт работает по ценам открытия) получается при обьединении расхождение в 10%, разумеется, - в худшую сторону....
Да, дело в округлении-нормализации. Свопы не при чем только. Система3 = Система1 + Система2 абсолютно точно по всем сделкам. И прибыли совпадают по каждой сделке. Но суммарно куда-то пропадает-появляется этот цент.
Теоретически может быть так:
1-ая система с результатом aaa.004 округляется до aaa.00
2-ая система с результатом bbb.003 округляется до bbb.00
Их сумма с результатом aaa.004 + bbb.003 = ccc.007 округляется до ccc.01
Теоретически такой вариант вполне может быть. Но в данном случае не подходит.
Почему не подходит? Аргументируйте, пожалуйста. Свопы накапливаются?
// Подсчет текущей общей прибыли double ProfitExact() { static double pe_Profit = 0; static double pe_Balance = 0; double pe_Temp; if (pe_Balance == 0) pe_Balance = AccountBalance(); if (NormalizeDouble(pe_Balance - AccountBalance(), 2) != 0) { pe_Temp = NormalizeDouble(AccountBalance() - pe_Balance, 2); // Print("Temp = " + DoubleToStr(pe_Temp, 2)); pe_Profit = NormalizeDouble(pe_Profit + pe_Temp, 2); pe_Balance = AccountBalance(); } return(pe_Profit); } int deinit() { Print("Profit = " + DoubleToStr(ProfitExact(), 2)); // ... тело советника ... } int start() { ProfitExact(); // ... тело советника ... }
Билд 211 от 27-го февраля.
Таким верным способом подсчитанная общая прибыль отличается в большом количестве случаев от значения общей прибыли в отчете тестера.
У меня отличия в 1-2 цента. Тестировал USDJPY на всех тиках M1 постоянным лотом 0.1
Хорошее замечание... Но данное расхождение присутствует на долларовом депозите с торговлей только на мажоре USDJPY.
Да в том то и дело, что это касается как раз всех кросс-курсов. Ведь у них нет четкой стоимости пункта, если мы отталкиваемся от доллара. Впервые я это заметил на GBPJPY. Долго разбирался в этом "глюке" тестера, пока наконец не дошло, что тестер не может смоделировать стоимость пункта в разные временные периоды, а берет последнее известное. Точно также обстоит дело со свопами. Поэтому, тестируя системы,
нужно учитывать эти моменты.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Прогонял в тестере систему1 и систему2 по отдельности. Получил прибыль $161.91 и $137.86 соответственно.
Затем прогнал систему3 (объединены вышеназванные две системы). Получил прибыль $299.76
Постоянно получается при различных входных параметрах систем разница в один цент: $161.91 + $137.86 = $299.77