Что если переписать советник для cTrader, говорят исполнение еще быстрее, спреды ниже и комиссии?
[open source] [Советник] "Generic A-TLP"📌
От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX
Generic 11.89 Auto_Risk считается от баланса или от средств?
Когда Сов отключен на графике в лог постоянно пишется строка
18.10.2016 22:7 OpenTrade: ордер BUY не был открыт!: Ошибка №: 4109 - Торговля не разрешена. Необходимо включить опцию в свойствах эксперта
Если кому то надо запомнить, когда была отключена торговля, то достаточно и одной такой строки. А так лучше бы Сов отдыхал все отключенное время - ресурсы CPU же потребляются, а они необходимы для других графиков.
всегда все было в 4x знаке
Спойлер
Версия 12.31
...
- добавлен Max_Spread_mode2 как альтернатива ролловер фильтру, при значении больше нуля Max_Spread фильтрует только покупки при открытии, а Max_Spread_mode2 - продажи при закрытии
При открытии и закрытии сделок в лог пишется спред.
И раз уж вопрос спреда затронут, то и сам принцип проверки спреда обсужу.
Как я понял, предложено отталкиваться от того, что цена Bid не подвергается сомнению, принимается за истинную рыночную. А расширение спреда интерпретируется только как добавка к этой цене Bid, и проверяется только для цены Ask. А это точно правильный подход?
Другая возможная точка зрения - интерпретировать расширение спреда как добавку в обе стороны относительно средней (Ask-Bid). И тогда при открытии фильтровать необходимо не только покупки, но также и продажи.
Добавлено: 19-10-2016 06:58:44
Все параметры в 4-х-значных пунктах.
В чем ошибка игнорирования спреда?
И спред?! А когда это произошло, при переходе с 31-ой на 32-ую? Не было никакого информирования! Еще вчера при торгах на 31-ой спред фильтровался как 5-и знак (сет я не менял, max_Spread=26 как был так и остался).
Приложенный мной лог забит сообщениями:
18.10.2016 2:1 Ордер #18995894: Спред 28.0 пунктов, слишком высокий! Ордер не был закрыт.
18.10.2016 2:42 Ордер #18995894: Спред 26.0 пунктов, слишком высокий! Ордер не был закрыт.
до тех пор пока ордер не закрывается:
18.10.2016 5:4 Закрытие ордера #18995894. Цена пересекла границу канала 1.08751 на -2.0 пунктов и плавающая прибыль составила -2.0 пунктов; Спред = 1.4 пунктов.
Обращаю внимание, что при неудачной попытке закрытия спред пишется в 5-и знаке, при удачной - в 4-х.
Изменено 19 октября, 2016 пользователем Старик
Спойлер
Версия 12.31
...
- добавлен Max_Spread_mode2 как альтернатива ролловер фильтру, при значении больше нуля Max_Spread фильтрует только покупки при открытии, а Max_Spread_mode2 - продажи при закрытии
При открытии и закрытии сделок в лог пишется спред.
И раз уж вопрос спреда затронут, то и сам принцип проверки спреда обсужу.
Как я понял, предложено отталкиваться от того, что цена Bid не подвергается сомнению, принимается за истинную рыночную. А расширение спреда интерпретируется только как добавка к этой цене Bid, и проверяется только для цены Ask. А это точно правильный подход?
Другая возможная точка зрения - интерпретировать расширение спреда как добавку в обе стороны относительно средней (Ask-Bid). И тогда при открытии фильтровать необходимо не только покупки, но также и продажи.
Добавлено: 19-10-2016 06:58:44
Все параметры в 4-х-значных пунктах.
В чем ошибка игнорирования спреда?
И спред?! А когда это произошло, при переходе с 31-ой на 32-ую? Не было никакого информирования! Еще вчера при торгах на 31-ой спред фильтровался как 5-и знак (сет я не менял, max_Spread=26 как был так и остался).
Приложенный мной лог забит сообщениями:
18.10.2016 2:1 Ордер #18995894: Спред 28.0 пунктов, слишком высокий! Ордер не был закрыт.
18.10.2016 2:42 Ордер #18995894: Спред 26.0 пунктов, слишком высокий! Ордер не был закрыт.
до тех пор пока ордер не закрывается:
18.10.2016 5:4 Закрытие ордера #18995894. Цена пересекла границу канала 1.08751 на -2.0 пунктов и плавающая прибыль составила -2.0 пунктов; Спред = 1.4 пунктов.
Обращаю внимание, что при неудачной попытке закрытия спред пишется в 5-и знаке, при удачной - в 4-х.
всегда все было в 4x знаке
тогда как вчера 31-ая версия писала в лог: "Спред 28.0 пунктов, слишком высокий! Ордер не был закрыт." ???
У меня в сете стоит 26, больше 260 в пятизнаке - был спред!?
Изменено 19 октября, 2016 пользователем Urytomsk
https://www.mql5.com/ru/charts/5972944/usdchf-m1-alpari-limited - Вот такую интересную вакханалию можно получить в тестере МТ5 оказывается :(( (в настройках: на основе реальных тиков, случайная задержка исполнения). Думается мне, в реале такое не прокатит :)
Версия совы 11.88 visual
Думается расчет лота при Auto_Risk>0 и MM_Depo=0 вместо
lot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss + MarketInfo(Symbol(), MODE_SPREAD)) / TickValue;
должен выглядеть так:
lot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss + MarketInfo(Symbol(), MODE_SPREAD)) * TickValue;
Поправьте, если не прав :-/
Баг был. Уже по-нормальному.
тогда как вчера 31-ая версия писала в лог: "Спред 28.0 пунктов, слишком высокий! Ордер не был закрыт." ???
В 88 ошибка. Должно быть так:
Версия совы 11.88 visual
Думается расчет лота при Auto_Risk>0 и MM_Depo=0 вместоСпойлерlot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss + MarketInfo(Symbol(), MODE_SPREAD)) / TickValue;
должен выглядеть так:lot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss + MarketInfo(Symbol(), MODE_SPREAD)) * TickValue;
Поправьте, если не прав :-/
lot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss*old_point/_Point) / TickValue; Я прогнал версию 11.86 2010-2014 с сетом по паре GBPUSD, который лежал в архиве (авториск 10%). Разница между котировками Alpari 90% и Dukascopy 99.9 довольно заметная. Я же правильно понимаю что 99.9 дают более достоверную инфу?
Я просто не уверен, что у меня корректно терминал работает через тикстори. К примеру я пробовал ставить авториск 35. И в терминале с котировками Дукаскопи пишет что недостаточно средств для открытия ордера, а в обычном терминале нормально работает. Это как то странно
Изменено 19 октября, 2016 пользователем Dirst
Я прогнал версию 11.86 2010-2014 с сетом по паре GBPUSD, который лежал в архиве (авториск 10%).
Прогоните, если не сложно с фикслотом. К примеру, на депо 1000 лот 0.1. Авториск 10% крутовато. :)
Я прогнал версию 11.86 2010-2014 с сетом по паре GBPUSD, который лежал в архиве (авториск 10%). Разница между котировками Alpari 90% и Dukascopy 99.9 довольно заметная. Я же правильно понимаю что 99.9 дают более достоверную инфу?
Я просто не уверен, что у меня корректно терминал работает через тикстори. К примеру я пробовал ставить авториск 35. И в терминале с котировками Дукаскопи пишет что недостаточно средств для открытия ордера, а в обычном терминале нормально работает. Это как то странно
Объясняется просто:
1) "обычные" котировки не воспроизводят расширение реального ночного спреда, благодаря чему в тестере дают прибыль, которой не возникнет на реале. Эта несуществующая прибыль дала вашему тестеру пройти тест с авториском в 35%. Ее же не хватило Дукасом чтобы не слиться с таким конским риском.
2) вы уверены что используемые вами котировки Дукаскопи получены с правильным переходом на летнее время? Я с этим брокером не работал, но момент важнейший.
Добавлено: 19-10-2016 16:22:02
СпойлерПочему "увы"? Я ожидал увидеть лучше, но и это неплохо!
основной результат проведенного теста - это сохранение наклона кривой. То, что у вас прибыль 155 вместо моих 340 объясняется легко: у вас в тесте 174 сделки, по 10 единиц спреда на каждую делают результаты наших тестов практически идентичными. Я с фикс спредом 30 у себя сейчас тоже самое получил. Следует также понимать, что с повышением актуального спреда на 1 пипс нужно уменьшить на этот 1 пипс Exit_Profit_Pips и, наоборот, увеличить SL.
Ты верно пишешь, что хорошо бы сет еще прогнать на реальных котирах... ибо tickmill Demo, какой у них спред? насколько реальный? Я склонен считать, что мой тест более приближен к реалу Альпов, там 15 весь вечер почти вплотную до 0 часов, потом резко мрак. Этот мрак эмулирован в сете запретом закрытия/открытия в ролловер (0-1) при тесте с фиксированным спредом 20. Значение Max_spread =25 определяет то, что с плавающим спредом после 0 часов открываться ничего не будет из-за спреда; а в тестах с фиксированным - из-за false в ролловер. В итоге, если потом на реале спред в какие то моменты окажется меньше 25 - то это будет доп прибылью сверх расчетной.
Вобщем, приведи, плиз, типичные значения спреда tickmill Demo: до 0 часов, после 0 часов
увы, потому как оптимизация предполагает положительные результаты, а ваш сет хуже дефолтного.
А наклон кривой вы просто не смогли испортить :-)
Написал, ведь, что котировки от dukascopy, то есть реальные, а demo tickmila тут ни при чем.
Где-то в теме было мнение, что котировки dukas близки к Альпам.
Беда в том, что сам дефолтный сет не дает столь хороших результатов на котировках Альпов. А по определению "хороший" сет должен проходить любые. Возвращаемся к той проблеме, которую и упоминал выше Grabli.
Зарегился сегодня на dukascopy. Спред чуть ниже, чем в Alpari-ECN, но у них еще комиссия 0.7 пипса. Ее кто то думал учитывать? И корректность учета перехода на летнее время в котирах... В постах выше я видел решение: EST+7, но то, что до сих пор в народе носило гордое название "котировки 99%" этот переход верно учитывало?
По котировкам Альпов по крайней мере ясность есть - проблема учета расширения спреда. В первом приближении она решается в тестере правильной настройкой ролловера. Вчера распечатал тест за 2 последних месяца, открыжил сделки с реалом - фин результат не искажен. Так что подержу свой сет на реале мин лотом.
Изменено 19 октября, 2016 пользователем Urytomsk
Подскажите пожалуйста есть ли в советники ограничение на количество одновременно открытых ордеров?
Сеточка.
OrdersBefore - кол-во ордеров, не доходя до границы канала
OrdersAfter - кол-во ордеров после пересечения границы канала
OrdersDistance - расстояние между ордерами
Изменено 20 октября, 2016 пользователем machine
И каждый ордер отдельно ведется? Логичнее наверное высчитывать безубыток сетки и от него считать профит в пипсах для фильров выхода (Time_Profit_Pips, Exit_Profit_Pips, Reverse_Profit), стоп-лосс и тейк соответственно общий от уровня безубытка тоже.
\M/ С каждого лайк за сэт :)
generic-atlp_12_32_audcad_multi_order_m15.set
generic-atlp_12_32_audcad_multi_order_m15.rar
Там сейчас ордера открываются по двум условиям: минимальное расстояние между ордерами - не менее OrdersDistance, и расстояние от границы канала - не менее OrdersDistance*(кол-во ордеров в нужную сторону). А на следующем баре - канал тоже сдвинется, и открытия - не будет, хотя было бы, куда.

Насчёт общего закрытия - не знаю. Возможно, поодиночке даже лучше. А то убыток тоже общий будет, а так - некоторые ордера могли бы успеть закрыться по своим сигналам.
Насчёт общего закрытия - не знаю. Возможно, поодиночке даже лучше. А то убыток тоже общий будет, а так - некоторые ордера могли бы успеть закрыться по своим сигналам.
а если добавить общее закрытие, как альтернативу, ну или, хотя бы, для проверки теории?..
мне понравилось высказывание "мы торгуем на выдохе рынка", так вот появилась мысль что за пару часов до закрытия рынок выдыхается и вступает в действие наш советник. Скажем TimeStart=22-00 TimeStop=00-00, отпадает необходимость в планировщике. Пожалуйста прогоните сет с 99.9%. Generic v.12.30.
У меня получается так
И каждый ордер отдельно ведется? Логичнее наверное высчитывать безубыток сетки и от него считать профит в пипсах для фильров выхода (Time_Profit_Pips, Exit_Profit_Pips, Reverse_Profit), стоп-лосс и тейк соответственно общий от уровня безубытка тоже.
Я так изначально и предлагал, высчитывать безубыток сетки. Но Doveman, наоборот, ратовал и за распределенный выход. В последнем варианте часть ордеров будут застревать в утреннем/дневном рынке. Надо пробовать.
У меня тоже так, нет надобности в этих тестах 99 , это для имульсных скальперов работающих на тиках обсуждалось уже , ставь на реал ;)
мне понравилось высказывание "мы торгуем на выдохе рынка", так вот появилась мысль что за пару часов до закрытия рынок выдыхается и вступает в действие наш советник. Скажем TimeStart=22-00 TimeStop=00-00, отпадает необходимость в планировщике. Пожалуйста прогоните сет с 99.9%. Generic v.12.30.
У меня получается так
Коллеги, погодите с оптимизацией и доделыванием/улучшением. Такой инструмент, как распределенный вход и выход из сделки в теории должны улучшить результаты. И я на 99% уверен, что это так.
Тем не менее, это пока гипотеза, которую нужно проверить, прежде чем что-то усложнять.
Для этого нужно взять стандартный сет по какой-либо паре (а лучше несколько сетов) и, не внося в него никаких изменений, помимо распределенного входа (всего с двумя дополнительными ордерами с минимальным отступом - пункта 3), сделать бэктесты и сравнить их с бэктестами без доливки по соотношению максимальной просадки и прибыли.
Кстати, профит-фактор и матожидание с большой вероятностью будут немного хуже. И это нормально.
Надеюсь, по этому скрину уже все видно? и суть проблемы переоткрытия ордеров ясна всем
Лично я и с первого раза понял, что вы хотите, только тут нет никакой проблемы. Точнее эту ситуацию никак не решить простым, "нормальным" подходом.
Предположим, что ордер на покупку у вас хочет закрыться по одному из фильтров. Перед закрытием мы делаем проверку и видим, что есть сигнал на покупку для второго ордера. Окей, мы глушим закрытие и проверяем сигнал на покупку на следующих тиках. И так будет, пока цена не уйдет от границы канала. Как только цена развернется - сигнал для ордера на бай пропадет и наш первый ордер закроется в фильтру. Но вот уже условия для второго входа у нас не будет, и вместо двух сделок в плюс мы получим одну.
Можно, конечно при появлении второго сигнала переносить тейк первого ордера на место теоретического второго, тогда сдвинутся и фильтры, либо делать паузу для работы фильтров на N свечей, но как по мне, это все неоправданные костыли в работе кода, и проще уплатить лишний спред, зато сидеть с прибылью в кармане, пока отрабатывает второй ордер.
Да, Rever27, я тоже понял Вас. Согласен, если просто запретить закрытие при имеющемся сигнале на открытие, то теряем потенциальную прибыль второго ордера. По поводу незатратного решения этой проблемы.
Рассуждаю следующим образом: если в момент закрытия имеется сигнал на открытие, то очевидно, что сигнал на закрытие был получен от фильтра 3 - развернулась МА (фильтры 1 и 2 логически исключаю) или от TP / TS(если включен), с которыми мы уже ничего сделать не можем ибо из значения в рынке вместе с ордером. Самое простое действие в такой ситуации - обнулить значение переменной, подсчитывающей полученный профит, по возможности перенести TP. В результате сигнал фильтра 3 погаснет, он как и остальные фильтры станет работать с как Вы пишите "теоретическим вторым" ордером. Не самый тяжелый костыль, имхо. Ибо проблема переоткрытия актуальная для волатильных пар GBP/CAD, GBP/AUD и т. д. для которых нормальный то спред уже 3.5 пипса.
Попутно я набрел вот еще на какую мысль. Вопрос к технарям по фильтру 3 (безотносительно к вопросу переоткрытия): а насколько обосновано выходить при развороте МА в зоне за границей стандартного канала Боллинжера ( 2 ст. отклонения)? вопрос не подвергает сомнению полезность фильтра 3 внутри канала. То есть нет ли смысла к фильтру 3 прикрутить проверку "цена внутри канала"?
А что за параметр - period_StDev?
Сет по умолчанию, да и он значения не имеет.
https://gyazo.com/6dbb3c757f05ad3ddf5a194a6684d5d1
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем