Вместо ма1 и ма2 вводите другую переменную оптимизации, из которой вычисляете нужные вам ма1 и ма2.
У меня примерно так генетика в Омеге устроена.
В самой Омеге есть только один параметр оптимизации - Generation,
который меняется от 1 до заданного числа (1000 к примеру).
Фактически он играет роль переменной цикла и считает прогоны системы.
А сами параметры вычисляются в модуле Генетического Оптимизатора.
Вместо ма1 и ма2 вводите другую переменную оптимизации, из которой вычисляете нужные вам ма1 и ма2.
У меня примерно так генетика в Омеге устроена.
В самой Омеге есть только один параметр оптимизации - Generation,
который меняется от 1 до заданного числа (1000 к примеру).
Фактически он играет роль переменной цикла и считает прогоны системы.
А сами параметры вычисляются в модуле Генетического Оптимизатора.
Да, никто не мешает сделать одну переменную цикла, и из нее считать, но...
Но чем больше таких переменных, тем сложнее становится эксперт. Кроме того, усложняется и его интерпретация - по одной переменной надо (когда вы просматриваете результат оптимизации) на лету рассчитывать МА1 и МА2 (а также buy level, sell level, stop loss, take profit, trailing stop...).
for(int i = 0; i < nNumberOfCurrencies; i++) { for(int j = 0; j < nNumberOfTimeFrames; j++) { Test(arrCurrency[i], arrTimeFtame[j]...
Ну, а если серьезно, то ведь и правда, почему бы не протестировать несколько конфигураций, чтобы потом не задавать себе вопрос "а может он на EURCHF лучше себя покажет".
Также, неплохо бы функции Test возвращать значения (те же, что мы бы увидели в соответствующей строке таблицы оптимизации, если трудно вернуть массив, то хоть в виде текстовой строки).
А еще :) можно сделать возможность для каждого нового теста или оптимайза поставить галочку "открыть в новом окне" - чтобы потом было можно сравнивать визуально.
А еще :)) хорошо бы сделать интерактивный режим рисования графика прибыли. То есть, я двигаю ползунок выбора по таблице результатов оптимизации, и в приталенном сверху (сбоку) окошке рисуется график. Чтобы тысячу раз не нажимать Set input parameters - Start - Graph.
Ну вот, план на год работы готов :)
----
Если вы считаете, что готовы торговать на Форексе, то пройти этот тест вам и вовсе не составит труда (http://www.gatchina.ru/homepage/tapakah/iqtest.htm)
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Пусть, например, мне нужно протестировать систему с двумя МА. В нынешнем тестере, если МА заключено между 3 и 365, то всего будет (365-3)*(365-3) циклов. Это много, и, главное, ненужно. Если в начале диапазона значений МА мне нужно каждое значение (3, 4, 5...), то в конце мне вполне хватит шага в 10 (300, 310, 320...) - просто в силу того, что изменение МА равного 300 на единицу не приведет к заметным изменениям в результатах.
В предлагаемом режиме тестирования, мы пишем скрипт, примерно такого вида:
Этот простой подход сократит тестирование на порядок даже в этом, простом, случае.
Я понимаю, что данынй подход плохо уживается с компилируемым кодом. Но он возможен и, мне кажется, востребован.
С уважением,
Кварк