Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2357

 
Andrei Sokolov #:

 Спасиб. А нет ли возможности реализовать стрелочки в нужном месте стандартными средствами, без сторонних картинок?   

стрелки возможно, посмотрите в мои последних сообщениях, там как раз стрелки

в справке есть примеры

 
Andrei Sokolov #:

 Спасиб. А нет ли возможности реализовать стрелочки в нужном месте стандартными средствами, без сторонних картинок?   

Пока нашел вариант отрисовки символа стрелки текстом.

 
Andrei Sokolov #:

Пока нашел вариант отрисовки символа стрелки текстом.

Да, Fractals так рисует.

 

Подскажите, пожалуйста, почему если создать 20 буферов, допустим, часть из них со временем перестают работать и пишет ошибку - выхода за гранницы диапазона (array out of range).

Они же все должны быть одинакого диапазона, равного количеству истории (rates-total). 

Поначалу всё работает, потом оставляшь на 5-7 часов, приходишь посмотреть - все, кроме первого и последнего буфера - обнулены (пустые значения - нет отрисовки), и ошибка - выход за границы. 

Хочу сделать фаркталы с разных ТФ в одном графике, для старших ТФ создал буферы, работают сначала, потом - вот такая штука. 

 
Ivan Butko #:

Подскажите, пожалуйста, почему если создать 20 буферов, допустим, часть из них со временем перестают работать и пишет ошибку - выхода за гранницы диапазона (array out of range).

Они же все должны быть одинакого диапазона, равного количеству истории (rates-total). 

Поначалу всё работает, потом оставляшь на 5-7 часов, приходишь посмотреть - все, кроме первого и последнего буфера - обнулены (пустые значения - нет отрисовки), и ошибка - выход за границы. 

Хочу сделать фаркталы с разных ТФ в одном графике, для старших ТФ создал буферы, работают сначала, потом - вот такая штука. 

Возможно проблема связана с тем что на разных ТФ разное количество свечей.

 
Andrei Sokolov #:

Возможно проблема связана с тем что на разных ТФ разное количество свечей.

Я думал они сонхронизируются сразу. 

То есть, если на старшем ТФ Фрактал, то на текущем он будет в том месте, где достаточно ещё свечей. 

Спасибо за ответ, попробую принудительно рисовать небольшое число буферов - самые свежие, возможно Вы действительно правы и это решит проблему

 
Всем добрый. Делаю первые шаги в mql4 Помогите, пожалуйста, если можно примерами, или ткните где посмотреть примеры кода (мне так легче учиться), как дополнить советник пропуска определенного количества баров при условии если последний ордер закрылся с убытком. Если по стоп лоссу закрыл сам советник, то более менее понятно как написать, но, туплю, не могу нигде найти пример как написать условие чтобы определить результат последнего закрытого ордера и если он минусовой ( к примеру я вручную закрыл убыточный ордер) и советник не торгует больше на этой свече и пропускает несколько свеч (количество и таймфрейм хочу вынести в extern переменными). Заранее всех благодарю.
 
ts22 #:
Всем добрый.
//+---Возвращает данные последнего закрытого ордера---+

LastProfit(0);    // размер профита
LastProfit(1);    // размер лота
LastProfit(2);    // тип ордера
LastProfit(3);    // время закрытия

//+------------------------------------------------------------------+
double LastProfit(int a)
  {
   double _prf=0,_lot=0,res=0;
   datetime _t=barstart;
   int _otp=-1;
   for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--)
     {
      if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==true)
        {
         if(OrderSymbol()==_Symbol&&OrderMagicNumber()==Magic)
           {
            if(OrderCloseTime()>_t)
              {
               _t=OrderCloseTime(); _lot=OrderLots(); _prf=OrderProfit()+OrderSwap()+OrderCommission(); _otp=OrderType();
              }
           }
        }
     }
   if(a==0) res=_prf;
   if(a==1) res=_lot;
   if(a==2) res=_otp;
   if(a==3) res=NormalizeDouble(Time[iBarShift(_Symbol,_Period,_t,false)]+_Period*60,0);
   return(res);
  }
//+------------------------------------------------------------------+
 
Ivan Butko #:

Я думал они сонхронизируются сразу. 

То есть, если на старшем ТФ Фрактал, то на текущем он будет в том месте, где достаточно ещё свечей. 

Спасибо за ответ, попробую принудительно рисовать небольшое число буферов - самые свежие, возможно Вы действительно правы и это решит проблему

Сначала происходит обработка по младшим таймфреймам, потом старшие(бары, индикаторы ).
 
Aliaksandr Hryshyn #:
Сначала происходит обработка по младшим таймфреймам, потом старшие(бары, индикаторы ).

Принял, спс