Ошибки, баги, вопросы - страница 1010

 
tol64:

Так вроде же отвечали тебе на этот вопрос. Тикет выбираешь из истории сделок, а свойство пытаешься получить из истории ордеров. Это разные списки.

P.S. И статья есть с примерами: Рецепты MQL5 - История сделок и библиотека функций для получения свойств позиции

А дошло, я думал ордера на 2 части поделили, а их аж на 3. Спасибо, ты объясняешь лучше)
 

День добрый!

Подскажите пожалуйста способ как можно имея datetime получить номер бара на графике.

Спасибо! 

Перебор баров и сравнение времени не предлагать :) 

 
ns_k:

День добрый!

Подскажите пожалуйста способ как можно имея datetime получить номер бара на графике.

Спасибо! 

Перебор баров и сравнение времени не предлагать :) 

//iBarShift
int iBarShiftMQL4(string _symbol,int tf,datetime time,bool exact=false){
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(Symbol(),timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(_symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  } 
//тф
ENUM_TIMEFRAMES TFMigrate(int tf){
   switch(tf)
     {
      case 0: return(PERIOD_CURRENT);
      case 1: return(PERIOD_M1);
      case 5: return(PERIOD_M5);
      case 15: return(PERIOD_M15);
      case 30: return(PERIOD_M30);
      case 60: return(PERIOD_H1);
      case 240: return(PERIOD_H4);
      case 1440: return(PERIOD_D1);
      case 10080: return(PERIOD_W1);
      case 43200: return(PERIOD_MN1);
      
      case 2: return(PERIOD_M2);
      case 3: return(PERIOD_M3);
      case 4: return(PERIOD_M4);      
      case 6: return(PERIOD_M6);
      case 10: return(PERIOD_M10);
      case 12: return(PERIOD_M12);
      case 20: return(PERIOD_M20);
      case 16385: return(PERIOD_H1);
      case 16386: return(PERIOD_H2);
      case 16387: return(PERIOD_H3);
      case 16388: return(PERIOD_H4);
      case 16390: return(PERIOD_H6);
      case 16392: return(PERIOD_H8);
      case 16396: return(PERIOD_H12);
      case 16408: return(PERIOD_D1);
      case 32769: return(PERIOD_W1);
      case 49153: return(PERIOD_MN1);      
      default: return(PERIOD_CURRENT);
     }} 
 
ns_k:

День добрый!

Подскажите пожалуйста способ как можно имея datetime получить номер бара на графике.

Спасибо! 

Перебор баров и сравнение времени не предлагать :) 

С помощью функции Bars().
 
ns_k:

День добрый!

Подскажите пожалуйста способ как можно имея datetime получить номер бара на графике.

Спасибо! 

Перебор баров и сравнение времени не предлагать :) 

Можно использовать Bars(), второй тип вызова.
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Lizar:
Можно использовать Bars(), второй тип вызова.
Всем спасибо пребольшое!!
 
ns_k:

День добрый!

Подскажите пожалуйста способ как можно имея datetime получить номер бара на графике.

Спасибо! 

Перебор баров и сравнение времени не предлагать :) 

ArraySetAsSeries

переверните массив, будет номер бара.

 
Silent:

переверните массив, будет номер бара.

не пойму, что - то. Предложенный выше способ выручил. А в этот не "въеду" никак. В чем смысл? 
 
ns_k:
не пойму, что - то. Предложенный выше способ выручил. А в этот не "въеду" никак. В чем смысл? 
Последний элемент будет с номером 0.
 
ns_k:
не пойму, что - то. Предложенный выше способ выручил. А в этот не "въеду" никак. В чем смысл? 

datetime уже есть

ArraySize - кол-во баров, ArraySize-1 - последний бар, ArraySetAsSeries устанавливаете направление индексации, и номер ячейки = бару, слева или справа.

Тут проверочный скрипт лепил.

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