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

 
alsu >>:

OrderSelect (0,SELECT_BY_POS, MODE_HISTORY) - выбирает последний ордер в истории

OrderSelect (1,SELECT_BY_POS, MODE_HISTORY) - предпоследний

соответственно для каждого можно узнать OrderProfit()


большое спасибо

 
Вообще-то последний - OrderSelect (OrdersHistoryTotal()-1,SELECT_BY_POS, MODE_HISTORY)
 
vademur писал(а) >>

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

19:20:11 TestGenerator: unmatched data error (low value 1.3676 at 2009.05.13 00:00 and price 1.3676 mismatched)
19:20:11 TestGenerator: unmatched data error (high value 1.3696 at 2009.05.13 01:00 and price 1.3696 mismatched)
19:20:11 TestGenerator: unmatched data error (high value 1.3700 at 2009.05.13 02:30 and price 1.3700 mismatched)
19:20:11 TestGenerator: unmatched data error (high value 1.3700 at 2009.05.13 03:30 and price 1.3700 mismatched)

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

Переформулирую вопрос. Где можно взять качественную историю или где почитать про это?

 
alsu >>:
Silen писал(а) >>

Прежде всего научитесь отвечать по существу. Коментарии подобные вашим никому не нужны.

Ошибку вернул GetLastError() после выполнения iTime(). Вот пример кода...

//+------------------------------------------------------------------+
//|                                                   test_iTime.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
    
    for(int i = 20; i > 0; i--)
    {    
      CheckTF(PERIOD_M5, i);    
      CheckTF(PERIOD_M15, i);
      CheckTF(PERIOD_M30, i);
    }
   return(0);
  }  
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   
//----
   return(0);
  }
//--------------------------------------------------------------------  
int CheckTF(int TF, int Index)
  {
    int count = 5;   
    int err;     
    int xBars;
   
   xBars = iBars(Symbol(), TF);
   err = GetLastError();
   while (err == 4066)
   {
      Sleep(200);
      xBars = iBars(Symbol(), TF);
      err = GetLastError();
   } 
    err = GetLastError();
    datetime t0 = iTime(NULL, TF, Index);
    err = GetLastError();
    
    if(err > 0 && count >0)
    {
      Print("Error: ", err," TF: ", TF," Index: ", Index , " count: ", count);
      Sleep(200);
      count--;
      
      t0 = iTime(NULL, TF, Index);
      err = GetLastError();      
    }
   return(0);
  }  
//+------------------------------------------------------------------+
 
Roger >>:
Вообще-то последний - OrderSelect (OrdersHistoryTotal()-1,SELECT_BY_POS, MODE_HISTORY)

да, верно, сам же уже в этой же ветке отвечал :))) https://www.mql5.com/ru/forum/111497/page227#204964

 
Silen >>:

Ошибку вернул GetLastError() после выполнения iTime(). Вот пример кода...


Потестил.

Во время исполнения функции init() данные нового символа могут быть (и, очевидно, и есть) еще недоступны. Отсюда и ошибка. Бороться только одним способом - не пытаться анализировать данные в функции init().

 
alsu >>:

Потестил.

Во время исполнения функции init() данные нового символа могут быть (и, очевидно, и есть) еще недоступны. Отсюда и ошибка. Бороться только одним способом - не пытаться анализировать данные в функции init().

Спасибо, а есть гарантия что данные будут доступны в start()?

 

ищу скрипт или индикатор чтоб видеть распределение тикового объема прямо по бару.

вот как на этой картинке из ветки А такой рисунок видели?


 

Добрый день подскажите пожалуйста

if(OrderSelect(0, SELECT_BY_POS,MODE_HISTORY)==true)
{
  double x=OrderProfit();
  Print("последняя ",x);

}

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

 
vik-777 >>:

Добрый день подскажите пожалуйста

if(OrderSelect(0, SELECT_BY_POS,MODE_HISTORY)==true)
{
double x=OrderProfit();
Print("последняя ",x);

}

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

Выше же...

https://www.mql5.com/ru/forum/111497/page345#245944

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