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

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

#126
Спойлер


Появилось время, почитал код. есть следующие замечания:
- tick_volume > 1.0 - на реале работает не стабильно, тем более в мультивалютном режиме. может пропускать входы.
- для ускорения тестов и вообще работы совы надо отказаться от
- дублирования логов Print(q); fWriteDataToFile(q);
- и желательно от опроса индикаторов и пересчёта ордеров на каждом тике
- Take_Profit = MathMax ( Take_Profit, NormalizeDouble( stoplevel * Point / old_point,1 ) ); и подобные, может работать не так как задумывалось при переходе с double -> int предлагаю исправить на:
Take_Profit = ( int )( MathMax ( Take_Profit, MathCeil( stoplevel * Point / old_point ) ) );


А Вы какую версию смотрели-то?
Тип данных у TakeProfit и StopLoss - double (это для тех, кто любит с точностью до одного тика в пятизначной котировке), поэтому никакой потери данных в Take_Profit = MathMax ( Take_Profit, NormalizeDouble( stoplevel * Point / old_point,1 ) ); не будет. За этим следит #property strict в начале кода и выдало бы предупреждение. Что-то из расчетов было перенесено в OnInit(), индикаторы пересчитываются раз в 15 минут (с образованием новой свечи на М15). Print и запись в файл из версии для оптимизации убраны. Про tick_volume я писал уже, что можем пропускать входы в редких случаях, этот вариант остался от того советника, с которого все начиналось.

Добавлено: 25-05-2016 15:14:25

В функции открытия ордеров имеется цикл из пяти попыток открыться, если с первого раза помешали.

Добавлено: 26-05-2016 13:29:09

Обновления.

Generic_A-TLP_v.11.1.mq494 скач.
Generic_A-TLP_v.11.1_optim.mq480 скач.

Изменено 26 мая, 2016 пользователем yur4ello

#127

Ребят, а как дела обстоят с сетами, что ставить-то?:)

Автор#128


Ребят, а как дела обстоят с сетами, что ставить-то?:)


Я отправил замечания к версии 11.
По готовности сделаю сет для оптимизации и укажу желательные пары.
Они будут выложены тут.
Потом приходи.
Ты пока денег подкопи на тестовый реал))))))
А то ночника на демке гонять не серьёзно :d
200-300 хватит на все пары лотом 0,01.
#130

Решил прогнать новую версию 11.1 и заметил что функции "разнонаправленные позиции" не работает, что при true\false на прогоне выдает идентичные результаты..(
П.С. прогон с 2010- по текущий год

#131

Работает просто таких сделок мало... (:|

#132
Спойлер

Цитата


Работает просто таких сделок мало... (:|


за шесть лет =0 по паре EURCHF )))
тогда не вижу перспективы в этой функции,ИМХО
#133

Sergey5, а значения периода StDev принципиально не стали выносить в настройки? Можно и его оптимизировать.

#134
Спойлер


Sergey5, а значения периода StDev принципиально не стали выносить в настройки? Можно и его оптимизировать.


Индикатор полос Болинждера рассчитывается из MA +- стандартное отклонение и с одинаковым значением периода расчета. Чтобы не вызывать BB, который в свою очередь вызовет при расчете МА и StDev, мы сами все считаем, тем самым укорачивая цепочку вызовов. И мой ответ на Ваш вопрос: Да, мы специально не вынесли параметры StDev в настройки, потому, что система строилась на Bollinger Bands.
Можно, конечно, вынести этот параметр во внешние переменные, но думаю, что чем больше настроек, тем сложнее будет настроить робота.
Mamotaro, будьте добры, скиньте мне, можно в личку, Вашу 4-ю версию. У меня что-то не получается с ней таких результатов, как у Вас.
#135
Спойлер


Спойлер


Sergey5, а значения периода StDev принципиально не стали выносить в настройки? Можно и его оптимизировать.


Индикатор полос Болинждера рассчитывается из MA +- стандартное отклонение и с одинаковым значением периода расчета. Чтобы не вызывать BB, который в свою очередь вызовет при расчете МА и StDev, мы сами все считаем, тем самым укорачивая цепочку вызовов. И мой ответ на Ваш вопрос: Да, мы специально не вынесли параметры StDev в настройки, потому, что система строилась на Bollinger Bands.
Можно, конечно, вынести этот параметр во внешние переменные, но думаю, что чем больше настроек, тем сложнее будет настроить робота.
Mamotaro, будьте добры, скиньте мне, можно в личку, Вашу 4-ю версию. У меня что-то не получается с ней таких результатов, как у Вас.


Я не буду настаивать на изобретении катамарана на гусенечном ходу, но сама по себе идея оптимизировать этот параметр имеет смысл. Кому нужно - сами могут в коде добавить перед переменной слово "input".

Да, и еще, для особых гурманов, индикатор StDev можно заменить на ATR. Это будет катамаран с альтернативной тягой.

Изменено 27 мая, 2016 пользователем Yuri070

#136
Спойлер


У меня торговля идет во всех сетах с 20 до 23 часов...так что это не должно влиять


На скриншотах видно, что в версии 4 End_Trade_Hour = 23. Это значит, что последний час, когда открываются сделки это 23. Т.е. 23:25 или 23:48, например, сделки ОТКРОЮТСЯ. В более поздних версиях были расширены настройки времени и изменен их вид, на более привычный. Например mondey_close = 23:00 означает, что в 23:01 и далее сделки уже НЕ ОТКРОЮТСЯ.
#137

yur4ello, при тестировании с отдельными сетами последней версии вылетает ошибка 130 (неправильные стопы). Редко, но вылетает. Если закомментировать строку, где стоп лосс равен большему из двух чисел, в том числе стоп левелу, ошибки нет. Тестирую на альпари есн. Стоп левел равен 0. Скрины пока приложить не могу, пишу с чужого компьютера.

#138

Коллеги, давайте договоримся, если вы обнаружили ошибку или неточность в работе советника, вместе со словесным описанием проблемы указывайте:
- о какой версии идет речь,
- прикладывайте сеты,
- полный стейтмент где видны открываемые и закрываемые сделки
- и, желательно, скрин того, что повергло вас в изумление.

А также, если что-то меняете в коде и ошибка пропадает, укажите номер строки и ваши действия.

Давайте работать как одна команда и экономить друг другу время. Спасибо.

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

#139


Коллеги, давайте договоримся, если вы обнаружили ошибку или неточность в работе советника, вместе со словесным описанием проблемы указывайте, о какой версии идет речь, прикладывайте сеты, полный стейтмент где видны открываемые и закрываемые сделки и, желательно, скрин того, что повергло вас в изумление. А также, если что-то меняете в коде и ошибка пропадает, укажите номер строки и ваши действия. Давайте работать как одна команда и экономить друг другу время. Спасибо.


Рекомендации об оптимальном порядке взаимодействия с разработчиком уже давались в:
/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=284781
/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=286505

Просьба прислушаться и соблюдать.
#140
Спойлер


Коллеги, давайте договоримся, если вы обнаружили ошибку или неточность в работе советника, вместе со словесным описанием проблемы указывайте:
- о какой версии идет речь,
- прикладывайте сеты,
- полный стейтмент где видны открываемые и закрываемые сделки
- и, желательно, скрин того, что повергло вас в изумление.

А также, если что-то меняете в коде и ошибка пропадает, укажите номер строки и ваши действия.

Давайте работать как одна команда и экономить друг другу время. Спасибо.



К сожалению скрины и сеты приложить теперь не получится, не сохранились. Если строку 182 сделать так: //Stop_Loss = MathMax(Stop_Loss,NormalizeDouble(stoplevel * Point / old_point,1)); ошибка пропадает. Версия 11.1. Предыдущие до 9 тоже. Ранние версии не смотрел. Неужели кроме меня никто оптимизацией не занимается? Если кому-то попадется сет, в результате которого выскакивает ошибка 130, выложите, пожалуйста.

Изменено 29 мая, 2016 пользователем Yuri070

#141
Спойлер


Спойлер


Коллеги, давайте договоримся, если вы обнаружили ошибку или неточность в работе советника, вместе со словесным описанием проблемы указывайте:
- о какой версии идет речь,
- прикладывайте сеты,
- полный стейтмент где видны открываемые и закрываемые сделки
- и, желательно, скрин того, что повергло вас в изумление.

А также, если что-то меняете в коде и ошибка пропадает, укажите номер строки и ваши действия.

Давайте работать как одна команда и экономить друг другу время. Спасибо.



К сожалению скрины и сеты приложить теперь не получится, не сохранились. Если строку 182 сделать так: //Stop_Loss = MathMax(Stop_Loss,NormalizeDouble(stoplevel * Point / old_point,1)); ошибка пропадает. Версия 11.1. Предыдущие до 9 тоже. Ранние версии не смотрел. Неужели кроме меня никто оптимизацией не занимается? Если кому-то попадется сет, в результате которого выскакивает ошибка 130, выложите, пожалуйста.

Не вижу никаких проблем с этой строкой. Скорее всего дело в настройках. Предположу некоторое развитие событий, которое могло привести к подобной ошибке, не утверждаю что так и было, просто размышления. Итак, решили провести тест на выходных, установили в тестере значение спреда . На выходные спред, как правило, расширяется. И когда установлено "текущий", берется последнее известное значение. А если в настройках значение стоп лосса меньше чем этот спред выходного дня, то получим ошибку 130 (неправильные стопы).
#142
Спойлер


Спойлер


Спойлер


Коллеги, давайте договоримся, если вы обнаружили ошибку или неточность в работе советника, вместе со словесным описанием проблемы указывайте:
- о какой версии идет речь,
- прикладывайте сеты,
- полный стейтмент где видны открываемые и закрываемые сделки
- и, желательно, скрин того, что повергло вас в изумление.

А также, если что-то меняете в коде и ошибка пропадает, укажите номер строки и ваши действия.

Давайте работать как одна команда и экономить друг другу время. Спасибо.



К сожалению скрины и сеты приложить теперь не получится, не сохранились. Если строку 182 сделать так: //Stop_Loss = MathMax(Stop_Loss,NormalizeDouble(stoplevel * Point / old_point,1)); ошибка пропадает. Версия 11.1. Предыдущие до 9 тоже. Ранние версии не смотрел. Неужели кроме меня никто оптимизацией не занимается? Если кому-то попадется сет, в результате которого выскакивает ошибка 130, выложите, пожалуйста.

Не вижу никаких проблем с этой строкой. Скорее всего дело в настройках. Предположу некоторое развитие событий, которое могло привести к подобной ошибке, не утверждаю что так и было, просто размышления. Итак, решили провести тест на выходных, установили в тестере значение спреда . На выходные спред, как правило, расширяется. И когда установлено "текущий", берется последнее известное значение. А если в настройках значение стоп лосса меньше чем этот спред выходного дня, то получим ошибку 130 (неправильные стопы).


Нет, спред 3 пункта старых и стоп лосс больше 20 пунктов. Может быть несколько сотен нормальных сделок, а потом на одной не устанавливается сл и все. Дело в том, что и я не вижу проблем с этой строкой, но тем не менее проблема имеет место быть. Подождем, может еще у кого такая проблема появится, тогда нужно будет конкретно разбираться. А так если я знаю, что у меня стоп левел равен нулю то и эта строка не нужна. По многим сэтам при одинаковых условиях такая ошибка не появляется вообще. Если будет время попробую подобрать проблемный сет.

Изменено 29 мая, 2016 пользователем Yuri070

#143

Очередная версия. Все-таки добавлен CCI (в настройках отключается) и вынесен во внешние параметры период StDev.

Generic_A-TLP_v.11.2.mq472 скач.
Generic_A-TLP_v.11.2_optim.mq470 скач.

#144

Я использую похожий советник, только кроме канала по бб у меня еще пяток разновидностей каналов. Но суть-то одна.
Что хочу вам посоветовать: фильтр по сси это хорошо, но не для любой пары. Для некоторых лучше подходит стох, демаркер или впр.
Выход по сси - тоже неплохо, но советую присмотреться также параллельно к стохастику.
Фильтром неплохим также могут служить фракталы.
Вот вам мои советы. Они не голословны, бот по точно такому принципу сигнала у меня давно уже трудится на реале.


Добавлено: 29-05-2016 15:15:23

И да, разные фильтры лучше показывают себя на одних парах и хуже на других, поэтому однозначно отключаемые. И еще - на некоторых парах могут сразу нескольно фильтров работать, на некоторых ни одного. Это нормально.

Изменено 29 мая, 2016 пользователем Silentspec

#145

Судя по всему народ ждет готовых сетов, которые можно было бы установить на реал и рубить бабло, либо файла оптимизации, который пообещал Sergey5. Свой вариант сетфайла я выложил. Более достойного, в т.ч. по другим парам, пока нет. В итоге в ветке активности не ощущается.

Автор#146

Версия 11.3 выложена в первый пост.
Сет для оптимизации.
Время в сете установлено летнее для Тикмилл, Робо, Альпы и т.п.
Начало торговли в понедельник 00-30.
В течении недели торговля открыта с 22-00 до 01-00.
Вечер пятницы выключен.
Паузы для открытия сделок:
23-54 - 00-30.
Паузы на ролловер, во время которых открытые сделки
не будут закрываться по сигналам ЕА, но ТП и СЛ остаются:
23-55 - 00-35.
Установлен фикслот размером 0,1.
Максспред = 50.
+++++++++++++++++++++++++++++++
Пары для оптимизации.
ТФ М15.
GBPCAD спред для оптимизации = 40.
USDCHF = 25.
EURCHF = 25.
USDCAD = 25.
EURCAD = 40.
EURAUD = 30.
GBPAUD = 35.
CADJPY = 20.
CHFJPY = 35.

Результаты оптимизации необходимо сохранять в виде таблицы эксель.
И указывать даты оптимизируемого периода.
Чтобы можно было выбрать и сравнить варианты.
Итоговые сеты должны сопровождаться бэктестом минимум за 1 год.

Названия сетов должны быть такого типа:
"Generic A-TLP v11.3_GBPCAD_M15_N1586_свой ник".
Номер сета должен соответствовать номеру прогона в таблице оптимизации.


Generic_A-TLP_ver_11_3_OPTIMA.set96 скач.

Изменено 30 мая, 2016 пользователем Sergey5

#147

Я предлагаю сопровождать сеты комментарием периода оптимизации и периода форвард теста (не менее полугода). Чтобы было единообразие, предлагаю применять нач. депозит 1000usd и фикс. лот 0.1. Sergey5, если нет возражений, добавьте в предыдущий пост. Я сейчас беру пару USDCHF. Когда будут результаты, отпишусь. Было бы эффективней, если бы разобрали по одной оставшиеся пары.

Автор#149

Версию 11.3 выложил в первый пост.
Yuri070,
не вижу принципиальной разницы в размере начального баланса (1000 или 10 000) при тесте фикслотом 0,1. Результат всё равно смотрим не в %%.
И если он сливает на 1000, то такой тест сразу можно отбрасывать.
При тестах пар с CHF надо помнить, что период с 15 янв. 2015 по май 2015 оптить смысла нет. Там был другой спред. А до 15 янв. 2015 у франка была совсем иная жизнь. Тихая, провинциально-буржуйская b-)

Если кто берёт какие пары в оптиму - пишите тут.

#150
Sergey5,
хотел уточнить по поводу сета оптимизации в параметрах:
StopLoss _30-100
TakeProfit_25-50
тут что-то не то.... тут или значения только для 4-х значных котах, или ошибка
потому как это в идеале на 5-ти значных котах выглядит так:
= 0.00300-0.01000
= 0.00250-0.00500

На скине видно (сузил), параметры:
StopLoss =100
TakeProfit = 35

чарт.png

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

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