[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 950

 
Помогите добавить уровни к индикатору что бы получился канал
Файлы:
hp_1.mq4  3 kb
 
smogsam:

Привет всем!

У меня такая проблема: никак не могу разобраться с индикатором Trend Magic. Прикручиваю к советнику, но правильные торговые условия получать от него как-то не получается.

MA_1=iCustom(NULL,0,"TrendMagic",CCPeriod,ATRPeriod,0,0); // Blue

MA_2=iCustom(NULL,0,"TrendMagic",CCPeriod,ATRPeriod,1,0); // Red

Уже мозги сломал.

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

Подскажите пожалуйста.


Код декомпилированный. Пост удален
 
smogsam:

Привет всем!

У меня такая проблема: никак не могу разобраться с индикатором Trend Magic. Прикручиваю к советнику, но правильные торговые условия получать от него как-то не получается.

Уже мозги сломал.

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

Подскажите пожалуйста.

Код декомпилированный. Пост удален. Сделано представление к бану
 
smogsam:

Привет всем!

У меня такая проблема: никак не могу разобраться с индикатором Trend Magic. Прикручиваю к советнику, но правильные торговые условия получать от него как-то не получается.

Уже мозги сломал.

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

Подскажите пожалуйста.
По всем признакам это РИСУЮЩИЙ индюк. Уж больно красивые сигналы на истории. Советую посмотреть за этим индюком в реал таймне на минутках. Скорей всего в зависимости от текущего сигнала будет перерисовываться историческая кривая этого индюка
 
Stepan241:
По всем признакам это РИСУЮЩИЙ индюк. Уж больно красивые сигналы на истории. Советую посмотреть за этим индюком в реал таймне на минутках. Скорей всего в зависимости от текущего сигнала будет перерисовываться историческая кривая этого индюка

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


А можно сделать чтобы сравнивать цвет линии, а не вычисления индикатора? Как вообще выкрутиться из этой ситуации? Что-нибудь можно придумать чтоб все нормально было?

 
artmedia70:

Я так понял, что от именно этой закрытой по стопу позы, с конкретным тикетом вам нужно открыться один раз в противоположную сторону, если эта поза закрыта по стопу. Так?

Тогда запоминайте тикет позы, от котогрой вы уже открылись противоположно и, наряду с другими проверками, которые я уже написал, проверяйте ещё и тикет. Если от позийии с этим тикетом уже была открыта противоположная поза, то больше не открывать.


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

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

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

Например, если прошлая сделка убыточна, то следующая будет с lot=lot-A, а если была прибыльна, то lot=lot+B, где А и В являются константами, что то вроде этого.

Возможно это можно сделать с помощью баланса, но я сам не могу допереть :-(

а может есть другой выход.....

 
chum:

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

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

Например, если прошлая сделка убыточна, то следующая будет с lot=lot-A, а если была прибыльна, то lot=lot+B, где А и В являются константами, что то вроде этого.

Возможно это можно сделать с помощью баланса, но я сам не могу допереть :-(

а может есть другой выход.....

В свое время я написал процедуру которая возвращает профит/убыток последней сделки. Вот она. Кто то ее уже использовал. При необходимости добавь МЭДЖИК сам.

//Функция Профит последней сделки------------------------------------------------------------------------------------------------------------------------
double _OldProfit()
  {
  for(int i=OrdersHistoryTotal()-1;i>=0;i--) //перебираем все ордера по всем валютам
  {
  if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==true) //если ордер выбран успешно
  {
  if (OrderSymbol()!=Symbol())continue; //если выбранный ордер не по той валюте то продолжаем перебор
  {
  double Ord_Profit=OrderProfit();
  break;
  }
  }
  }
  return(Ord_Profit);
  }
 

 
Подскажите, как сделать таким образом, чтоб код советника исполнялся не каждый тик, а при появлении каждого нового бара. Зарание спасибо!
 
pr0fess0r64:
Подскажите, как сделать таким образом, чтоб код советника исполнялся не каждый тик, а при появлении каждого нового бара. Зарание спасибо!

Это стандартная процедура описываемая в самом начале СТАРТА. Реализация по колличеству БАРов


bool isNewBar=false;

int ExpertBars;

if (ExpertBars !=Bars) {ExpertBars=Bars; isNewBar=true; }

if (isNewBar)

{  
код вашей программы
}

Смысл должен быть понятен. Возможны разного рода модификации. 

Вот еще одна реализация по ВРЕМЕНИ

  if (Time[0] == prevtime) return(0);
  prevtime = Time[0];

 

Причина обращения: