вызов ставится в начале, и перекрывает работу остальных блоков советника на время трала, шаг трейлинга переменный - квадратичный, что позволяет хорошо отрабатывать резкие скачки эквити захватывая максимальную прибыль. режим БУ позволяет резать убыточные ордера в зародыше.
вызов ставится в начале, и перекрывает работу остальных блоков советника на время трала, шаг трейлинга переменный - квадратичный, что позволяет хорошо отрабатывать резкие скачки эквити захватывая максимальную прибыль. режим БУ позволяет резать убыточные ордера в зародыше.
Добрый день, xrust ! Пож. обьясните чуть подробнее работу этого блока. Никак я не могу его запусить.
Неясности вот какие.
1. Функция CloseAll(), это видимо ф-я, кот. удаляет все ордера и/или закрывает позиции.
Аналог этой функции у меня есть и проблем здесь нет..
2. в свойствах я задал
extern bool WithoutLoss = true;
- что это за параметр ?
3. Еще задал -
extern double gEqviti=200;// - это видно размер достижения эквити, при котором начинается работа трала ?
4. Еще задал-
bool eqvtrade;
Что ещё надо задать? Как задается параметр EqvTralStep; ?
И пож.(если не трудно) опишите в 2-3 словах работу функции в общем виде.
Функция вызывается в самом начале эксперта сразу за int Start(), вызов происходит таким образом :
//удаляем запрет на торговлю после удаления всех ордеров if(OrdersTotal()<1){if(GlobalVariableCheck("stop")){GlobalVariableDel("stop");}
gEqviti=AccountBalance();}//тралим эквитиif(EcvitiTral3(EqwTralStep)){return(0);}if(GlobalVariableCheck("stop")){return(0);}
если еквити поднялась над балансом, то она блокирует все стальные функции эксперта и тралит.
во внешних переменных extern double EqwTralStep=0.03; шаг трейлинга в процентах от эквити extern bool WithoutLoss=false; разрешение на применение метода безубытка
работа фунции : при превышении эквити над балансом она запоминает уровень баланса как нулевой прикотором надо закрывать- это работа с безубытком, при дальнейшем превышении эквити на размер EqwTralStep в прцентах она передвигает уровень закрытия выше, если скорост превышения большая то функция увеличивает шаг квадратично .
Проконтролировать достаточно просто, такое закрытие может быть обусловленно резким выбросом цены и переходом уровня закрытия на новый уровень и как следствия закрытия позиции.
Сделайте так :
организуйте в функции стическую переменную staticdouble prewlewel;
потом перед , или за комментами
if(prewlewel!=gEqviti){
prewlewel=gEqviti;Print(prewlewel);}
А здесь добавьте обнуление переменной
if(OrdersTotal()<1){gEqviti=AccountBalance();prewlewel=0;return(false);}
мой вариант :
вызов ставится в начале, и перекрывает работу остальных блоков советника на время трала, шаг трейлинга переменный - квадратичный, что позволяет хорошо отрабатывать резкие скачки эквити захватывая максимальную прибыль. режим БУ позволяет резать убыточные ордера в зародыше.мой вариант :
вызов ставится в начале, и перекрывает работу остальных блоков советника на время трала, шаг трейлинга переменный - квадратичный, что позволяет хорошо отрабатывать резкие скачки эквити захватывая максимальную прибыль. режим БУ позволяет резать убыточные ордера в зародыше.Добрый день, xrust ! Пож. обьясните чуть подробнее работу этого блока. Никак я не могу его запусить.
Неясности вот какие.
1. Функция CloseAll(), это видимо ф-я, кот. удаляет все ордера и/или закрывает позиции.
Аналог этой функции у меня есть и проблем здесь нет..
2. в свойствах я задал
extern bool WithoutLoss = true;
- что это за параметр ?
3. Еще задал -
extern double gEqviti=200;// - это видно размер достижения эквити, при котором начинается работа трала ?
4. Еще задал-
bool eqvtrade;
Что ещё надо задать? Как задается параметр EqvTralStep; ?
И пож.(если не трудно) опишите в 2-3 словах работу функции в общем виде.
если еквити поднялась над балансом, то она блокирует все стальные функции эксперта и тралит.
теперь по переменным : в глобальных переменных static double gEqviti;
во внешних переменных extern double EqwTralStep=0.03; шаг трейлинга в процентах от эквити extern bool WithoutLoss=false; разрешение на применение метода безубытка
работа фунции : при превышении эквити над балансом она запоминает уровень баланса как нулевой прикотором надо закрывать- это работа с безубытком, при дальнейшем превышении эквити на размер EqwTralStep в прцентах она передвигает уровень закрытия выше, если скорост превышения большая то функция увеличивает шаг квадратично .
Не за что, если будут трудности - беспокойте...
Сделал. Запустил. Пока всё работает нормально. Слежу в онлайне вторую неделю
Но. Изредка бывают редкие глюки.
Обычно у меня в рынке 3-10 позиций одновременно .
Но - Когда в рынке одна позиция, бывает так, что она вдруг без видимых причин позиция закрывается с профитом =1-2 пипса!
Не пойму почему. В основном коде моего эксперта такого не предусмотрено.
Проконтролировать достаточно просто, такое закрытие может быть обусловленно резким выбросом цены и переходом уровня закрытия на новый уровень и как следствия закрытия позиции.
Сделайте так :
xrust - у меня к вам предложение-просьба - можете ли вы привести код вашей версии трала эквити в виде самостоятельного советника.
Это был бы очень полезный инструмент для торгующих руками.
Ищу такую вещь очень давно, но ничего подходящего не встречал, а сам я в коде не силен (точнее - слаб).
xrust - у меня к вам предложение-просьба - можете ли вы привести код вашей версии трала эквити в виде самостоятельного советника.
Это был бы очень полезный инструмент для торгующих руками.
Неплохая мысль! Поддерживаю...
Действительно. Такая конструкция не останется незамеченной.