Еще одно пожелание

 
В дополнение к введению в Expert propetties / Optimization максимальной величины абсолютной просадки, хорошо бы туда же ввести минимальное количество сделок.
 
Вопросы - пожелания.
Что такое "минимальный баланс" в диалоге "оптимизация" - КОНЕЧНЫЙ бананс, или промежуточный?
При тестировании я хочу отсеять сочетания параметров, при которых прибыль - КОНЕЧНАЯ прибыль - меньше заданного уровня. Я полагал, что это делается с помощью "минимальный баланс". Но если "минимальный баланс" - это начальный баланс минус просадка - то он, по-моему, бесполезен. Если, конечно, максимальную абсолютную просадку Вы введете в список параметров.

Далее, всегда ли системы, не удовлетворяющие критерию "минимальный баланс" исключаются из "графика оптимизации"? И из "результаты оптимизации"? Опять же, мне как тестеру было бы удобнее, если бы (при постановке соответствующей галочки) они исчезали, и не мешали бы анализу.

Также хорошо бы, чтобы эта галочка работала после окончания оптимизации - вкл/выкл, и соответствующие строки появляются.

С уважением,
Кварк
 
И еще одно :)

Допустим, я оптимизирую эксперт, основанный на пересечении двух МА. Тогда было бы неплохо в установках тестера задавать, что МА1 меньше МА2. То есть, задаю, что МА1 и МА2 меняются от 7 до 24, например. При МА2 равном 10, МА1 будет 7,8,9, но никак не 10 - в силу этого ограничения. Это примерно удвоит скорость тестирования (на этом примере).

Альтернативно, конечно, я могу сделать в коде if(ma1 >= ma2) return(-1), но во-первых, не совсем ясно, где ставить этот код (в init или start), и во-вторых, что возвращать (0 или 1). Также, результат (профит 0) включается в список, мешая последующему анализу.

И еще одно :)
Если будете делать доп. колонки в результатах оптимизации для прибыли и просадок только по buy и sell, то неплохо бы сделать там сортировку внутри сортировки (то есть, по трем колонкам). Скажем, я хочу найти сочетание параметров, для которых и buy only и sell only прибыльны и без больших просадок.

И еще одно :)
Хорошо бы не один график баланса, а три линии, разными цветами - buy, sell, buy+sell
 
Альтернативно, конечно, я могу сделать в коде if(ma1 >= ma2) return(-1), но во-первых, не совсем ясно, где ставить этот код (в init или start), и во-вторых, что возвращать (0 или 1). Также, результат (профит 0) включается в список, мешая последующему анализу.

Наверное в start.

Но вообще кроссовер на мувингах есть смысл тестировать и при ma1 > ma2, и при ma1 < ma2.
В первом случае будут получаться трендовые системы, во втором контртрендовые.

В тестере не хватает более важных вещей.
Например я не нашел возможности поменять/выбрать критерий оптимизации.
NetProfit один из худших вариантов, он обычно приводит к подгонке (CurveFitting).
 
Я присоединюсь к пожеланиям по тестеру:
1 Пауза в тестировании и особенно - в оптимизации
2 Выбор порядка оптимизируемых переменных (для наглядности результатов)
3 Промежуточное сохранение результатов, автосохранение через n времени (чтоб можно было закрыть МТ и перезагрузить комп, экономия времени при (например) отключении электричества)
4 В отчёте оптимизации - столбик с перечислением оптимизируемых (только!) значений (без имён) через точку с запятой

типа все пока...
 

Например я не нашел возможности поменять/выбрать критерий оптимизации.
NetProfit один из худших вариантов, он обычно приводит к подгонке (CurveFitting).

Это какое то недоразумение :) Там нет оптимизации. Оптимизация которая там есть сводится к тому, что при каких то условиях просто заканчивается обсчет истории для очередной совокупности параметров. Это вовсе не оптимизация параметров.
 

2 Выбор порядка оптимизируемых переменных (для наглядности результатов)


Мне кажется, порядок можно задать порядком декларирования в эксперте.
 

2 Выбор порядка оптимизируемых переменных (для наглядности результатов)


Мне кажется, порядок можно задать порядком декларирования в эксперте.


да, только _обратным_ порядком. т.е. последние переменные перебираются как самые значИмые, т.е. образуют "крупные волны"
например, у меня стоИт variant = от 1 до 3 - вариант индикатора для сигнала, а потом стоИт трейлингстоп от 50 до 100. Так перебор идёт следующим образом: берётся трейлинг 50 и с ним тестится 3 варианта индюка =) и т.д.


и то - это я не проверял - только случайные наблюдения...
 
Как _я_ вижу "выбор порядка оптимизируемых переменных":
1 всё в стартовом положении
2 берём _последнюю_ переменную и перебираем её варианты
3 берём предпоследнюю пременную изменяем на "шаг", и выполняем п.2
4 опять меняем предпоследнюю переменную на "шаг" и перебираем последнюю
и т.д.



Я думаю, 90% людей, которым поставят задачу перебрать все комбинации сочетания нескольких чисел (например, 3 числа, каждое из которых может принимать значение от 0 до 9) решат её так:
000
001
002
003
.....
009
010
011
012
013
014
.....
019
020


и т.д.


это добавило бы наглядности графику оптимизации - выставил переменные в порядке значимости, и смотришь (пример из моего предыдущего поста): первая треть графика - это один индикатор, 2-я - другой, 3-я - третий. А эти трети, в свою очередь, поделены ещё на что-то (например, трейлинг - 5 значений с изменением в 10 пунктов).
Сразу будет видно - какие переменные дают какие результаты..
Причина обращения: