Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проблема в том, что цель задачи предельна ясна, но смутно представляется возможность его реализации на языке MQL, так как с функцией встроенного массива тестера-оптимизатора я пока не знаком. Сейчас пытаюсь перечитать юзырсмануал на MQL, но пока не нахожу этого блока. А вот самопальный оптимизатор от thecore не то что бы не вселяет доверия, просто немного не понятен. Там переменные как то помороченно постоенны, анотации нет и в корне расходятся в работоспособной версией из ранее предложенной ссылки. Если не сложно, уважаемый thecore, поясни свою точку зрения оптимизатора, тока так, что бы можно было впихнуть все 19 параметров и автозамену результатом.
Мне странно это слышать от программиста, но постараюсь разложить по полочкам (не разжевать):
1. Предположим у Вас есть некая функция с N количеством входных параметров
Function(n1,n2,..,n19);
2.Параметры
n1 изменяется от n1Min до n1Max с шагом n1Step
....
n19 изменяется от n19Min до n19Max с шагом n19Step
Вам нужно:
- Перебрать все (для линейного способа) входящие параметры или не все (для способа быстрого схождения) входящие параметры.
Способов быстрого схождения существует великое множество, один из которых генетический алгоритм.
- Каждый раз, подавая на вход новую партию параметров, вы на выходе функции получаете результат ее выполнения.
- Вам нужно написать блок анализа этих результатов, который будет принимать решение о том, насколько этот результат
хорош.
Я так понимаю, у Вас вызывает затруднение блок анализа. Потому, что если Вы не знаете, как написать функцию или как
перебрать входящие параметры, то это не ко мне, а на какие-нибудь курсы программирования или к любителям разжевывать
основы программирования.
Что делает блок анализа:
1.Он берет самый старый бар BAR_Y, которые, вы хотите анализировать, и подсовывает текущие на момент Y данные в вашу
функцию. Т.е. ваша функция думает, что BAR_Y - это TimeCurrent.
2.Теперь берем столько баров в глубину истории, сколько брала бы Ваша Function(n1,n2,..,n19) если бы она была на баре 0.
и получаем какой то результат.
Например, Ваша стратегия ищет по iMA3,iMA2,iMA1 экстремум. Тогда мы имеем iMA_Y+2,iMA_Y+1,iMA_Y
Если это точка экстремума - останавливаемся, если нет делаем Y++;
OK. Мы нашли точку экстремума в месте t, т.е. iMAt+2,iMAt+1,iMAt
3.Теперь нам нужно вычислить, что сработает TP или SL
Т.е. от точки t делаем шаг в сторону уменьшения баров t-1 и анализируем расстояние от Open[t] до High[t] и до Low[t],
а потом от Open[t] до High[t-1] и до Low[t-1], если не наступили TP или SL идем дальше - берем t-2 и так пока не сработает
TP или SL или вместе.
Это мы нашли ПЕРВОЕ условие для Function(n1,n2,..,n19).
Сохраняем результат,
Дальше делаем t-- и проделываем операцию анализа до бара 0.
4.Сдвигаем Y-- и повторяем процесс.
Таким образом, мы находим все срабатывания нашей функции Function(n1,n2,..,n19) до текущего момента.
5.Анализируем текущим момент и смотрим, были ли подобные ситуации в прошлом и чем они закончились.
6.Сохраняем результат.
7.Берем следующий набор параметров n1,,n19 для Function(n1,n2,..,n19) и проверяем его
8.так повторяем до тех пор, пока не закончатся параметры.
9.Выбираем наилучший набор параметров или несколько наборов и в соответствии с их рекомендацией выставляем BUY, SELL или
ничего не делаем.
Вот и все.
Надеюсь, получилось сложно, потому, что это ДЕЙСТВИТЕЛЬНО сложно.
Проблема в том, что цель задачи предельна ясна, но смутно представляется возможность его реализации на языке MQL, так как с функцией встроенного массива тестера-оптимизатора я пока не знаком. Сейчас пытаюсь перечитать юзырсмануал на MQL, но пока не нахожу этого блока. А вот самопальный оптимизатор от thecore не то что бы не вселяет доверия, просто немного не понятен. Там переменные как то помороченно постоенны, анотации нет и в корне расходятся в работоспособной версией из ранее предложенной ссылки. Если не сложно, уважаемый thecore, поясни свою точку зрения оптимизатора, тока так, что бы можно было впихнуть все 19 параметров и автозамену результатом.
Кстати, не начинайте с блока перебора значений - его написать значительно проще, чем анализатор.
И, если все мной изложенное покажется Вам слишком сложным поищите авто оптимизатор от xeon.
Он использует оптимизатор MetaTrader-а. Не ищите встроенной функции автооптимизации. Ее нет.
Вот здесь есть индикатор klot'a с ГА оптимизатором встроеным в индикатор.
Я думаю до генетического анализа Hoper23 не дойдет не зависмо от того битая ссылка или нет.
Тем более, что она не битая.
thecore==>по вашему рассуждению, так же как и по моему, получается for(S = Sstart; S <= Send; S += Sstep), ну, в общих чертах. Вот что у меня получилось
Дальше стопор - не знаю как зафиксировать положительный результат и подставить автоматом в переменную.Ыыыыы..... "Ссылка, по которой вы попали на эту страницу является «мертвой» или удаленной." Ништяк направление!!! Чем то похоже на направление - иди на х...й. (без обид, так, в прикол)
Вот она благодарность), мне за ссылку, klot'y за фактически готовое решение на блюде), там тебе и тестер и оптимизатор, только немного подправь под свои нужды... И все открывается.
Отвечаю не открывается!!!
thecore==>по вашему рассуждению, так же как и по моему, получается for(S = Sstart; S <= Send; S += Sstep), ну, в общих чертах. Вот что у меня получилось
1.Не пытайтесь решить задачу в лоб.
Зачем Вам сохранять ВСЕ варианты всех возможных решений.
Вы же не математическую задачу решаете. Вы ищете на истории ситуацию подобную той, которая у Вас
сегодня и сейчас сложилась, чтобы принять решение, что делать.
Поэтому, сначала опишите текущую ситуацию и ищите конкретно ее.
Это сократит количество проходов, переменных и результатов в РАЗЫ.
Дальше стопор - не знаю как зафиксировать положительный результат и подставить автоматом в переменную.
На первом этапе я сохранял в файл. Получалось на истории порядка 10,000-50,000 выигрышных вариантов.
потом анализировал в Excel.
2.Не ищите точное совпадение. Мы же не синусоиду описываем.3.Напишите сначала блок сбора данных для ОДНОЙ переменной, отладьте, а потом добавите еще 18 или сколько там их у Вас.
Хорошо. Идея логическая. Ну а как тогда решить формулу оптимизации по комбинациям при одном параметре??? Вся фишка в том, что в данном примере они взаимосвязаны. А другого примера я пока не знаю в силу своей ограниченности в языке MQL.
Вот эта гадость призвана оптимизировать в автономном режиме
К ней идет библа
бла-бла-бла
А к ней еще библа
И НИХРЕНА ОНА НЕ РОБИТ...точнее что то сумбурное сама с собой мутит, чета проц напрягает, но никаких изменений в переменных и что то шустро все делает - пара секунд и все. НЕ пойму.Вот эта гадость призвана оптимизировать в автономном режиме
К ней идет библа
А к ней еще библа
И НИХРЕНА ОНА НЕ РОБИТ...точнее что то сумбурное сама с собой мутит, чета проц напрягает, но никаких изменений в переменных и что то шустро все делает - пара секунд и все. НЕ пойму.Вы начали работать с автооптимизатором от xeon
TestCommander (autooptimization) Инструмент трейдера
так у него и спрашивайте.
Кстати, этот продукт уже платный, если я правильно помню.
В нем есть help, там все доходчиво объясняется.