Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Узнай, как установить MetaTrader на Linux
dimka8
361
dimka8 2015.05.09 15:53 
доброго времени суток. хочу получить цену закрытия по 10 последним барам и посмотреть их. строго не судите ,первый раз пишу в MQL.
double a[];

void OnStart()
  {
//---
   
   CopyClose(0,PERIOD_CURRENT,0,10,a);
  
  double s;
  string list;
  
   for(int i=0;i<10;i++)
   {
   s=a[i];
   list=DoubleToString(s,4);
   list=list+";";
   }
   Alert(list);
  }
Vitalie Postolache
12061
Vitalie Postolache 2015.05.09 16:01  
0 в качестве символа неприемлем, надо Symbol() или NULL.
dimka8
361
dimka8 2015.05.09 16:16  
CopyClose(Symbol(),PERIOD_CURRENT,0,10,a); отображает последний закрытый бар и все!!
Vitalie Postolache
12061
Vitalie Postolache 2015.05.09 16:26  
dimka8:
CopyClose(Symbol(),PERIOD_CURRENT,0,10,a); отображает последний закрытый бар и все!!
Всё так, как прописано в вашем коде.
Vitalie Postolache
12061
Vitalie Postolache 2015.05.09 16:30  

Чтобы отображались все цены, а не только последняя, я бы цикл переписал так:

   for(int i=0;i<10;i++)
   {
     list+=DoubleToString(a[i],4)+";";
   }
dimka8
361
dimka8 2015.05.09 16:34  
если я правильно понял ,то что-то не так с слиянием строк в одну и наверно надо использовать StringAdd . хотя ";" добавляет !?
dimka8
361
dimka8 2015.05.09 16:37  
все заработало ,спасибо большое
Vitalie Postolache
12061
Vitalie Postolache 2015.05.09 16:40  
dimka8:
если я правильно понял ,то что-то не так с слиянием строк в одну и наверно надо использовать StringAdd . хотя ";" добавляет !?
Там не было "слияния строк в одну", там на каждой итерации переменная list принимала новое значение, а старое затиралось.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий