bondv

Программист
Заметил почему хуже так закрывается, смотри: стоят например селл ордера пошла просадка 20% выставляется сеть и рынок разворачивается, в теории если определен параметр CloseProfit, то ордера должны закрыться по профиту селл ордеров+просадочный бай ордер сетки, но на практике в тестере мы видим другое, а именно что когда пошел откат в сторону селл ордеров, по сессиям начинаются открываться ордера бай, которые портят всю логику общего закрытия и закрываются только по своим общим ТП. Может быть сделать так, что если сеть открылась, то для символа ордеров сети запретить ставить ордера по сессиям, это для того чтобы при откате все же закрыть все ордера по CloseProfit.

CloseProfit нужно проверить, скрин прилагаю, нет общего закрытия.
Там логика простая: считаются профиты всех открытых ордеров, и если общий профит достиг уровень CloseProfit, то все ордера закрываются. Так что открытые Buy отреда не мешают.
А в твоем случае возможны 3 причины:
1. Этот сел с другим магиком
2. Он открылся позже закрытия всех ордеров
3. Возникла ошибка при закрытии (нужно смотреть лог)
 

bondv

Программист
Предлогаю действовать по плану:

1. Убрать из сова все что не относится к сетке.
2. Отдельно от сова написать 2, 3 сетки с разными алгоритмами.
3. Как можно больше переменных сделать постоянными.
4. Во внешние настройки вывести 2. 3 кнопки относящиеся к сетке.
5. Во внешних настройках предусмотреть отключение блока сессионной торговли ( не сессий по отдельности).
5 пункт уже давно сделан. Поставь TradeBySessions = False, а ChokeType = 3 и будет тебе только сетка.
 

murom

Новичок форума
Он по тестам без сетки и без подсоса выдает весьма неплохие результаты. Только по сессиям.
Может имеет смысл оставить его, а создать именно только сеточный Burn Chain?

С данным наблюдением согласен на все 100%
У меня давно зреет альтернатива сетки, не публикую, чтобы не мешать все в кучу. Сам сутками пытаюсь подобрать параметры для сетки пока не получается.

Смысл идеи в том что бы создать зону1, по аналогии с зоной 0. Зона задается в пунктах, скажем 150п. Задача в том что бы с очередным групповым профитом закрывать самый старый, или самый дальний убыточный ордер. Соответственно надо профит брать с запасом. Таким образом мы постепенно будем избавляться от баласта. Но опять же данная стратегия эффективна как профилактика, но она не способна спасти от резких однонаправленных движений.
 

Sensh

Активный участник
Все равно не очень понятно мне. Я же писал, что раньше сетками не занимался. :confused:
Ты можешь расписать очень подробно алгоритм этой стратегии?
А вообще сов получился неимоверно сложным для тестирования.
Как только включаешь сетку, так невозможно становится оптимизировать. Тестер показывает 50 часов для оптимизации всего 2-х параметров.
Он по тестам без сетки и без подсоса выдает весьма неплохие результаты. Только по сессиям.
Может имеет смысл оставить его, а создать именно только сеточный Burn Chain?

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

ТЗ вышлю завтра на почту...

Есть варианта три альтернативы сетки...я просто не ожидал что так легко можно воплотить именно с сеткой )))
 
Последнее редактирование:

bondv

Программист
С данным наблюдением согласен на все 100%
У меня давно зреет альтернатива сетки, не публикую, чтобы не мешать все в кучу. Сам сутками пытаюсь подобрать параметры для сетки пока не получается.

Смысл идеи в том что бы создать зону1, по аналогии с зоной 0. Зона задается в пунктах, скажем 150п. Задача в том что бы с очередным групповым профитом закрывать самый старый, или самый дальний убыточный ордер. Соответственно надо профит брать с запасом. Таким образом мы постепенно будем избавляться от баласта. Но опять же данная стратегия эффективна как профилактика, но она не способна спасти от резких однонаправленных движений.

Эта задача уже давно решена.
Есть параметр PartialDrop - частичное закрытие самого просевшего ордера.
Срабатывает при достижении значения xDrop - % просадки.
Есть так же параметр PointDrop = True - закрытие самого дальнего (в пунктах) просевшего ордера, False - закрытие самого просевшего в валюте депозита.
 

murom

Новичок форума
Эта задача уже давно решена.
Есть параметр PartialDrop - частичное закрытие самого просевшего ордера.
Срабатывает при достижении значения xDrop - % просадки.
Есть так же параметр PointDrop = True - закрытие самого дальнего (в пунктах) просевшего ордера, False - закрытие самого просевшего в валюте депозита.

Я б не сказал что это одно и тоже
xDrop - для меня загадка любые его значения кроме 0 и 90 у меня приводят к сливу. (30,40,50 %) Такому ступенчатому и стабильному сливу.

PointDrop - закрывает хорошо, но иногда быстрее чем срабатывает профит.

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

Sensh

Активный участник
bondv, ТЗ отправил....
murom, там всё так как ты и описываешь по общему закрытию.

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

murom

Новичок форума
Уникальность и прогресс этой ветки вижу в двух слагаемых 1. Трудолюбие и терпение bondvа и 2. Это интересные и разносторонние идеи инициаторов. Вместе это необходимое напряжение для развития.
 

Sensh

Активный участник
Описание стратегий сеток можно в студию попросить? Что за основу взял, совы ss_5 и ss_7.6 ?

Да думаю что можно )))
ТЗ составлено с учётом того, что bondv уже очень хорошо знает этот советник

:):):) основа сова 1,9 и сетка ЕА нет 7.1 ...чем проще, тем лучше ...
 

Вложения

  • ТЗ Бурн-сетка.doc
    89,5 КБ · Просмотры: 100
Последнее редактирование:

dpg03

Элитный участник
Это забыл:
extern int Zone0 = 20; // Зона запрета на открытие ордеров с KM. Если 0, то запрета нет
extern int DistanceKM = 50; // Минимальное расстояние между открытыми ордерами с KM за пределами зоны 0. Если 0, то не используется

а это наверно не нужно:
4. Между ордерами задаётся минимальное значение в пунктах
string AboutDistance = "Минимальная дистанция между ордерами в пунктах; если 0 - фильтр отключен. Фильтр не позволяет открыться ордеру, если он ближе FDistance пунктов к открытому.";
extern int FDistance = 0; // минимальная дистанция между ордерами в пунктах; если 0 - фильтр отключен
 
Последнее редактирование:

bondv

Программист
bondv, ТЗ отправил....
Получил. изучу, обдумаю и будем создавать Burn Chain v0.1, как я понял.

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

bondv

Программист
Да думаю что можно )))
ТЗ составлено с учётом того, что bondv уже очень хорошо знает этот советник

:):):) основа сова 1,9 и сетка ЕА нет 7.1 ...чем проще, тем лучше ...
В сове 1,9 использовалось 3 сессии. Мы тоже за основу 3 сессии берем?
 

dpg03

Элитный участник
Получил. изучу, обдумаю и будем создавать Burn Chain v0.1, как я понял.
это не забудь вставить

extern int Zone0 = 20; // Зона запрета на открытие ордеров с KM. Если 0, то запрета нет
extern int DistanceKM = 50; // Минимальное расстояние между открытыми ордерами с KM за пределами зоны 0. Если 0, то не используется
 

dpg03

Элитный участник
Надо брать последний с 8 сессиями. Кто захочет тот отключит. Хоть с одной.
 

bondv

Программист
это не забудь вставить

extern int Zone0 = 20; // Зона запрета на открытие ордеров с KM. Если 0, то запрета нет
extern int DistanceKM = 50; // Минимальное расстояние между открытыми ордерами с KM за пределами зоны 0. Если 0, то не используется
Хорошо. Зона 0 действительно полезна.
 
Верх