С пунктами убытка для паузы у меня вроде и без знака минус работает нормально, просто в настройках указываю количество пунктов без минуса.
Нет, не работает. Надо доделать. b-)
Если можно прикрепи сет по которому проверял и скриншоты
От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX
С пунктами убытка для паузы у меня вроде и без знака минус работает нормально, просто в настройках указываю количество пунктов без минуса.
Нет, не работает. Надо доделать. b-)
СпойлерСпойлер
С пунктами убытка для паузы у меня вроде и без знака минус работает нормально, просто в настройках указываю количество пунктов без минуса.
Нет, не работает. Надо доделать. b-)
Если можно прикрепи сет по которому проверял и скриншоты
AUDCHF M15 Тест 01 Февраля - 04 Февраля 2016г.
Время Альпы (+3)
Приветствую уважаемые форумчане!
Взял на себя смелость и немного подрихтовал код последней версии данного советника.
Изменения больше косметические и реало-ориентированные:
Версия 11.9.1 - фильтры сделаны отключаемыми (пауза после убытка и макс.свеча)
- внедрены два режима работы функции lastloss (для тестера и для торговли)
- настраиваемое логирование (переменная LogMode)
- небольшая оптимизация кода
Yuri070, прошу прошения, Вы немножко перенагромоздили кода особенно в части двойного определения условий на вход. Надеюсь не сочтете мои правки укором.
Изменено 2 августа, 2016 пользователем ZeroDivide
Хочу обратить внимание на небольшой логический косяк в коде.
Одним из условий открытия позиции явлется (для BUY) - iOpen(NULL,PERIOD_D1,0) - Bid .
Здесь используется цена открытия текущего дня и это справедливо, если открытие позиции поисходит до
23:59 включительно.
Но, если позиция открывается после 00:00, то для сохранение логики необходимо использовать цену открытия
вчерашнего дня - iOpen(NULL,PERIOD_D1,1).
Изменено 2 августа, 2016 пользователем Viktor Frolov
Изменено 2 августа, 2016 пользователем Sergey5
ZeroDivide, ничего плохого в том, если общими усилиями доведем сов до нормального рабочего состояния
ZeroDivide,
спасибо, но:
1. Бот сам должен определять "Тестер - Живой поток" ?
2016.08.02 23:15:01.950 2016.02.03 00:59 Generic A-TLP v.11.9.1_RUS AUDCHF,M15: lastloss: тикет предыдущего ордера не найден. Переменная oldticket пуста.
2. Флаги в данном случае не важны. Но если не будут мешать скорости работы - то пусть, конечно, будут. Пауза отключается =0, свеча = 10к
++++++++++++++++++++++++++++++
перекачиваю))))
Изменено 2 августа, 2016 пользователем ZeroDivide
Ок, если если лимитники помогут больше заработать денег, то почему бы и нет? Проверить это можно только на реале.
Напоминаю, в момент открытия сделки проводится проверка на величину спреда. Если вы выставите отложенный ордер, то окажетесь в рынке даже при десятикратно увеличившемся спреде.
ZeroDivide,
принты стали понятней - факт b-)
Но бот всё равно не видит прошлых ордеров. А они есть :d
Вы сами прогоняли в тестере?
/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=299155
и ещё, проверку на прошлый ордер, наверное, не надо делать каждый тик (минуту), а только при сигнале на открытие?
Ок, если если лимитники помогут больше заработать денег, то почему бы и нет? Проверить это можно только на реале.
Напоминаю, в момент открытия сделки проводится проверка на величину спреда. Если вы выставите отложенный ордер, то окажетесь в рынке даже при десятикратно увеличившемся спреде.
Кстати, да. Этот момент я в обсуждении упустил. Но думаю это не проблема - ведь можно сразу после проверки на спред лимитник посылать вместо маркета. Что программеры скажут, так сработает?
Изменено 2 августа, 2016 пользователем ZeroDivide
Yuri070
1. Трал в ролловер блокируется правильно.
2. Пауза после лося работает правильно.
Но настройка не привычна, замучают вопросами....
Сейчас надо ставить размер лося в пп со знаком минус.
Сделай, пожалуйста, просто кол-во пп, без знака минус.
+++++++++++++++++++++++++++++++++++++
Забыл ещё об одном пожелании коллег.
Надо сделать сообщение в журнал о том, что сделка не открылась из-за того, что есть сигнал на открытие сделки, но спред выше максспреда.
+++++++++++++++++++++++++++++++++++++
Номер версии сделай 11.9.
Поставлю сегодня до конца недели на демку. Если всё ок - выложим в шапку.
И на этом всё.
Подправлю сеты под новую версию, и на той неделе напишу небольшой мануал.
Далее - только правка багов и подбор пар/сетов.
2-й МиксСкальпер делать не стОит b-)
ZeroDivide,
вроде работает b-)
Но осталась проблема с минусовым значением пп лося в настройках.
Запутается народ, столько стр. потом тут понапишут....... Жуть.
Я их знаю :d :d :d
Надо ещё сделать принт в журнал, что сделка не открылась по этой причине. Чтобы потом самим понимать, почему при наличие явного сигнала не было сделки.
ZeroDivide, можно в бота добавить костыль, если после открытия сделки цена ушла на N-пунктов в минус, то закрыть сделку при достижении М-пунктов (знак может быть положительным или отрицательным) от открытия?
Зачем?: по данной сове на визуале не проверял, но из опыта с другими иногда лучше закрыть в небольшой плюс/минус/б-у сделку, которая сразу ушла в минус и попробовать переоткрыться по лучшей цене, чем ждать лося. Вот в тестере это можно будет и проверить.
Изменено 3 августа, 2016 пользователем ZeroDivide
Решил посмотреть код советника и задался вопросом на будущее: Не слишком ли много параметров для оптимизации кода, которые просто сведут с ума генетический алгоритм и будут гонять идентичные параметры впустую? Сейчас этот вопрос не очень актуален, но когда начнется оптимизация, будут проблемы.
К примеру:
1) Судя по сетам версии 9, торговля каждый день осуществляется в одно и тоже время, так почему бы не объединить все часы вместе и не оптимизировать только tuesday_pause_start (скажем с 00-00 до 3-00) и tuesday_pause_stop (с 20-00 до 23-59)? Тем самым мы сокращаем количество прогонов с 2*5=10 до 2, что вкупе с другими параметрами это сократит лишние проходки до тысяч.
2) Нет смысла включать какие либо функции boolean'ом, если можно просто обнулить переменную. Например:
use_dyn_TP и TP_perc - 2 параметра, можно превратить в один, отключая динамический ТП при TP_perc = 0.
Тоже самое дальше: use_Trailing_Stop и Trail_Start, Filter_candle и maxcandle, Filter_lastloss и pause, use_CCI_for_open и cci_Period_open и т.д. Лишние параметры - лишние прогоны.
3) Очень плохо на оптимизации сказывается привязка БУ и Тралла к пунктам. Желательно их привязывать к процентному значения от ТП.
К примеру если ТП = 100п, БУ на 30%, то при движении цена на 33 пункта в плюс выставится БУ. Иначе при оптимизации будет куча корявых вариантов, как ТП=20пп, БУ=40пп или ТП=100пп, БУ=5пп.
Лично я открыв код впервые испугался от кол-ва параметров в одном ряду. Было бы хорошо навести марафет и разграничить все параметры по своим группам, отделяя их текстовыми стрингами тому, кто понимает каждую переменную данного кода :)
Это так, просто быстрый взгляд со стороны >:d
Утро вечера мудренее b-)
ZeroDivide,
ну теперь вроде пауза работает :d
Сначала погонял в тестере, потом поставил на демку, убрав фильтры по времени. Вроде работает. Принт, конечно, очень подробный. В окно МТ4 не входит :)) Может проще - "ПАРА, ластлосс. осталось хх мин."?
Пожалуйста, принты на англ.
Есть небольшое замечание. На "бай" надо ставить на 1 пп больше, чем на "селл". Наверное, где-то с учётом спреда и/или бид/аск что-то не то. Сет внизу. USDCAD M15 вчера.
И ещё. При компиляции поминает "маркет". Скрин.
Rever27,
согласен, надо причёсывать код и вынесенные настройки.
Сейчас вроде с логикой закончили (МДР на нью Д1 посмотрим попозже) и можно убрать лишнее.
Я бы предложил:
1. Забанить БУ. Идея с его применением не подтвердилась. Намного выгодней закрываться по сигналам.
2. Удалить функцию "временной интервал между сделками в одном направлении". Её заменили паузами.
3. Заменить "синтетический" Канал Боллинджера на обычный, терминальный. И сделать вывод инди, в т.ч. ССИ, на график при тестах тру/фалс. Сейчас крайне неудобно каждый раз накидывать несколько инди на график каждый тест, меняя при этом их настройки, если меняешь при тесте.
4. Может чего ещё. Предлагайте - обсудим. Может, код оптимизировать для ускорения тестов?
Потом отстрингуем :d
Добавлять новое пока не надо.
Traderman,
спасибо, но я бы предложил просто продолжить тест, указав в комментах новую версию.
СпойлерRever27,
согласен, надо причёсывать код и вынесенные настройки.
Сейчас вроде с логикой закончили (МДР на нью Д1 посмотрим попозже) и можно убрать лишнее.
Я бы предложил:
1. Забанить БУ. Идея с его применением не подтвердилась. Намного выгодней закрываться по сигналам.
2. Удалить функцию "временной интервал между сделками в одном направлении". Её заменили паузами.
3. Заменить "синтетический" Канал Боллинджера на обычный, терминальный. И сделать вывод инди, в т.ч. ССИ, на график при тестах тру/фалс. Сейчас крайне неудобно каждый раз накидывать несколько инди на график каждый тест, меняя при этом их настройки, если меняешь при тесте.
4. Может чего ещё. Предлагайте - обсудим. Может, код оптимизировать для ускорения тестов?
Потом отстрингуем :d
Добавлять новое пока не надо.
Я считаю, что сейчас в такой код, который и так забит кучей совместных разработок, не нужно добавлять какой то функционал до оптимизации его работы и тестирования на демо с целью нахождения косяков, которых просто не может не быть. После этого - добавлять каждую идею по очереди и проверять ее на визуализации/оптимизации.
Особенно новостной фильтр. Я писал новостной советник, и строк там без малого 2000, с подгрузкой данных с ForexFactory. Имхо, если и фильтровать новости, то перед входом измерять длину последних N свечей на М1, и по ней судить о волатильности. Но несколько ТФ оптимизировать через TickStory не получится,для правильной работы весь советник должен иметь общий ТФ, проверял 1,5 года назад, были косяки с этим.
Чем меньше внешних параметров для оптимизации, тем более точные будут результаты. К примеру один мой сов имеет 14 внешних параметров, и это уже 12млн проходок, данный советник может перевалить и за несколько сотен лямов. Если не нужен БУ(и другие фишки), значит нужно убирать, максимально облегчить код = ускорить тестирование.
Код оптимизировать нужно уже законченный, уменьшая время выполнения некоторых операций не на каждый тик, а раз в Минуту, в час, день. Это должен делать тот, кто действительно знает принцип работы кода, чтобы ничего не сломать.
Сейчас посмотрел, параметры времени в советнике вообще не поддаются оптимизации, непонятно, зачем они нужны в таком виде)
Я предлагаю объединить все дни недели в один и выставить параметры минутах до 00-00 и после 00-00.
Т.е. вместо 4 переменных прописать две: TradeTimeTillMidnight и TradeTimeAfterMidnight. Оптимизировать с 30 до 120 минут с шагом в 15 минут. И того у каждого параметра будет 7 проходок в диапазоне от 30 минут до 4 часов до и после полуночи. Могу это реализовать и сам, если в этом будет толк.
upd.ЦитатаСейчас крайне неудобно каждый раз накидывать несколько инди на график каждый тест, меняя при этом их настройки, если меняешь при тесте.
Накидываете на пустой график нужные вам индикаторы, меняете его фон, и сохраняете Шаблон под именем tester.tpl
Все, теперь при каждом новом тестировании он будет появляться.
Изменено 3 августа, 2016 пользователем Rever27
Планировщик времени - вещь хоршая, но только для реальной работы.
Для тестов, как верно заметил Rever27, он не годится, так как нельзя подобрать оптимальные
часы работы. А этот параметр - один из определяющих.
К тому же время тестирования при наличии планировщика - увеличивается более чем в 2 раза.
Более тонкой настройкой времени работы можно поиграться, но лишь когда уже есть варианты рабочих сетов.
тут свой фетиш каждый час нью версия ,каждые 30 минут нью версия с исправленными багами,лень перечитывать но раньше даже версии с багами ленились удалять,код изначально запихали в одну функцию
для чего ,правильно для того чтоб при дальнейших изменениях побольше парить мозг с кодом
про стандартного BBands уже писал что протестил и негатива не выявлено а управление настройками проще,про хренову тучу настроек планировщика тоже спрашивал в чем смысл,если кто еще не заметил
enum ы при оптимизации и тестировании глючат 0 и м1 при тестировании на котировках м1 ,это одно
и тоже ,а результаты разные уже упоминалось использование enum в настройках фильтров
одним словом проще пока понаблюдать :) куда загенеримся
Изменено 3 августа, 2016 пользователем pegaskrs
СпойлерRever27,
согласен, надо причёсывать код и вынесенные настройки.
Сейчас вроде с логикой закончили (МДР на нью Д1 посмотрим попозже) и можно убрать лишнее.
Я бы предложил:
1. Забанить БУ. Идея с его применением не подтвердилась. Намного выгодней закрываться по сигналам.
2. Удалить функцию "временной интервал между сделками в одном направлении". Её заменили паузами.
3. Заменить "синтетический" Канал Боллинджера на обычный, терминальный. И сделать вывод инди, в т.ч. ССИ, на график при тестах тру/фалс. Сейчас крайне неудобно каждый раз накидывать несколько инди на график каждый тест, меняя при этом их настройки, если меняешь при тесте.
4. Может чего ещё. Предлагайте - обсудим. Может, код оптимизировать для ускорения тестов?
Потом отстрингуем :d
Добавлять новое пока не надо.
Я считаю, что сейчас в такой код, который и так забит кучей совместных разработок, не нужно добавлять какой то функционал до оптимизации его работы и тестирования на демо с целью нахождения косяков, которых просто не может не быть. После этого - добавлять каждую идею по очереди и проверять ее на визуализации/оптимизации.
Особенно новостной фильтр. Я писал новостной советник, и строк там без малого 2000, с подгрузкой данных с ForexFactory. Имхо, если и фильтровать новости, то перед входом измерять длину последних N свечей на М1, и по ней судить о волатильности. Но несколько ТФ оптимизировать через TickStory не получится,для правильной работы весь советник должен иметь общий ТФ, проверял 1,5 года назад, были косяки с этим.
Чем меньше внешних параметров для оптимизации, тем более точные будут результаты. К примеру один мой сов имеет 14 внешних параметров, и это уже 12млн проходок, данный советник может перевалить и за несколько сотен лямов. Если не нужен БУ(и другие фишки), значит нужно убирать, максимально облегчить код = ускорить тестирование.
Код оптимизировать нужно уже законченный, уменьшая время выполнения некоторых операций не на каждый тик, а раз в Минуту, в час, день. Это должен делать тот, кто действительно знает принцип работы кода, чтобы ничего не сломать.
Сейчас посмотрел, параметры времени в советнике вообще не поддаются оптимизации, непонятно, зачем они нужны в таком виде)
Я предлагаю объединить все дни недели в один и выставить параметры минутах до 00-00 и после 00-00.
Т.е. вместо 4 переменных прописать две: TradeTimeTillMidnight и TradeTimeAfterMidnight. Оптимизировать с 30 до 120 минут с шагом в 15 минут. И того у каждого параметра будет 7 проходок в диапазоне от 30 минут до 4 часов до и после полуночи. Могу это реализовать и сам, если в этом будет толк.
2000 строк в ньюз-советнике? Не проще ли использовать новостной индюк от Urdala, там в сову всего десяток-другой строк дописать надо.
А конкретно куча каких совместных разработок в этом сове имеется в виду?
Убеждение о временных параметрах создателя топика вообще не понятно на чем держаться. Он, наверное, собирается каждую сессию в неделе отдельно оптить. Хотя все вокруг ему толдычат о нецелесообразности онного. Всё из-за пресловутой среды: лично я в ней вообще никакой проблемы не вижу. Если уж есть такой страх перед какой либо сессией, эффективнее для начала сделать флаги на каждую сессию и общее время открытия/закрытия. А потом уже, если всё-таки этого покажется не достаточно, вернуться к такому виду как сейчас.
В костыле б/у сразу не видел надобности, как например, не вижу особого смысла в усреднении. Вот рекавери, вполне может быть.
И смысл сейчас оптимизировать сову (не код), а потом дописывать функции и снова её оптимизировать? Боле менее годный вариант уже работает в робо-тесте. Как раз таки в добавлении/проверке/оптимизации/выбрасывании-оставлении костылей и вижу дальнейшее направление развития проджекта.
З.Ы. Под сессией я подразумеваю вс-пн, пн-вт, вт-ср и т.д.
Изменено 3 августа, 2016 пользователем SebastianPerreira
Глупый вопрос зачем вам тут понадобился новостной фильтр??? Контроля спреда хватит выше крыши.
Из того функционала который есть в советнике сейчас убирать ничего не надо, даже БУ.
Таймфильтр нужно оставить как есть вполне удобен, как для торговли так и для оптимизации, никаких сложностей не вызывает.
Пока по тестам увидел что Болинджеры с М1 показывают значительно лучший результат чем с М15 и М5
Изменено 3 августа, 2016 пользователем Mamotaro
Глупый вопрос зачем вам тут понадобился новостной фильтр??? Контроля спреда хватит выше крыши.
Из того функционала который есть в советнике сейчас убирать ничего не надо, даже БУ.
Таймфильтр нужно оставить как есть вполне удобен, как для торговли так и для оптимизации, никаких сложностей не вызывает.
Здравствуйте, подскажите работает ли экспект на виртуальном хостинге от метатрайдер? Три дня назад взял хост, провел миграцию . Выдает вот такое:
2016.08.03 17:03:23.150 Generic A-TLP v.11.7_ENG USDCAD,M15: fRectLabelCreate: не удалось создать прямоугольную метку! Ошибка №: 4200 - Объект уже существует
2016.08.03 17:03:23.150 Generic A-TLP v.11.7_ENG USDCAD,M15: initialized
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем