Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 1975
- Рейтинг:
- Опубликован:
- 2010.12.27 10:11
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Для тех кто хочет оптимизировать советника по своей формуле используя "Custom max" из функции OnTester() - мой код поможет вам разработать такую формулу.
Для того, чтобы начать разрабатывать свой критерий для оптимизации, вам необходимо получить множество важных показателей торговли и использовать эти показатели как инструменты для создания формулы.
Включив мой файл в код вашего советника вы получите следующие данные:
- Прибыльность;
- Прибыль в валюте;
- Прибыль в пунктах;
- Общая прибыль;
- Общий убыток;
- Кол-во убыточных сделок;
- Кол-во прибыльных сделок;
- Процент прибыли с каждой сделки;
- Процент прибыли в день;
- Максимальная просадка баланса;
- Ширина канала линии баланса в пунктах;
- Разница между максимальным и минимальным градусом наклона канала линии баланса;
- Средняя просадка всех сделок (сумма просадок каждой сделки, деленная на кол-во сделок);
- Устойчивость (Фактор восстановления);
- Среднее кол-во пунктов со сделки.
В отличие от предыдущей версии тут добавлен просмотр таблицы результатов оптимизации со всеми показателями через HTML-файл.
Инструкция:
Скопируйте файл "OptimReport.mqh" в папку Include
Добавьте следующую строку в начало вашего советника
#include <OptimReport.mqh>
OtimReport(1);
Добавьте следующую строку в функцию OnTick():
OtimReport(2);
Добавьте в места подтверждения открытия позиции следующую строку:
OtimReport(3);
Добавить следующие 4 строки в функцию OnTester()
OtimReport(4); Input_Param="input"; // В этой переменной должны быть входные параметры советника. Пример заполнения увидите ниже... if(Crt_HTML) Sort_HTML_Ar(); return(Vigoda);
Пример заполнения переменной Input_Param:
Input_Param="TP_B="+DoubleToString(TP_B,0) +" SL_B="+DoubleToString(SL_B,0) +" GT_B="+DoubleToString(GT_B,0) +" TS_B="+DoubleToString(TS_B,0);
Советы:
Переменная Lot_Risk, это процент используемых средств для торговли (для растущего лота), и берется из вашего советника.
Обратите внимание, что HTML таблица с показателями результатов оптимизации сохраняется по каждому агенту отдельно, и непосредственно на компьютере агента, в папке примерно такого расположения: С:\Program Files (x86)\MetaTrader 5\Tester\Agent-127.0.0.1-3000\MQL5\Files\
Формулы, представленные мною в файле для примера, прошу не принимать за чистую монету, а разработать что-то свое.
Пусть мой файл вам только поможет в этом.
Также убедительная просьба, если найдете какие-то серьезные недочеты в коде или недостающие показатели, то пишите, корректировки обязательно сделаем.
С удовольствием рассмотрю ваши варианты разработанной формулы критерия оптимизации.
PS: На данный момент использую формулу под номером 5

Пример использвания Панели управления мультивалютным режимом "Control panel MCM" для построения мультивалютных индикаторов. В качестве примера выбран мультивалютный индикатор "Индекс доллара".

Перенос истории сделок на график.

Тестерный грааль для режимов "по ценам открытия" и "OHLC на M1".

Индикатор ZigzagColor, рисующий канал.