Jump to content

Советник: Чебурашка


Recommended Posts

Programmer
Добрый день!

А как предполагалось заново запускать советник?

 

Убрать с графика/заново закинуть, или же просто изменить параметры советника после того, как он ушел в гибернацию.

 

Кирилл

Link to post
Share on other sites
  • Replies 4.1k
  • Created
  • Last Reply

Top Posters In This Topic

  • Programmer

    637

  • Mooving

    563

  • Golden Dragon

    191

  • Волкоф

    144

Top Posters In This Topic

Popular Posts

Никак не влияет.

Здравствуйте, люди!!!!   Рад Вам сообщить! Посадил я вообщем чебурминатора на реальный счёт и начал оптимизировать. Вот. Слил 400 баксов... Потом посадил его на демо-счёт с 200 евро... И только сег

Да мысль простая. Использую две линии и расчет StopLoss и TakeProfit т.к. в ходе торговли изменяю расстояние между линиями и их положение по ценовой оси. Но т.к. это тренажер, то и не есть суть важно.

Posted Images

Ale111
Добрый день!

А как предполагалось заново запускать советник?

 

Добрый!

Судя по тому, что советник не удаляется с графика, а только прерывает свою работу, то должен запускать новую серию после завершения предыдущей. Этого не происходит. Алерт показывает Load successfull.Continuing work-загрузку файла, причем данные файла все старые, от предыдущей серии, в т.ч. по BuyStopPrice. Что-то не то. К тому же ещё надо проверять другой режим, когда сначала вкл-выкл терминал, а потом уже запуск новой серии, но рынок спит...

Link to post
Share on other sites
Programmer
Добрый!

Судя по тому, что советник не удаляется с графика, а только прерывает свою работу, то должен запускать новую серию после завершения предыдущей. Этого не происходит. Алерт показывает Load successfull.Continuing work-загрузку файла, причем данные файла все старые, от предыдущей серии, в т.ч. по BuyStopPrice. Что-то не то. К тому же ещё надо проверять другой режим, когда сначала вкл-выкл терминал, а потом уже запуск новой серии, но рынок спит...

 

Приветствую,

 

Немного не понял Ваш вопрос.

 

Тем не менее, попробуйте новую версию v19.0q_i, где я упростил ручной перезапуск системы. Теперь когда Вы видите надпись:

 

"System Has Been Switched Off"

 

все, что необходимо сделать - это нажать на график правой кнопкой мыши, зайти в свойства эксперта, задать новый BuyStopPrice (и другие настройки при необходимости), и нажать "OK". После чего советник начнет новую серию.

 

:drv:

 

ASN1, я так понимаю, что это то, что Вы хотели.

 

Кирилл

Cheburashka v19.0q_i.rar

Link to post
Share on other sites
ASN1
Убрать с графика/заново закинуть, или же просто изменить параметры советника после того, как он ушел в гибернацию.

 

Кирилл

 

 

Просто изменить параметры - не срабатывает, ничего не получается и при загрузке установочного файла: о готовности к вводу BuyStopPrice советник не сообщает. Ввод новой цены ничего не меняет, советник продолжает спать.

Убрать с графика/заново закинуть - это наверняка будет работать, еще не проверял.

Я так понимаю, что по каким то причинам прервать работу оказалось проще, чем полностью удалить с графика? Или есть еще какие-то преимущества именно прерывания?

Пока писал, уже поступила новая информация...

Edited by ASN1
Link to post
Share on other sites
ASN1
Приветствую,

 

Немного не понял Ваш вопрос.

 

Тем не менее, попробуйте новую версию v19.0q_i, где я упростил ручной перезапуск системы. Теперь когда Вы видите надпись:

 

"System Has Been Switched Off"

 

все, что необходимо сделать - это нажать на график правой кнопкой мыши, зайти в свойства эксперта, задать новый BuyStopPrice (и другие настройки при необходимости), и нажать "OK". После чего советник начнет новую серию.

 

:drv:

 

ASN1, я так понимаю, что это то, что Вы хотели.

 

Кирилл

 

Спасибо!

Конечно так будет удобно, если так же надежно, как и удаление / заброс советника на график.

Link to post
Share on other sites
ASN1
Добрый!

Судя по тому, что советник не удаляется с графика, а только прерывает свою работу, то должен запускать новую серию после завершения предыдущей. Этого не происходит. Алерт показывает Load successfull.Continuing work-загрузку файла, причем данные файла все старые, от предыдущей серии, в т.ч. по BuyStopPrice. Что-то не то. К тому же ещё надо проверять другой режим, когда сначала вкл-выкл терминал, а потом уже запуск новой серии, но рынок спит...

 

Для спящего рынка при тестировании целесообразно использовать узкий канал и маленький тейк. Я устанавливаю SL= 15, TP=5. BuyStopPrice выбираю так, чтобы цена была внутри канала. В какую-нибудь сторону, да на разных валютных парах (спред не более 3-х) обязательно срабатывает.

А где сработало теперь магик подсказывает:applause:.

Link to post
Share on other sites
Ale111
Для спящего рынка при тестировании целесообразно использовать узкий канал и маленький тейк. Я устанавливаю SL= 15, TP=5. BuyStopPrice выбираю так, чтобы цена была внутри канала. В какую-нибудь сторону, да на разных валютных парах (спред не более 3-х) обязательно срабатывает.

А где сработало теперь магик подсказывает:applause:.

Спасибо, но я так и делаю, Для теста на демо даже SL= 8, TP=3, BuyStopPrice ближе к Ask/Bid .

Я попал на время дня, когда рынок почти уснул.

Link to post
Share on other sites
ASN1
Приветствую,

 

Немного не понял Ваш вопрос.

 

Тем не менее, попробуйте новую версию v19.0q_i, где я упростил ручной перезапуск системы. Теперь когда Вы видите надпись:

 

"System Has Been Switched Off"

 

все, что необходимо сделать - это нажать на график правой кнопкой мыши, зайти в свойства эксперта, задать новый BuyStopPrice (и другие настройки при необходимости), и нажать "OK". После чего советник начнет новую серию.

 

:drv:

 

Дважды попытался так сделать, пока не получается, новая серия не начинается (задавал только новый BuyStopPrice) . После ввода новой цены появляется сообщение "Система готова к вводу новой цены...". Повторный ввод другой новой цены ничего не меняет, сообщение остается, новая серия не начинается.

Edited by ASN1
Link to post
Share on other sites
Ale111
Приветствую,

 

Немного не понял Ваш вопрос.

 

Тем не менее, попробуйте новую версию v19.0q_i, где я упростил ручной перезапуск системы. Теперь когда Вы видите надпись:

 

"System Has Been Switched Off"

 

все, что необходимо сделать - это нажать на график правой кнопкой мыши, зайти в свойства эксперта, задать новый BuyStopPrice (и другие настройки при необходимости), и нажать "OK". После чего советник начнет новую серию.

 

:drv:

 

Дважды попытался так сделать, пока не получается, новая серия не начинается (задавал только новый BuyStopPrice) . После ввода новой цены появляется сообщение "Система готова к вводу новой цены...". Повторный ввод другой новой цены ничего не меняет, сообщение остается, новая серия не начинается.

У меня аналогично, еще появляется строка алерта " Load successfull.Continuing work-загрузка файла, причем данные файла все старые. В предыдущей версии советника было тоже самое.

Link to post
Share on other sites
Ale111

 

У меня аналогично, еще появляется строка алерта " Load successfull.Continuing work-загрузка файла, причем данные файла все старые. В предыдущей версии советника было тоже самое.

Инфа для Кирилла.

После этого, следуя логики теста, сегодня восстановил две строки кода в модуле restart в виде:

 

BuyStopPrice = 0.0; //v19.0o_i //v19.0p_ii

LOAD_DATA = False; Print("Cheburashka: LOAD_DATA set to False"); //v19.0o_i //v19.0p_ii

 

В результате попытка открытия новой серии, по новой цене получилась.

Конечно надо внимательно все перепроверить и с учетом вкл-выкл терминала в разных комбинациях. Но пока до Америки рынок очень вялый.

Link to post
Share on other sites
Ale111
Инфа для Кирилла.

После этого, следуя логики теста, сегодня восстановил две строки кода в модуле restart в виде:

 

BuyStopPrice = 0.0; //v19.0o_i //v19.0p_ii

LOAD_DATA = False; Print("Cheburashka: LOAD_DATA set to False"); //v19.0o_i //v19.0p_ii

 

В результате попытка открытия новой серии, по новой цене получилась.

Конечно надо внимательно все перепроверить и с учетом вкл-выкл терминала в разных комбинациях. Но пока до Америки рынок очень вялый.

Добавлю. Хотя новая серия открылась и когда также достигла профита, советник почему то самоудалился. Это было один раз. Может функция deinit не вписалась в отведенные ей 2.5 секунды для этого рынка-не буду гадать (и это в принципе не критично!)

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

Link to post
Share on other sites
Programmer
Инфа для Кирилла.

После этого, следуя логики теста, сегодня восстановил две строки кода в модуле restart в виде:

 

BuyStopPrice = 0.0; //v19.0o_i //v19.0p_ii

LOAD_DATA = False; Print("Cheburashka: LOAD_DATA set to False"); //v19.0o_i //v19.0p_ii

 

В результате попытка открытия новой серии, по новой цене получилась.

Конечно надо внимательно все перепроверить и с учетом вкл-выкл терминала в разных комбинациях. Но пока до Америки рынок очень вялый.

 

Спасибо за информацию, Ale111.

Вас понял, в ближайшее время проверю.

 

Кирилл

Link to post
Share on other sites
Sergey007

Здравствуйте. Есть ли версия автомата, начинающего работать в определенное время? Если серия завершилась, снова начинает работать только в указанное время, спасибо.

Link to post
Share on other sites
ASN1

Всех с Новым Годом! Чебурашке надежности, удачи и долголетия!

Link to post
Share on other sites
Programmer
Здравствуйте. Есть ли версия автомата, начинающего работать в определенное время? Если серия завершилась, снова начинает работать только в указанное время, спасибо.

 

Приветствую,

 

К сожалению, такой версии у Чебурашки нет.

 

Кирилл

Link to post
Share on other sites
Programmer
Всех с Новым Годом! Чебурашке надежности, удачи и долголетия!

 

Спасибо, ASN1

Присоединяюсь к поздравлениям - С Новым 2014 Годом!

Уcпехов, удачи и попутного тренда.

 

post-50854-1404220629,7352_thumb.jpg

 

:6: Кирилл

Edited by Programmer
Link to post
Share on other sites
  • 3 weeks later...
ASN1

#3790 …Доработку "закрыть все" тоже можно сделать. Однако, Вы ведь понимаете, что в результате действий предполагаемого модуля вся серия будет моментально закрыта? Т.е. работа советника будет прервана до достижения прибыльного исхода и возможны существенные убытки.

#3845 ….В случае же выключения советника и открытия новой серии получится две независимых серии (конечно, мысленно их можно объединить)….. Кроме того, приостановка работы (не выключение) позволит продолжить серию в другом месте или в другое время….

…находимся возле границы коридора, ожидается выход "сильной" новости, увеличивается вероятность проскальзывания…. Находимся в рынке середине серии, приближается ночь. Не хотим, чтобы продолжалась работа в ночное время. Приостанавливаем работу до утра. Для многих валютных пар достаточно высока вероятность продолжить работу в районе места приостановки (в противном случае продолжим работу в любом удобном месте)…..

#3912 К сожалению, защиту от спонтанных движений цены во время новостей реализовать невозможно. Отложенный ордер уже находится в рынке, и он срабатывает по той цене, которая есть. О проскальзывании мы уже узнаем пост-фактум.

Советую не торговать во время подобных движений, или же принимать во внимание подобные риски.

Кирилл

#3932 На текущий момент борьба с проскальзыванием, пожалуй, наиболее актуальная задача для улучшения работы советника.

#3975 "В целом, я не советую торговать на новостях, особенно при быстрых движениях рынка".

В этом мы единодушны, о чем я говорил ранее при обсуждении этого вопроса. Перед выходом новостей лучше не входить в рынок. …. Именно поэтому ранее и предлагалось не выключать советник, а приостанавливать его работу.

#3987 …хотелось бы иметь возможность одноразового смещения канала в произвольный момент времени….. Перемещение одной из границ канала за локальный экстремум уменьшает вероятность наращивания числа шагов в серии.

 

Предлагается общее простое(?) решение указанных выше проблем. Суть его заключается в ПЕРЕЗАПУСКЕ советника. В данном случае под этим термином будем понимать следующее.

ПЕРЕЗАПУСК ЧЕ – закрытие/удаление пары ордеров (рыночного и отложенного), выключение (удаление) советника и повторная его установка (включение). При этом запоминаются значения зафиксированного убытка, текущего убытка/прибыли серии, лот рыночного ордера. Запомненные значения используются при повторном запуске советника.

Значения зафиксированного убытка и текущего убытка/прибыли серии используется вместо начальных нулевых значений Rolling Loss и Accum Loss, а значение лота рыночного ордера устанавливается вместо значения первого лота исходной серии. Исходная последовательность лотов соответственно сдвигается.

Если при повторной установке использовать настройки, отличные от исходных, то можно продолжить серию с другими характеристиками. Например, изменение BuyStopPrice переместит канал на новое место, увеличение/уменьшение SL расширит/сузит канал.

 

 

Возможные варианты реализации (по возрастанию сложности)

 

1. Все что требуется, это в настройки советника дополнительно ввести параметры Rolling Loss и Accum Loss. По умолчанию устанавливаются нулевые значения.

Процедура перезагрузки осуществляется вручную. Записываются на бумаге :neutral: необходимые значения, закрывается/удаляется рыночный и отложенный ордер, удаляется советник. Через любой промежуток времени советник загружается обычным образом, в настройках вводятся запомненные значения Rolling Loss, Accum Loss, а также значения сдвинутой последовательности лотов, в которой лот исходного рыночного ордера считается первым.

2. Дополнять настройки новыми параметрами не требуется, но создается кнопка ПЕРЕЗАПУСК. После нажатия этой заветной кнопочки вручную закрываются/удаляются ордера, выключается (удаляется) советник, а на графике остается кнопка ПЕРЕЗАПУСК (неактивная). Через любой промежуток времени советник вручную устанавливается повторно. После этого кнопка ПЕРЕЗАПУСК вновь становится активной.

При перезапуске, наряду с магиком, автоматически запоминаются и затем автоматически устанавливаются значения зафиксированного убытка и текущего убытка/прибыли серии. Остальные необходимые параметры, в том числе и сдвинутая последовательность лотов, вводятся вручную в настройках при повторной установке советника.

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

3. Отличается от варианта 2 только тем, что при перезапуске автоматически запоминаются и автоматически устанавливаются не только магик, значения зафиксированного убытка и текущего убытка/прибыли серии, но и последовательность лотов, в которой лот исходного рыночного ордера считается первым.

4. Из области мечтаний.

После нажатия заветной кнопочки ПЕРЕЗАПУСК автоматически закрываются ордера, удаляется/выключается советник. Предлагается подтвердить или изменить настройки для повторного запуска и указать его время (я предпочел бы повторный запуск делать вручную, но часто просят включить такой параметр в настройки наряду с возможностью приостановки работы советника по времени, например, в пятницу вечером). Предлагаемая в настройках последовательность лотов уже модифицирована как указано выше.

После нажатия ПЕРЕЗАПУСК (или автоматически в указанный момент времени ) повторно запускается советник с ранее подтвержденными настройками.

 

Таким образом, простая (?) процедура запоминания и установки необходимых значений, не затрагивающая (?) основной алгоритм советника, позволит реализовать ряд полезных востребованных функций:

Приостановка торговли с последующим продолжением серии;

Страховка от проскальзывания в ожидании «быстрого» рынка;

Изменение последовательности лотов незаконченной серии;

Ручное скачкообразное смещение канала (скачущий Чебурашка);

Ручное расширение/сужение канала.

Возможно комбинирование функций, например, расширение канала с одновременным его смещением.

 

Степень автоматизации выполнения указанных функций зависит от варианта реализации ПЕРЕЗАПУСКА ЧЕ.

 

Хотел все это изложить позже, после завершения отладки последней версии. Но отладка буксует из-за нюансов процедуры выключения ("спячки", удаления) советника. Может быть при решении возникших трудностей будут учтены особенности процедуры выключения при ПЕРЕЗАПУСКЕ ЧЕ.

Edited by ASN1
Link to post
Share on other sites
Ale111

 

Предлагается общее простое(?) решение указанных выше проблем. Суть его заключается в ПЕРЕЗАПУСКЕ советника. .

Из моего поста №3706:

"... Поэтому для снижения риска при достижении определенной просадки можно "заморозить" обычную работу советника до момента когда цена устойчиво покинет (с запасом) коридор флэта и можно открывать новые ордера в профит, на ином уровне."

К сожалению эта идея тогда не удостоилась дальнейшего обсуждения.

Сейчас Вы предметно развиваете эту тему, солидарен и благодарю!

Link to post
Share on other sites
ASN1
Из моего поста №3706:

"... Поэтому для снижения риска при достижении определенной просадки можно "заморозить" обычную работу советника до момента когда цена устойчиво покинет (с запасом) коридор флэта и можно открывать новые ордера в профит, на ином уровне."

К сожалению эта идея тогда не удостоилась дальнейшего обсуждения.

Сейчас Вы предметно развиваете эту тему, солидарен и благодарю!

 

Спасибо за поддержку! Чем больше участников одобрят предложение, тем выше вероятность его реализации.

Link to post
Share on other sites
Programmer

Предлагается общее простое(?) решение указанных выше проблем. Суть его заключается в ПЕРЕЗАПУСКЕ советника.

 

ASN1, хочу Вас поблагодарить за подробное изложение предложенной модификации. :6:

 

Особенно, меня впечатлило четкое описание различных вариантов реализации в зависимости от сложности. Я все внимательно прочитал и в ближайщее время отвечу Вам, как мы поступим.

 

Поскольку тема поднималась ранее, и Ale111 тоже Вас поддерживает, а самое главное - Вы очень грамотно все описали, возможно, данная идея стоит реализации.

 

Кирилл

Link to post
Share on other sites
  • 2 weeks later...
Programmer

Приветствую,

В новой версии исправлен следуюзий ньюанс:

 

Инфа для Кирилла.

После этого, следуя логики теста, сегодня восстановил две строки кода в модуле restart в виде:

 

BuyStopPrice = 0.0; //v19.0o_i //v19.0p_ii

LOAD_DATA = False; Print("Cheburashka: LOAD_DATA set to False"); //v19.0o_i //v19.0p_ii

 

В результате попытка открытия новой серии, по новой цене получилась.

 

А именно, при завершении серии (профит или нет) контрольные переменные выставляются в следующие состояния:

 

   BuyStopPrice = 0.0;                                               //v19.0o_i     //v19.0p_ii    //v19.0r_i
  LOAD_DATA = False; Print("Cheburashka: LOAD_DATA set to False");  //v19.0o_i     //v19.0p_ii    //v19.0r_i

  BSP   = BuyStopPrice;         //needed restart flag
  flag  = 1;                    //main restart flag

  WORK = true;  //v19.0r_i

 

Проверил на тестере - данная настройка приводит систему в состояние "Ready to input BuyStopPrice":

 

post-50854-1404220743,7411_thumb.jpg

 

Просьба проверить на демо - начнет ли советник новую серию после ввода новой цены BSP ?

 

:6:

 

Предлагается общее простое(?) решение указанных выше проблем. Суть его заключается в ПЕРЕЗАПУСКЕ советника.

 

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

 

В таком случае, лоты останутся все те же, что и при начальном запуске, просто советник начнет, например с 5-го лота в настройках. Останется только сохранить аккумулированный лосс в глобальную переменную, и оттуда подтягивать это значение при продолжении работы.

 

К тому же, я бы хотел сначала быть уверенным, что все довольны версией v19.0r_i, прежде, чем мы пойдем далее. Более того, с выходом нового языка MQL4, который ожидается очень скоро, могут начать происходить сбои. Т.е. сначала необходимо будет соответствующим образом изменить код советника, прежде чем продолжать наработки.

 

На данный момент, просьба посмотреть версию v19.0r_i и сообщить, если все в порядке.

 

:drv:

 

Кирилл

Cheburashka v19.0r_i.rar

Link to post
Share on other sites
ASN1

Добрый день!

 

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

В таком случае, лоты останутся все те же, что и при начальном запуске, просто советник начнет, например с 5-го лота в настройках. "

 

По сути это удачная детализация варианта 3 относительно используемой последовательности лотов:

"Вариант3. При перезапуске автоматически запоминаются и автоматически устанавливаются не только магик, значения зафиксированного убытка и текущего убытка/прибыли серии, но и последовательность лотов, в которой лот исходного рыночного ордера считается первым."

 

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

 

Кроме того, введение указанного параметра значительно облегчит реализацию одной из полезных функций, перечисленных ранее:

"Изменение последовательности лотов незаконченной серии".

 

Так же это может оказаться полезным и при первом включении советника, обеспечивая возможность выбора начального лота.

 

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

 

Я правильно понимаю, что в данном случае "аккумулированный лосс" будет учитывать текущий убыток/прибыль на момент приостановки и в принципе может иметь и положительное значение?

Link to post
Share on other sites
Programmer
Я правильно понимаю, что в данном случае "аккумулированный лосс" будет учитывать текущий убыток/прибыль на момент приостановки и в принципе может иметь и положительное значение?

 

Да, это верно.

Самое сложное, вероятнее всего, будет концептуально "склеить" серии. А именно, первая серия прерывается на незаконченном лоте N. Где начинать следующую - заново на лоте N или на лоте N+1 ??

 

Кирилл

Link to post
Share on other sites
ASN1
Да, это верно.

Самое сложное, вероятнее всего, будет концептуально "склеить" серии. А именно, первая серия прерывается на незаконченном лоте N. Где начинать следующую - заново на лоте N или на лоте N+1 ??

 

Кирилл

 

Мне думается, что по умолчанию начинать следующую серию надо с лота N. Если возможный текущий убыток от сделки с лотом N воспринимается как "существенный" (непременно хочется его компенсировать последующей серией), то вручную можно установить лот N+1.

 

Если имеется текущий убыток от сделки с лотом N, то его лучше считать "платой" за ПЕРЕЗАПУСК ЧЕ (не следует забывать, что будут ситуации с текущей прибылью и вместо "платы" получится "премия" :-?). В противном случае следующую серию начинать с лота N+1 и "платой" за это будет уменьшение числа шагов на единицу. Выбор останется за пользователем.

Edited by ASN1
Link to post
Share on other sites
ASN1
Приветствую,

 

 

Просьба проверить на демо - начнет ли советник новую серию после ввода новой цены BSP ?

 

:6:

 

К тому же, я бы хотел сначала быть уверенным, что все довольны версией v19.0r_i, прежде, чем мы пойдем далее. Более того, с выходом нового языка MQL4, который ожидается очень скоро, могут начать происходить сбои. Т.е. сначала необходимо будет соответствующим образом изменить код советника, прежде чем продолжать наработки.

 

На данный момент, просьба посмотреть версию v19.0r_i и сообщить, если все в порядке.

 

:drv:

 

Кирилл

 

Добрый день!

После ввода новой цены BSP советник начинает новую серию, работает нормально. Если же после достижения профита и предложения ввести цену, выключить-включить терминал, то несанкционированно устанавливаются два первых отложенных ордера в соответствии со старой ценой, остающейся в настройках.

Link to post
Share on other sites
  • Capman locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...