Jump to content

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


Recommended Posts

Programmer
Добрый день, Кирилл! Рад снова видеть квалифицированные и доброжелательные ответы, возможности пообщаться.

Хотелось бы еще несколько уточнений.

1. "Новый ордер выставляется сразу по получении нового тика".

Правильно ли я понимаю следующее.

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

 

Например, для канала шириной 20п. (SL=20) и спреда=3п. при закрытии ордера Buy по стоп-лоссу, начиная с тикового графика должен наблюдаться гэп вниз размером не менее 17п.?

 

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

 

2.Если модули не используются, расчеты все равно производятся или это равносильно "убрать"?

 

Выставите UseZeroLossStrategy = False, этого должно быть достаточно.

 

3.Может заменить МТ4 на МТ5?

 

Это уже личные предпочтения - каждому на свой вкус и цвет.

 

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

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

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

Новость может оказаться незапланированной.

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

Именно поэтому ранее и предлагалось не выключать советник, а приостанавливать его работу.

 

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

 

Кирилл

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

Programmer
Все что нужно для эффективной работы Чебурашки - это заставить его работать в период нестабильного рынка.

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

 

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

Движение должно быть больше ширины большего канала Чебурашки ТП-ТП, в крайнем случае больше ширины канала СЛ-ТП. Если же амплитуда колебаний "нестабильного" рынка будет в диапазоне СЛ-СЛ - СЛ-ТП, это вызовет множество переворотов.

 

Итак, имеются следующие вариации на "нестабильности" рынка:

 

A < | SL2 - SL1 | - ничего не происходит

| SL2 - SL1 | <= A < | TP1 - SL1 | - убыточная серия

A >= | TP1 - SL1 | - прибыльная серия

 

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

 

Кирилл

Link to post
Share on other sites
ASN1

 

 

Попробуйте канал больше 20п. - это уменьшит вероятность невыставления отложенника.

 

Кирилл

 

Верно подмечено и подтверждается на практике: для каналов более 35...40 п. указанное явление пока ни разу не наблюдалось. Однако в ряде случаев вполне понятно желание уменьшить канал - от его размера сильно зависит объем начального лота.

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

Движение должно быть больше ширины большего канала Чебурашки ТП-ТП, в крайнем случае больше ширины канала СЛ-ТП. Если же амплитуда колебаний "нестабильного" рынка будет в диапазоне СЛ-СЛ - СЛ-ТП, это вызовет множество переворотов.

 

Итак, имеются следующие вариации на "нестабильности" рынка:

 

A < | SL2 - SL1 | - ничего не происходит

| SL2 - SL1 | <= A < | TP1 - SL1 | - убыточная серия

A >= | TP1 - SL1 | - прибыльная серия

 

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

 

Кирилл

 

привет. это все понятно.

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

Link to post
Share on other sites
Programmer
Верно подмечено и подтверждается на практике: для каналов более 35...40 п. указанное явление пока ни разу не наблюдалось. Однако в ряде случаев вполне понятно желание уменьшить канал - от его размера сильно зависит объем начального лота.

 

Желание уменьшить канал понятно, просто не всегда это получается.

Edited by Programmer
Link to post
Share on other sites
Programmer
привет. это все понятно.

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

 

Рывок - основопологающее предположение в Че, поэтому, естественно, данная идея обсуждалась. Однако, программно в Чебурашке это не было реализовано, поскольку у каждого свое понимание того, как отследить рывок. Например, Ваше оперделение:

 

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

 

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

 

При этом, замечу, что иногда пользователями выдвигаются стоящие идеи, которые достойны реализации, несмотря на их специфичность. Например, шагающий Чебурашка, CheMax, CheDynamite, и тд.

 

Вот хороший пример - CheMurom:

https://alpariforum.com/showthread.php?t=54322

 

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

 

Кирилл

Link to post
Share on other sites
AnriAn
Рывок - основопологающее предположение в Че, поэтому, естественно, данная идея обсуждалась. Однако, программно в Чебурашке это не было реализовано, поскольку у каждого свое понимание того, как отследить рывок.

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

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

Поскольку вопрос поднимается уже не первый раз, приведу подробное описание параметров советника и рекомендации относительно их значений:

 

int Magic = 1032; - магик номер для ордеров советника

bool Check_5Digits = true; - проверять, если котировки заданы с 5-ю знаками; если да - то умножить StopLoss и TakeProfit на 10

bool LOAD_DATA = false; - закгружать данные при разрыве связи. При свежей установке советника, необходимо выставлять этот параметр в режим false, затем менять на true

double BuyStopPrice = 0.0; - цена выставления самого первого отложенника Buy (советник сам определит, если нужен BuyStop/BuyLimit). Отложенник SellStop/SellLimit выставляется по цене BuyStopPrice - StopLoss.

int TakeProfit = 140; - тейк

int StopLoss = 70; - стоп

bool UseTrailOnly1 = false; - использовать индивидуальный трал для первого ордера

int Trail1 = 5; - настройка трала для первого ордера

bool UseTrailAll = false; - тралить все ордера

bool TrailAll_AFTER_AgrZeroLoss = false; - использовать общий трал только после достижения агрессивного Б/У (см. дальше)

int TrailAll = 10; - настройка трала для первого ордера

bool UseZeroLossStrategy = false; - пассивный Б/У, достигается путем поиска такого уровня цены для данного ордера, который выведет всю серию в Б/У. Затем Тейк текущего ордера выставляется на этот уровень

int ZeroLossT = 3; - с какого ордера начинать искать выход в пассивный Б/У

bool Agressive_UseZeroLossStrategy = false; - агрессивный Б/У, достигается путем подтягивания стоп-лосса до уровня общего Б/У после прохождения ценой данного уровня

int Agressive_ZeroLossT = 2; - с какого ордера начинать искать выход в агрессивный Б/У

int Agressive_MinPointsProfit = 20; - сколько пунктов должна цена пройти за уровень общего Б/У перед выставлением стопа на этот уровень

bool Agressive_DeleteTP = true; - удалить ТП (чтобы разрешить неограниченный рост прибыли). Данная опция будет работать только если: UseTrailAll=true и Agressive_UseZeroLossStrategy=true

string sA = "AntiRequotes parameters";модуль защиты от реквотов

int MaxAttempts = 3; - макс. число попыток высталения ордера

int DelaySeconds = 3; - задержка между попытками

string sL = "Lots"; - лоты

int MaxIterations = 10; - макс число переворотов, рекомендуется 10

double Lots_1 = 0.1;

...

double Lots_30 = 3.0;

string sM = "Monthly Profit Cap"; - лимит месячного профита

bool EnableMonthlyProfit = false; - переключатель

bool RestartProfitCount = false; - обновлять счетчик

int MaxEquity = 120; - макс. эквити по сравнению с началом месяца (%)

int MinEquity = 80; - мин. эквити по сравнению с началом месяца (%)

 

Надеюсь, что данное описание помогло.

Если остались вопросы - пишите, разберемся. Уверен, что вопросов много:6:

 

Кирилл

Да, действительно, вопросов много. Тема настолько ушла в своем развитии, что "прицепиться" сложно. Но все же начну потихоньку.

1. В теме рассматриваются два советника. Для какого советника приведены входные переменные.

2. Без алгоритма советников новому участнику разобраться почти невозможно.

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

Link to post
Share on other sites
AnriAn

Мое видение работы модификации Чебурашки' date=' основанной на индикаторе "IndTrend".

[b']Советник входит в рынок при появлении сигнала от индикатора "Тренд". Под трендом в данном случае понимается колебание рынка сверх заданного количества пунктов (TrendSize1 и TrendSize2) по времени не более, чем за заданное время (TrendTime1 и TrendTime2). Используются два варианта сигнала "Тренд" для большей эффективности советника.

Советник в процессе своей работы находится в одном из двух режимов.

Стадия 1. Рабочий режим.

Этап 1. Отработка тренда.

Цель - взять профит при входе в рынок не на конце тренда. То есть принимается, что после входа в рынок еще продолжится поступательное движение рынка, и профит можно взять с использованием трала.

Этап 2. Отработка отката.

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

Стадия 3. Режим закрытия серии.

Этап 1. Закрытие серии в режиме "Обычный".

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

Этап 2. Закрытие серии в режиме "Форс-мажор".

Цель - начиная с NumberOrderModeFM советник пытается закрыть серию с использованием поступлений от сервиса "Ребейт".

Рабочий режим направлен на получение профита от трендовых изменений на рынке.

В случае ошибочного входа (т.е. срабатывания третьего ордера) советник переходит в режим закрытия серии.

Оба режима закрытия серии направлены на защиту от слива, но, безусловно, не 100-%-ной.

С целью снижения вероятности слива депозита в советнике используется понятие волатильность.

[/b]

Что скажешь, Кирилл?

Edited by AnriAn
Link to post
Share on other sites
Programmer

AnriAn,

 

Описанный Вами алгоритм является слишком значительной модификацией Чебурашки. Тут и условия входа, сопровождение тренда, подтягивание стоповых ордеров, слежение за разворотами тренда и тд. Это больше похоже не на МОД, а на совершенно новый советник.

 

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

Link to post
Share on other sites
Programmer
Да, действительно, вопросов много. Тема настолько ушла в своем развитии, что "прицепиться" сложно. Но все же начну потихоньку.

1. В теме рассматриваются два советника. Для какого советника приведены входные переменные.

2. Без алгоритма советников новому участнику разобраться почти невозможно.

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

 

 

Приветствую Дед1,

1. Переменные приведены для ручной версии советника.

2. Базовый алгоритм описан в первых постах темы

3. Тут Вы не правы. Советник развивается уже не первый год, все начиналось с простой идеи, затем добавлялись модули для улучшения работоспособности и стабильности ТС. Как я уже объяснял AnriAn, мы специально стараемся не включать в советник модификации, которые бы изменили его алгоритм работы и сделали бы слишком заточенным под определенный круг пользователей. Советник разрабатывается как инструмент-помощник, в нем нет сигнала на вход. Вы сами Выбираете, когда входить в рынок, а советник лишь помогает превратить Вашу единичную позицию в серию сделок Мартингейл, и довести эту серию до логического завершения.

 

Кирилл

Link to post
Share on other sites
ASN1

Вот хороший пример - CheMurom:

https://alpariforum.com/showthread.php?t=54322

 

 

Кирилл

 

Прочитал с удовольствием! Изящное и оригинальное решение задачи перемещения канала (именно само решение, а не торговая стратегия). Как то само собой возникает образ переступающего Чебурашки на лыжах, которые представляют собой линии стоп-лоссов :rubik:

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

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

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

1,2,3 - добавил в список. Особенно понравилось про различные TP для BUY и SELL.

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

 

Добрый день, Кирилл!

Список запланированных модификаций еще существует? Если да, то уже есть уточнение по понравившемуся предложению: возможность установки не только различных TP для BUY и SELL, а еще возможность установки в одну сторону фиксированного TP, а в противоположную - выход в безубыток (начиная со второго рыночного ордера).

Link to post
Share on other sites
Telemah

Попытка номер N, по поводу сигналов на вход. Агитировать не стану, но не предложить в очередной раз не могу.

 

Конкретика.

 

новые вводные

 

signals = true or false (использовать сигналы или работать в мануальном(или автоматическом) режиме)

same_in_same_out = true (если true то существует один сигнал на вход и выход, при следующем появлении оного (но уже на другой свече) серия

закрывается и открывается новая, т.е. мы всегда в рынке)

out = true (если true, то использовать отдельный сигнал для прекращения серии, если он false, то после установки серии

развитие событий определяется параметром same_in_same_out - или ждем новый сигнал на вход или серия закрывается самостоятельно "до победного конца")

 

 

в теле советника две функции на вход и выход(если предполагается завершать серию досрочно)

 

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

 

Философия.

Поиск и подбор точек входа, в которых цена предположительно развернется или сильно ускорится без угадывания направления,

с дальнейшим сопровождение мартином по Чебу. Для этого надо иметь возможность прописывать в функции на вход (и выход) свои условия.

 

Спасибо за внимание! )

Link to post
Share on other sites
SpikeOne

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

Если нет такого варианта, то долго ли эту возможность воплотить в жизнь, думаю будет хорошей модернизацией, готов этот вариант оттестировать и написать результаты.:6:

Link to post
Share on other sites
ASN1
Добрый день, Кирилл!

Список запланированных модификаций еще существует? Если да, то уже есть уточнение по понравившемуся предложению: возможность установки не только различных TP для BUY и SELL, а еще возможность установки в одну сторону фиксированного TP, а в противоположную - выход в безубыток (начиная со второго рыночного ордера).

 

Кроме того, есть уточнение и по п.2.

"2. Звуковой сигнал при достижении SL, а не только TP."

Сейчас при достижении профита звучит сигнал и на экране появляется сообщение "Профит достигнут...". Однако какой ордер достиг профита не указывается.

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

Желательно, чтобы в выпадающем сообщении о достижении TP или SL указывался магик закрывшегося ордера.

Link to post
Share on other sites
ASN1
После достижения профита прописывается модификация LOAD_DATA на false. Советник готов к началу новой серии (к вводу нового значения BuyStopPrice), причем установки в 0 не происходит, но это и не требуется, после ввода нового значения вместо старого устанавливаются первые отложенные ордера. Можно считать, что все работает отлично!

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

 

Видимо поторопился с окончательной оценкой работы v.19.Oo_i. Наблюдается следующая ситуация.

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

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

 

Как то "подвисла" отладка версии v.19.Oo_i.

Есть предложение ограничиться только автоматическим изменением параметра LOAD_DATE с false на true после установки первых отложенных ордеров.

Выполнить это действие вручную иногда забываешь.

Дальнейшую подготовку к вводу нового значения BuyStopPrice все же более надежно осуществлять путем ручной загрузки файла *set.

Link to post
Share on other sites
BMel

Здравствуйте, Кирилл.

В процессе эксплуатации v19.0n появилось предложение по изменению величины стоп-лосса. В базовой версии стопы устанавливаются на противоположной границе канала. Вопрос- можно ли доработать так:

для ордера бай-стоп величина стоп-лосса=цена верхней границы-N ( новый параметр советника),

для ордера селл-стоп величина стоп-лосса=цена нижней границы+N ( новый параметр советника).

Спасибо.

Link to post
Share on other sites
BMel

В базовой версии имеются только два параметра:

1 BuyStopPrice,

2 StopLoss.

Может ли установить дополнительно третий параметр- SellStopPrice?

Link to post
Share on other sites
Programmer
Добрый день, Кирилл!

Список запланированных модификаций еще существует? Если да, то уже есть уточнение по понравившемуся предложению: возможность установки не только различных TP для BUY и SELL, а еще возможность установки в одну сторону фиксированного TP, а в противоположную - выход в безубыток (начиная со второго рыночного ордера).

 

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

Идея заманчивая. Добавил в список - обсудим подробней, когда дойдем до нее.

 

Кирилл

Link to post
Share on other sites
BMel

Здравствуйте, Кирилл.

Прошу подсказать настройки для такой ситуации:

Работает Чебурашка 19.0n

Нужно выставить безубыток и трал для первого ордера- при достижении профита 20 пип ( для 4-х знаков ) стоп переносится на безубыток ( стоп= цене сработавшего ордера ) и далее включается трал на 10 пип.

 

Установил такие параметры и не работает!

 

UseTrailAll = True //чтобы включить трал в принципе

TrailAll_AFTER_AgrZeroLoss = True //чтобы тралить только после достижения опр. уровня незафиксированной прибыли

TrailAll = 10 //величина трала

Agressive_UseZeroLossStrategy = True //чтобы выставить стоп на желаемый уровень незафиксированной прибыли

Agressive_ZeroLossT = 1 //по умолчанию

Agressive_MinPointsProfit = 20 //уровень незафиксированной прибыли, куда изначально подвинется стоплосс, после чего начнется трейлинг

 

Какой сценарий развития для таких исходных данных?

1- Цена прошла в плюс 20 пип и стоп подтянулся до цены покупки, сработавшего ордера.

2- Цена прошла ещё в плюс 10 пип и включился трал ( итоговый плюс 20+10=30 ).

Так будут развиваться события?

Link to post
Share on other sites
ASN1
В базовой версии имеются только два параметра:

1 BuyStopPrice,

2 StopLoss.

Может ли установить дополнительно третий параметр- SellStopPrice?

 

Какая цель этого? Сейчас SellStop (SellStopPrice) устанавливается как BuyStopPrice минус StopLoss. Как "уживутся" два разных значения? Или имеется ввиду что-то другое?

Link to post
Share on other sites
BMel

Всё просто- хочу установить стоп-лосс не на границе канала.

Например: BuyStop= 1,3550, стоп-лосс для этого ордера 1,3510

SellStop= 1,3450, стоп-лосс для этого ордера 1,3490

Link to post
Share on other sites
Programmer
Здравствуйте, Кирилл.

В процессе эксплуатации v19.0n появилось предложение по изменению величины стоп-лосса. В базовой версии стопы устанавливаются на противоположной границе канала. Вопрос- можно ли доработать так:

для ордера бай-стоп величина стоп-лосса=цена верхней границы-N ( новый параметр советника),

для ордера селл-стоп величина стоп-лосса=цена нижней границы+N ( новый параметр советника).

Спасибо.

 

Здравствуйте,

 

Предложенный алгоритм противоречит основопологающим принципам советника, и мартингейла в целом. Если стоп-лосс, например, BUY ордера не будет выставлен ровно на уровне входа в рынок противоположного SELL ордера, это приведет к разрыву серии.

 

Кирилл

Link to post
Share on other sites
Programmer
Как то "подвисла" отладка версии v.19.Oo_i.

Есть предложение ограничиться только автоматическим изменением параметра LOAD_DATE с false на true после установки первых отложенных ордеров.

Выполнить это действие вручную иногда забываешь.

Дальнейшую подготовку к вводу нового значения BuyStopPrice все же более надежно осуществлять путем ручной загрузки файла *set.

 

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

 

Постараюсь уделить этом внимание в ближайщее время.

 

Кирилл

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...