[open source] [Советник] "Generic A-TLP"📌

От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX

#1427

Что если переписать советник для cTrader, говорят исполнение еще быстрее, спреды ниже и комиссии?

#1428

Generic 11.89 Auto_Risk считается от баланса или от средств?

#1429

Когда Сов отключен на графике в лог постоянно пишется строка
18.10.2016 22:7 OpenTrade: ордер BUY не был открыт!: Ошибка №: 4109 - Торговля не разрешена. Необходимо включить опцию в свойствах эксперта
Если кому то надо запомнить, когда была отключена торговля, то достаточно и одной такой строки. А так лучше бы Сов отдыхал все отключенное время - ресурсы CPU же потребляются, а они необходимы для других графиков.

#1430


Спойлер


Версия 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 знаке

Изменено 19 октября, 2016 пользователем Старик

#1431



Спойлер


Версия 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

#1432

https://www.mql5.com/ru/charts/5972944/usdchf-m1-alpari-limited - Вот такую интересную вакханалию можно получить в тестере МТ5 оказывается :(( (в настройках: на основе реальных тиков, случайная задержка исполнения). Думается мне, в реале такое не прокатит :)

#1433

Версия совы 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;

Поправьте, если не прав :-/
#1434


тогда как вчера 31-ая версия писала в лог: "Спред 28.0 пунктов, слишком высокий! Ордер не был закрыт." ???

Баг был. Уже по-нормальному.


Версия совы 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;

Поправьте, если не прав :-/

В 88 ошибка. Должно быть так:
lot = ((Balance - AccountCredit()) * (Auto_Risk / 100)) / (Stop_Loss*old_point/_Point) / TickValue; 
#1436

Я прогнал версию 11.86 2010-2014 с сетом по паре GBPUSD, который лежал в архиве (авториск 10%). Разница между котировками Alpari 90% и Dukascopy 99.9 довольно заметная. Я же правильно понимаю что 99.9 дают более достоверную инфу?

Я просто не уверен, что у меня корректно терминал работает через тикстори. К примеру я пробовал ставить авториск 35. И в терминале с котировками Дукаскопи пишет что недостаточно средств для открытия ордера, а в обычном терминале нормально работает. Это как то странно

test_2010-2014.rar13 скач.
99_2010-14.gif
90%_2010-14_10%risk.gif

Изменено 19 октября, 2016 пользователем Dirst

#1437


Я прогнал версию 11.86 2010-2014 с сетом по паре GBPUSD, который лежал в архиве (авториск 10%).


Прогоните, если не сложно с фикслотом. К примеру, на депо 1000 лот 0.1. Авториск 10% крутовато. :)
#1438


Я прогнал версию 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

#1439

Подскажите пожалуйста есть ли в советники ограничение на количество одновременно открытых ордеров?

#1440

Сеточка.



OrdersBefore - кол-во ордеров, не доходя до границы канала
OrdersAfter - кол-во ордеров после пересечения границы канала
OrdersDistance - расстояние между ордерами

Generic_A-TLP_v.12.32_MultiOrders_RUS.mq494 скач.

Изменено 20 октября, 2016 пользователем machine

#1441

И каждый ордер отдельно ведется? Логичнее наверное высчитывать безубыток сетки и от него считать профит в пипсах для фильров выхода (Time_Profit_Pips, Exit_Profit_Pips, Reverse_Profit), стоп-лосс и тейк соответственно общий от уровня безубытка тоже.

#1443

Там сейчас ордера открываются по двум условиям: минимальное расстояние между ордерами - не менее OrdersDistance, и расстояние от границы канала - не менее OrdersDistance*(кол-во ордеров в нужную сторону). А на следующем баре - канал тоже сдвинется, и открытия - не будет, хотя было бы, куда.

Спойлер



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


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



а если добавить общее закрытие, как альтернативу, ну или, хотя бы, для проверки теории?..
#1445

мне понравилось высказывание "мы торгуем на выдохе рынка", так вот появилась мысль что за пару часов до закрытия рынок выдыхается и вступает в действие наш советник. Скажем TimeStart=22-00 TimeStop=00-00, отпадает необходимость в планировщике. Пожалуйста прогоните сет с 99.9%. Generic v.12.30.
У меня получается так

22-00.gif
Generic_A-TLP_v.12.30_RUS_GBPUSD_22_00.set49 скач.

#1446


И каждый ордер отдельно ведется? Логичнее наверное высчитывать безубыток сетки и от него считать профит в пипсах для фильров выхода (Time_Profit_Pips, Exit_Profit_Pips, Reverse_Profit), стоп-лосс и тейк соответственно общий от уровня безубытка тоже.


Я так изначально и предлагал, высчитывать безубыток сетки. Но Doveman, наоборот, ратовал и за распределенный выход. В последнем варианте часть ордеров будут застревать в утреннем/дневном рынке. Надо пробовать.
#1447


мне понравилось высказывание "мы торгуем на выдохе рынка", так вот появилась мысль что за пару часов до закрытия рынок выдыхается и вступает в действие наш советник. Скажем TimeStart=22-00 TimeStop=00-00, отпадает необходимость в планировщике. Пожалуйста прогоните сет с 99.9%. Generic v.12.30.
У меня получается так

У меня тоже так, нет надобности в этих тестах 99 , это для имульсных скальперов работающих на тиках обсуждалось уже , ставь на реал ;)

GENERIC_gbpusd_1232.set.rar72 скач.
StrategyTester.gif

#1448

Коллеги, погодите с оптимизацией и доделыванием/улучшением. Такой инструмент, как распределенный вход и выход из сделки в теории должны улучшить результаты. И я на 99% уверен, что это так.
Тем не менее, это пока гипотеза, которую нужно проверить, прежде чем что-то усложнять.
Для этого нужно взять стандартный сет по какой-либо паре (а лучше несколько сетов) и, не внося в него никаких изменений, помимо распределенного входа (всего с двумя дополнительными ордерами с минимальным отступом - пункта 3), сделать бэктесты и сравнить их с бэктестами без доливки по соотношению максимальной просадки и прибыли.
Кстати, профит-фактор и матожидание с большой вероятностью будут немного хуже. И это нормально.

#1449



Надеюсь, по этому скрину уже все видно? и суть проблемы переоткрытия ордеров ясна всем


Лично я и с первого раза понял, что вы хотите, только тут нет никакой проблемы. Точнее эту ситуацию никак не решить простым, "нормальным" подходом.
Предположим, что ордер на покупку у вас хочет закрыться по одному из фильтров. Перед закрытием мы делаем проверку и видим, что есть сигнал на покупку для второго ордера. Окей, мы глушим закрытие и проверяем сигнал на покупку на следующих тиках. И так будет, пока цена не уйдет от границы канала. Как только цена развернется - сигнал для ордера на бай пропадет и наш первый ордер закроется в фильтру. Но вот уже условия для второго входа у нас не будет, и вместо двух сделок в плюс мы получим одну.
Можно, конечно при появлении второго сигнала переносить тейк первого ордера на место теоретического второго, тогда сдвинутся и фильтры, либо делать паузу для работы фильтров на N свечей, но как по мне, это все неоправданные костыли в работе кода, и проще уплатить лишний спред, зато сидеть с прибылью в кармане, пока отрабатывает второй ордер.

Да, Rever27, я тоже понял Вас. Согласен, если просто запретить закрытие при имеющемся сигнале на открытие, то теряем потенциальную прибыль второго ордера. По поводу незатратного решения этой проблемы.
Рассуждаю следующим образом: если в момент закрытия имеется сигнал на открытие, то очевидно, что сигнал на закрытие был получен от фильтра 3 - развернулась МА (фильтры 1 и 2 логически исключаю) или от TP / TS(если включен), с которыми мы уже ничего сделать не можем ибо из значения в рынке вместе с ордером. Самое простое действие в такой ситуации - обнулить значение переменной, подсчитывающей полученный профит, по возможности перенести TP. В результате сигнал фильтра 3 погаснет, он как и остальные фильтры станет работать с как Вы пишите "теоретическим вторым" ордером. Не самый тяжелый костыль, имхо. Ибо проблема переоткрытия актуальная для волатильных пар GBP/CAD, GBP/AUD и т. д. для которых нормальный то спред уже 3.5 пипса.
Попутно я набрел вот еще на какую мысль. Вопрос к технарям по фильтру 3 (безотносительно к вопросу переоткрытия): а насколько обосновано выходить при развороте МА в зоне за границей стандартного канала Боллинжера ( 2 ст. отклонения)? вопрос не подвергает сомнению полезность фильтра 3 внутри канала. То есть нет ли смысла к фильтру 3 прикрутить проверку "цена внутри канала"?
#1450

А что за параметр - period_StDev?

#1451
Rever27 к вам вопрос, почему при тестировании советника после 3-4 сделок появляется ошибка?
Сет по умолчанию, да и он значения не имеет.
https://gyazo.com/6dbb3c757f05ad3ddf5a194a6684d5d1

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

Перейти к списку тем
Форум · 2.0.20260627.0025