Перейти к содержанию

[open source] [Советник] MindTheGap v1.17


Рекомендуемые сообщения

[open source] [Советник] MindTheGap v1.17 Опубликовано



так а че там оптить, я уже все заоптил за вас.



По ценам открытия и с низким спредом?
Вот, например, как выглядит AUDJPY на тиках и с реальным спредом.
За последние 4 года - убыток. Явно есть, что оптить.

Сет стандартный?
Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 246
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

MindTheGap Год выпуска: 2015 Валютные пары: Все мажоры Таймфрейм: М5 Версия: 1.17 Описание: Тесты версии 1.17, 2000-2016 год: Мониторинг в Роботесте (v1.17): Я вообще ни разу не обижусь,

Перейти

Движок - универсальная болванка. Содержит различные функции, такие как: - обработка и фильтр спреда, среднего и максимального - различные варианты выставления стопов (6-10 вариантов) - разлиные вариан

Перейти

Тесты версии 1.17, 2000-2016 год: MindTheGap_v1.17.rar

Перейти
[open source] [Советник] MindTheGap v1.17 Опубликовано

В общем потестил на различных котировках, пришел к следующему выводу - советник брокерозависимый. Котировки, в том числе и гэпы у разных брокеров порой сильно различаются, потому такой результат на дукасах. Я оптимизировал под котировки Альпари. В общем не понять без тестов на реале. Ну, мониторинг есть, будем следить.

  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано (изменено)


Я оптимизировал под котировки Альпари.



А что такое "котировки Альпари"? Насколько я понимаю, сегодня котировки можно получить тремя способами
(имеется ввиду длительный период, достаточный для оптимизации):
1. Через tickstory - это котировки Дукаса.
2. Закачать в терминале. Это метаквотовские, не имеющие никакого отношения ни к Альпари, ни к любому другому брокеру.
3. Собирать реальные тики или минутки своего брокера.
Может есть еще какой-то способ, кто знает - просветите.

Так на каких котировках оптимизировалось?

Изменено пользователем ie67
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Я слышал мнение, что в терминале Альпари, в отличие от других брокеров, именно их котировки, а не метаквотовские.
Несколько мнение соответствует истине, предсказывать не берусь.

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано (изменено)

Есть еще как минимум три:
1. Скачать котировки альпари (у них свои собственные, не самого плохого качества)
2. Скачать тиковые котировки еще минимум десятка разных брокеров со своими котировками
3. Склеить нормальные котировки.
Тики от дукаскопи - это модно, не спорю, но они такие же дырявые и кривые, как и все остальные, может немного получше.
Единственный вариант достоверного тестирования - склеить котировки из разных источников, беря за материнские котиры наиболее качественные. Естественно, на тиках сделать такое - успеешь постареть, а вот минутки для 100% качества сделать вполне можно.
Кстати, качество котировок дукаса 97%, при этом там где надо именно этому сову качество как раз самое плохое.
Ах, да, еще можно купить котировки. Но опять же, можно прогадать с качеством.
Короче лучший вариант - делать совы с контролем закрытия бара и тестировать их на своих залатанных 100%ных котирах.


Добавлено: 12-11-2015 04:15:04

И еще. Как терминалом эмулируются тики при качестве тестирования 90%? Да тупо по обьему на минутной свече. Например, обьем 12, в свече М1 будет 12 тиков. Как бот с контролем закрытия М1 свечи все это воспринимает? Да никак! Ему глубоко насрать, что там происходит на ваших хваленых тиках от дукасов. А на что ему не насрать - это на спред и на качество свечей М1. А оно ох как различается у всех. Именно поэтому полезней иметь 100% минутки, чем тики с дукаса. Кстати, боты, работающие по тикам конечно не тестируются по 100% минуткам. Но и тики дукасовские в лучшем случае для таких ботов дадут общую картину, отдаленно напоминающую реальный результат. Единственный вариант для таких ботов - тест на реале. Причем у двух разных брокеров мониторинги могут отличаться настолько, что не скажешь даже, что это один и тот же бот с одинаковыми сетами. Так то вот. А теперь скажите ка, для чего котировки дукаса?
Изменено пользователем Silentspec
  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Не могу понять что произошло.
На демо счете MFX (4 знак) 09.11.2015 сделка закрылась как и положено в +.
А вот решил прогнать тот же день в тестере другого брокера XM (5 знак), почему то закрывается в минус.
Настройки одинаковые.

09112015_+.jpg
09112015_-.jpg

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Это у вас спред там под 30 старых пунктов? @-)
По всей видимости, этот брокер не подходит для данного советника и для ночной торговли вообще

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Обновлён мониторинг: текущий ордер закрыт, поставлена версия 1.17 на 17 пар с сетами от автора.

  • Лайк 5
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано
Silentspec можно в версию 1.17 вернуть отображение панели с выключателем? Как то не комфортно без нее уже :)
А чтобы она не появлялась при тесте, можно ей прописать условие:
if (IsTesting() == false && IsOptimization() == false && IsVisualMode() == false) { UsePanel = true; }
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Верну, просто сейчас над универсальным движком для ботов работаю. как закончу, перекину на новый движок.

  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано


Верну, просто сейчас над универсальным движком для ботов работаю. как закончу, перекину на новый движок.


Можно по подробнее про движок?
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Движок - универсальная болванка.
Содержит различные функции, такие как:
- обработка и фильтр спреда, среднего и максимального
- различные варианты выставления стопов (6-10 вариантов)
- разлиные варианты выставления тейков
- проверка тейков и стопов на правильность установки (стоплевел, фризлевел, нормализация)
- проверка наличия тейков и стопов и их установка, если не были по какой то причине выставлены при открытии сделки
- модуль манименеджмента
- модуль двойного входа (когда происходит доливка единичным уменьшенным ордером х% от просадки начального)
- модуль частичного выхода
- модуль обработки доливки к позиции при прибыльности начальной
- модуль вычисления цены безубытка для ордера или ордеров
- модули тралов (6-10 вариантов)
- модули перевода в безубыток (несколько вариантов)
- модуль запрета торговли при новостях
- модуль защиты от гэпов (запрет торговать в пятницу после определенного часа, принудительное закрытие ордеров после определенного часа)
- модуль контроля расстояния между сделками (в барах, пунктах, минутах)
- модуль отслеживания торговли по другим парам и запрет открывать однонаправленные сделки по схожим парам
- модули комментариев, скриншотов, емэйл, пуш уведомлений
- модуль инфопанели, в новой версии четыре окна - основные данные (как в предыдущих версиях), список открытых сделок по паре и общий с возможностью переключения между ними, панель с расширенной статистикой (лучшие/худшие сделки, разные проценты, коэффициенты, соотношения - все, что можно найти в майэфиксбуке и подобных сайтах, но, так сказать, "не отходя от кассы"), Панель анализа сделок (баровые диаграммы количества прибыльных/убыточных сделок по часам, по дням, месяцам с кнопками переключения между ними, отношения прибыль/убыток, сделки по длительности рассортированные, просто в виде столбиков профит по дням и месяцам и прочее), график баланса счета (возможно и не осилю, пока только на уровне идей). Все панели сворачиваются при нажатии на кнопку на графике.
- модуль фильтра времени торговли
- функция эмуляции тика при старте совы (чтобы не ждать прихода нового тика, например на выходных)
- модуль контроля открытия нового бара задаваемого периода
- модуль генерации уникального мэджика
- модуль принудительного сканирования серверов и перелогина на счет при обрыве связи
- модуль проверки наличия необходимых для работы индикаторов и библиотек (в случае не нахождения убирает советник с графика и загружает страничку в браузере, где можно скачать необходимый файл)
- функция автоустановки нужного для работы советника периода графика и разкраски графика в веселенький цвет, включения свечек вместо баров и т.д. Надоело постоянно щелкать при установке руками.
- модуль подгрузки истории с других периодов, чтобы используемые на более младших или старших тф индикаторы не тупили. Периодичность подгрузки задается в настройках.
- функция автоопределения суффиков и префиков пары для правильного пересчета мм под валюту депозита например и для других функций, использующих название валюты в строковом виде
- функция обработки ошибок при выставлении, закрытии, модификации ордеров
ну и прочие мелкие функции

  • Лайк 24
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Мерлин, вот что ты заладил, опенсорс, опенсорс:) я вообще даже слов таких не знаю:)
а если серьезно, я его месяцев 8-10 по крупицам из нета собирал, бессонными ночами алгоритмы продумывал, напряженными днями кодил и тестил, как считаешь, стоит выложить?

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано


Движок, надеюсь, будет open source? :)


;;)


Верну, просто сейчас над универсальным движком для ботов работаю. как закончу, перекину на новый движок.


Там на очень много месяцев работы, имхо. Это если упереться: сдохну - но сделаю.
А отладка так вообще целая эпопея будет.

Так что подумай насчет все же делать перерывы на подправлять ботов, с которыми уже работают люди.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано (изменено)

Жень, он почти готов, остался какой то месяцок работы. Функции проверяю на лету, но, скорее всего в процессе эксплуатации тоже будут баги всплывать. Сегодня например половину готового меню отлаживал. Закрался один баг, потратил весь день.
Типа вот такая менюшка будет:

Спойлер



Изменено пользователем Silentspec
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано

Подход, имхо, единственно правильный - но создать универсальную вертушку задача нетривиальная и крайне трудоемкая.

И потом надо с полгода оперативно вести, пока отладишь код и будет протестирована существенно большая часть вертушки.

И еще не спеши на вертушку переводить всех ботов сразу - замордуешься одинаковые баги во множестве ботов параллельно править с внесением внеочередных разноплановых ошибок по ходу массовой коррекции.
Лучше на вертушку перевести лишь 2-3 ударных бота и тестить их несколько месяцев.

  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано


график баланса счета (возможно и не осилю, пока только на уровне идей)


_https://www.mql5.com/ru/code/13242
Думаю может пригодиться. Зачем велосипед изобретать :d

Я вот думаю, что этот код еще можно припахать для помощи в оптимизации.
Функция - оптим сова на всем доступном периоде, затем с помощью этого кода делим период на некоторые отрезки(3-6-12 месяцев), определяем, насколько общие параметры DD, PF, RF на всем промежутке отклоняются от тех же параметров на конкретных отрезках, выдаем в OnTester итоговый рейтинг.
Смысл - отсев параметров, при которых какой-то один отрезок дает аномально высокий результат, тогда как на остальных сов болтается как сосиска :)
На выходе с самым высоким рейтингом получаем максимально стабильное эквити, которое вообще можно добиться от данного сова.

Если это скрестить с модулем виртуальных сделок (когда сов не в курсе, виртуально он торгует или реально, виртуальные сделки разумеется в памяти фиксируются) и для них определять аналогичные параметры, то можно автоматизировать и бэк и форвард тесты. Допустим 2000-2004 бэктест, торгуем виртуально, 2004-2012 период оптимизации, торгуем реально (в тестере), далее форвард - опять виртуально. Результат оцениваем по алгоритму выше.
Если это сделать, то значительно сократятся физические усилия человека на оптимизацию.

Помнится году так в 2005 у меня был модуль виртуальных сделок и в принципе на нем можно было создать автооптимизируемого советника в стиле "поставил и забыл" (для тех, которые не выдают стабильных результатов на всей истории, однако с этим модулем у них было все очень даже ок), но потом был довольно долгий перерыв от форекса, и он к сожалению не сохранился...


- функция автоопределения суффиков и префиков пары для правильного пересчета мм под валюту депозита


Для целей расчета риска на сделку с учетом валюты депозита и торгуемой пары также принято изобретать велосипеды.
Почему-то практически ни в одном боте я не встречал правильного расчета риска на сделку в процентах от депозита без допущений и костылей.

Когда я озадачился этим вопросом, я исходил из того, что терминал как-то умеет считать, сколько мы потеряем в деньгах, он это отображает, если тащить стоп. По логике вещей, функция такая должна быть в MQL, причем выдавать это значение без лишних телодвижений с нашей стороны.

Ушло на это как сейчас помню часа два, но функцию я такую нашел. Если вызвать функцию MarketInfo с параметров MODE_TICKVALUE для торгуемой валютной пары, мы получим "Размер минимального изменения цены инструмента в валюте депозита".
Проще говоря, если мы откроем сделку 1 лот, то при движении валютной пары на 1 пункт наш депозит изменится на величину, которую нам выдаст эта функция.
При этом не важно, в какой валюте у нас депозит, какую пару (индекс, CFD) мы торгуем, сколько у нее знаков после запятой.

Вот пример функции расчета лота при заданном риске на сделку и известном SL.
Спойлер

double Lots(double RiskPercent, double SL, double OpenPrice=0)
{
double Lot;
long Ticks;
double OpenPrice2;
if(OpenPrice==0)
{
if(SL else {OpenPrice=Ask; OpenPrice2=Bid;}
}
else
{
OpenPrice2=OpenPrice;
}
if(SL else if(SL>OpenPrice) Ticks=NormalizeDouble((SL-OpenPrice2)/Point,0); //Количество пунктов движения цены
else return 0;
if(Ticks==0)return 0;
double TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);//Стоимость 1 пункта в валюте депозита при сделке в 1 лот
double RiskDepo=AccountBalance()*RiskPercent/100;//сумма в валюте депозита, которую мы готовы потерять с учетом заданного риска
Lot=RiskDepo/(Ticks*TickValue);//Искомый лот
double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
double MaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
Lot-=0.01;
if(Lot if(Lot>MaxLot)Lot=MaxLot;//а вдруг :)
return NormalizeDouble(Lot,2);
}



Как видно, там явно не требуется определение префиксов/суффиксов для этих целей :)

Строго говоря там тоже есть что доработать, но небольшой погрешностью можно пренебречь. По крайней мере там погрешность не 30% как при расчете на кроссах чем-то популярным вида lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,2);
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано


Движок, надеюсь, будет open source? :)


Поддерживаю. Все не обязательно открывать главное база. Сам open source только помогает развиваться программистам.
Я надеюсь что и мой код когда-нибудь кому-нибудь пригодится.
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MindTheGap v1.17 Опубликовано


Мерлин, вот что ты заладил, опенсорс, опенсорс:) я вообще даже слов таких не знаю:)
а если серьезно, я его месяцев 8-10 по крупицам из нета собирал, бессонными ночами алгоритмы продумывал, напряженными днями кодил и тестил, как считаешь, стоит выложить?




Ну, тут возможны разные варианты. Например, предпоследняя версия выкладывается опенсорс, а последняя закрытая и только в своих коммерческих советниках. Чтобы и плюсы коллективного допиливания кода поиметь, и коммерческую выгоду не упустить:)
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...