Jake Green

Пользователь*
  • Публикаций

    90
  • Зарегистрирован

  • Посещение

Репутация

41 Безупречно

Информация о Jake Green

  • Звание
    Новичок

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Попалась на мои глаза эта стратегия. Использует два кастомных индикатора для совместного сигнала. Сигнал на покупку: - синяя линия индикатора maf1 пересекает уровень 0 снизу вверх. - у индикатора maf2 должны пересечься синяя и красные линии, и сделать это под уровнем 0 - при этом гистограмма индикатора maf2 должна находится выше 0 (т.е. быть окрашенной в синий цвет). Сигнал на продажу: - розовая линия индикатора maf1 пересекает уровень 0 снизу вверх. - у индикатора maf2 должны пересечься синяя и красные линии, и сделать это над уровнем 0 - при этом гистограмма индикатора maf2 должна находится ниже 0 (т.е. быть окрашенной в красный цвет). Ведение ордера: - закрытие по обратному сигналу. - фиксированный ТП и СЛ - без убытока Автор предлагает торговать на GBPUSD H1, однако хороших результатов стратегия к сожалению не дала ( Но проверить конечно стоило. Если у вас идеи по доработке этой стратегии, готов выслушать. MAFI EA v1.00.mq4 maf_1.mq4 maf_2.mq4
  2. Подкосила меня простуда, совсем не до форекса было ) Держите, реализовал. Все настройки на русском языке. Если при тестировании получите хорошие результаты, буду рад если поделитесь ) Double CCI v1.00.mq4
  3. проверка связи стоит отдельно от уведомлений и ее настроить пользователю нельзя. должен предупреждать раньше, проверю.
  4. 1) чтобы открывался лотом 0.01 ставьте опцию lotdecimal равной 2 2) с меджиком не должно быть проблем, реализовано все нормально. Покажите скриншот и прикрепите файл настроек с которыми он у вас открылся слишком близко?
  5. Написал несложный индикатор профиля объема для МТ4. Выкладываю на ваш суд. Так как в МТ4 тиковой истории нет, индикатор самостоятельно сохраняет тики в файлы и использует в дальнейшем. По этому при первом запуске он вам ничего не покажет пока не пойдут тики. О настройках: 1) в первых двух настройках вы устанавливаете временные рамки за которые вы хотите проанализировать профиль. Но это только первичная установка, в дальнейшем вы можете менять эти рамки прямо на графике перемещая вертикальные линии. 2) размер полос профиля - какому количеству пунктов будет соответствовать каждая полоса профиля. Грубо говоря разрешающая способность. 3) ширина профиля (пиксели). индикатор рисует профиль в правой стороне экрана. тут вы задаете какое пространство займут линии. 4) настройки цвета полос. цвет зависит от преобладания покупателей и продавцов в определенной ценовой зоне 5) настройки подписей количества тиков в каждой полосе. 6) коррекция размера шрифта. В случае если у вас windows 8.Х+ и увеличенные шрифты, поставьте в этой настройке тот размер который вы установили в системе. Например если в системе шрифты увеличены на 175%, поставьте 175. Индикатор скорректирует размеры объектов для корректного отображения у вас. В дальнейшем планирую сделать возможность отображать несколько ренжей, по дням или по временным рамкам. И возможность конвертации тиковой истории крупных брокеров чтобы ее смог читать этот индикатор. Буду рад вашим предложениям. Volume Profile 1.0.ex4
  6. а какое имя пользователя у вас в телеграмме?
  7. Тестер сейчас учитывает своп, в том числе тройной. Комиссию не считает, но ее можно добавтиь в ручную, так как она зависит от объема или сразу заложить ее в спред увеличив последний.
  8. Есть такой момент. MQ (метаквоты) не заинтересованы в дальнейшем развитии MT4 и уже более 10 лет пытаются пропихнуть свой МТ5, думаю по этому с историей на своих серверах они тоже не занимаются. Все усложняется еще тем что и болшинство брокеров не дают скачать с их серверов адекватную историю. Выходит один нормальный способ - брать котировки у поставщиков ликвидности и загружать в МТ4. Например DucasCopy. Я пользуюсь утилитой QuantDataManager которая позволяет скачивать нужные котировки и экспортирует их в формате читаемом терминалом МТ4.
  9. Забыл перезапустить после своих экспериментов ) Сделал отдельного бота: @icefx_info_bot, пользуйтесь им. Тот останется эксперементальным для меня.
  10. Тестер МТ4 весьма ограничен по функционалу, поэтому иногда что-то приходится доделывать напильником. Бывает так, что хорошие по мнению тестера варианты оказываются ерундой, где 90% сделок убыточны, и только несколько сделок дают хороший профит. При этом они распределены не равномерно, а где-то с краю теста. График же у хорошей системы должен иметь наклон вверх и быть более-менее равномерен. Но как заставить тестер выбирать именно такие варианты? Благо, у нас есть возможность оптимизировать по критерию "Custom", а сам критерий прописывать в коде с помощью функции OnTester(). Вставьте этот код в начало или конец вашего советника: enum OPTCVAR { OPTCVAR0=0, // Сделки+ПФ+Профит+ДД OPTCVAR1=1, // Сделки+ПФ+Профит+СтД OPTCVAR2=2, // Сделки+ПФ+Профит+М+СтД OPTCVAR3=3, // Сделки+ПФ+Профит+М+СтД+ДД }; input OPTCVAR OptCriteria = 0; double OnTester() { double ret=0.0; if (TesterStatistics(STAT_BALANCE_DD)>0) { if(OptCriteria==0) ret=TesterStatistics(STAT_TRADES)*TesterStatistics(STAT_PROFIT_FACTOR)*TesterStatistics(STAT_PROFIT)/TesterStatistics(STAT_BALANCE_DD); if(OptCriteria==1) ret=(MathPow(TesterStatistics(STAT_TRADES),2)*MathPow(TesterStatistics(STAT_PROFIT_FACTOR),3)*TesterStatistics(STAT_PROFIT)/CountStdDev())/100000; if(OptCriteria==2) ret=(MathPow(TesterStatistics(STAT_TRADES),2)*MathPow(TesterStatistics(STAT_PROFIT_FACTOR),3)*TesterStatistics(STAT_PROFIT)*MathAbs(TesterStatistics(STAT_EXPECTED_PAYOFF))/CountStdDev())/100000; if(OptCriteria==3) ret=(MathPow(TesterStatistics(STAT_TRADES),2)*MathPow(TesterStatistics(STAT_PROFIT_FACTOR),3)*TesterStatistics(STAT_PROFIT)*MathAbs(TesterStatistics(STAT_EXPECTED_PAYOFF))/(CountStdDev()*TesterStatistics(STAT_BALANCE_DD)))/1000; } return(ret); } double CountStdDev() { if (TesterStatistics(STAT_TRADES) == 0) return(0.0); double StdDev = 0; for(int pos = 0; pos < TesterStatistics(STAT_TRADES); pos++) { if (OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) { StdDev = StdDev + MathPow((OrderProfit()+OrderCommission()+OrderSwap()-TesterStatistics(STAT_EXPECTED_PAYOFF)),2); } } StdDev = MathSqrt(StdDev/TesterStatistics(STAT_TRADES)); return(StdDev); } У вас появится новая настройка "OptCriteria" во входных параметрах советника. Попросту говоря, советник сам оценивает результат торговли по окончанию прогона и сообщает свою расчетную оценку терминалу. А терминал уже на основе этой оценки понимает, какой прогон был лучше. Примечание: данный код не мой, но решение весьма удачное. Также стоит учитывать еще и время оптимизации. Код не должен быть избыточным, а оптимизацию лучше делать "По ценам открытия" для экономии времени. Убедитесь, что результаты вашего советника не очень отличаются в режимах "По ценам открытия" и "Все тики". Для этого сделайте тест, допустим, за год на стандартных настройках в этих двух режимах и сравните результаты. Сильного отличия быть не должно. Если отличия значительны, то ваш советник не имеет смысла оптимизировать "по ценам открытия". Итак, вы провели оптимизацию по выбранным параметрам и получили множество результатов: Но что же с этим делать? Ставить советник с лучшими настройками? Почти всегда это гарантирует убытки, потому что вы просто подогнали параметры к данному промежутку времени. Как убедиться, что этого не произошло? Вот тут нам и нужен бэк и форвард тесты. Мы прогоняем полученные результаты по периоду больше, чем тот, на котором оптимизировались, и обращаем внимание на хвосты. Допустим, сейчас 31 октября. Мы делаем оптимизацию за 8 месяцев, и условились, что соотношение отрезков тестирования будет 1:4:1. Получаем: - бэктест: 01.11.2018 - 31.12.2019 (2 месяца); - период оптимизации: 01.01.2019 - 31.08.2019 (8 месяцев); - форвард: 01.09.2019 - 31.10.2019 (2 месяца). Теперь в основном окне тестера меняем период: начало - на 01.11.2018, окончание - на 31.10.2019. Сортируем таблицу результатов тестирования по колонке "Результат OnTester". Если кликнуть дважды на какую-либо строчку, тестер установит параметры этого прогона в настройки советника и перебросит нас на свою основную страницу, где останется нажать "Старт". Таким образом мы проверяем самые лучшие результаты оптимизации и находим те, которые не являются "подгонкой" под историю. Начало и окончание теста на кривой баланса не должно значительно отличаться от середины тестирования. В идеале нужно получить примерно равную наклонную линию за весь период. Вы можете использовать любое другое соотношение от 1:2:1 до 1:5:1 и любые другие периоды в месяцах. Но учитывайте, что количество ордеров на периоде оптимизации не должно быть меньше 50. Подобрав нужное соотношение и периоды, подходящие вашей системе, вы можете провести тесты вашего метода оптимизации в прошлом и посмотреть на его актуальность. Откатитесь на год или два назад и проводите оптимизацию с последующей проверкой в будущем. Например, сделаем оптимизацию на периоде 01.01.2018 - 31.08.2018. Выберем настройки с помощью бектеста и форвардтеста за период 01.11.2017 - 31.10.2018. А теперь проверим результаты в будущие 2 месяца: 01.11.2018 - 31.01.2019. Это уже реальные цифры, которые вы можете получить на своем счете. Если они вас устраивают, смещайтесь вперед на 1-2 месяца и проводите такие же тесты. Убедитесь, что ваш метод оптимизации подходит под эту стратегию. Если результаты вам не нравятся, возможно стоит подобрать другой период оптимизации и соотношение периодов. Или отказаться от стратегии ввиду ее убыточности. P.S. Да, оптимизация - это долгий и кропотливый труд.
  11. нельзя никак. нет такого функционала ни у терминала, ни у языка mql.
  12. Написал бота для информирования о сосотоянии счета. Пока работает в тестовом режиме. Пользоваться просто, находите его в телеграмме: @icefx_info_bot, в разделе инструкция исчерпывающая информация как настроить. Кратко: качаете советник по его ссылке, ставите на отдельный график, в настройках указываете свой ник в телеграме (@NICK). Можно настроить информирование по времени, или по заданной просадке. Так же можно включили или выключить автоторговлю на вашем счете из телеграма.
  13. Далее хочу провести тесты: - с разным диапазаном мин/макс коробок. - возврат цены после пробоя коробки в середину формации, с последующим первоначальным движением. - то что предложил Klod. - различные варианты фильтрации коробок. возможно какие то варианты трендов и взаимных положений коробок нескольких дней. ну и конечно тесты провести на основных валютных парах а не только EURUSD.
  14. Далее начинаем фильтровать. Самый очевидный фильтр - размер коробки. Разные диапазоны увеличивают время на проход скрипта в десятки раз. Для начала попробуем фиксированные значения: минимальный размер коробки 200 пунктов максимальный размер коробки 400 пунктов. А вот это уже интересней. Напомню, нам интересно отклонение шансов от расчетных. Обратите внимание, если коробки при которых шанс 47% прохождения 1.5 размера коробки после пробоя. Давайте отсортируем столбцы и посмотрим что это за коробки. 1) по большему проценту, на пробой: бросаются в галаза 2 типа коробок: а) относительно короткие коробки длинной в 2-3 часа переходящие через полночь. Думаю это может быть связанно со свопом. б) длинные ночные коробки. берущие начало рано утром и продолжительностью 8-10 часов. 2) по меньшему проценту, на отбой: тут тоже 2 типа коробок: а) снова короткие коробки длинной в 2-3 часа, ближе к полуночи но завершающиеся в этот же день. б) короткие ночные коробки. Ночной флет есть ночной флет. Вывод: Стратегии основанные на пробое большого утреннего флета, а так же стратегии работающие внутри утреннего флета при наличии фильтрации по размеру коробки имеют смысл.
  15. Тестирвание в таком виде оказалось не совсем актуальным. Во первых по времени, на один вариант пробоя тесты занимали сутки. Во вторых на выходе не удобно собирать статистические данные. Набросал и протестировал простой скрипт который собирает все возможные варианты "коробок" и прогоняет их на истории. Начал с тестов куда дойдет цена, 4 цели : 0.5 ширины коробки 1.0 ширины коробки 1.5 ширины коробки 2.0 ширины коробки. Стоп лосс предполагалось ставить на обратную сторону коробки. Скрипт результаты по всем коробкам выгружает в Excel файл. В столбцах 0.5 1 1.5 и 2 отражены шансы на прибыльность если откроемся на выход из коробки по целям, соответсвенно 0.5 1.0 1.5 2.0 от ширины коробки. В маленькой табличке справа найдены максимальные и минимальные результаты по %. А также отражены расчетные проценты. Например если тейк профит равен стоп лосу, то шансы получения ТП при случайном открытии равны 50%, если ТП равен СЛ (без учета спреда, свопа и комиссии). Как видим отклонения от расчетных значений незначительны и не позволят нам достаточно заработать чтобы погасить спред. Делаем вывод что использование коробок на пробой по EURUSD не лучшее решение чем подбрасывание монетки.