Скачать MetaTrader 5

Тиковая история

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Karputov
Модератор
49268
Vladimir Karputov 2015.10.14 20:54 

Вот уже и терминал обновился до build1178:

2015.10.14 21:52:27.848 Terminal        MetaTrader 5 x64 build 1178 started (MetaQuotes Software Corp.)

Обыскал всю справку по MQL5, но пока не нашёл новшеств по работе с тиками.


Дополнено:
Скрипт v. 1.01 для закачки тиков (у кого не хватит оперативки, сами виноваты :) )

//+------------------------------------------------------------------+
//|                                                    CopyTicks.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.01"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200000000;  // количество запрашиваемых тиков
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,0,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20, " Mb");
  }
//+------------------------------------------------------------------+

 

Добавлено:

Индикатор "CopyTicksInd.mq5" версия 1.44 для сравнения трёх режимов отображения тиков. Также отображает название типа флага:

График EURUSD, M1, 2016.01.20 09:21 UTC, MetaQuotes Software Corp., MetaTrader 5, Demo
Файлы:
Anatoli Kazharski
58040
Anatoli Kazharski 2015.10.14 20:56  
Karputov Vladimir:

Вот уже и терминал обновился до build1178:

Обыскал всю справку по MQL5, но пока не нашёл новшеств по работе с тиками.

Обычно анонсы публикуют: Список изменений в билдах MetaTrader 5 Client Terminal >>>, но на этот раз не было.  

Vladimir Karputov
Модератор
49268
Vladimir Karputov 2015.10.14 21:00  
Anatoli Kazharski:

Обычно анонсы публикуют: Список изменений в билдах MetaTrader 5 Client Terminal >>>, но на этот раз не было.  

В этот раз новшества

Новые значки

не сильно интересует. Хочется уже тиковую историю пощупать.

Vladimir Karputov
Модератор
49268
Vladimir Karputov 2015.10.15 05:41  

Хотя с тиками некоторые изменения произошли. В справке пример по CopyTicks:

//+------------------------------------------------------------------+
//|                                                    CopyTicks.mq5 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//--- input parameters
input int      ticks=10;  // количество запрашиваемых тиков
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- массив для приема тиков
   MqlTick tick_array[];
//--- запросим тики
   int copied=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL,0,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   if(copied>0)
     {
      string comment="#  Time       Bid        Ask\r\n";
      //--- сформируем содержимое комментария      
      for(int i=0;i<copied;i++)
        {
         MqlTick tick=tick_array[i];
         string tick_string=StringFormat("%d: %s  %G  %G",
                                         i,
                                         TimeToString(tick.time,TIME_MINUTES|TIME_SECONDS),
                                         tick.bid,
                                         tick.ask);
         comment=comment+tick_string+"\r\n";
        }
      //--- выводим комментарий на график        
      Comment(comment);
     }
   else // сообщим об ошибке при получении тиков
     {
      Comment("Не удалось загрузить тики. GetLastError()=",GetLastError());
     }
  }
//+------------------------------------------------------------------+

стал работать не так. Сейчас список обновляется снизу-вверх

Изменился порядок сортировки

, а раньше было наоборот: данные ползли сверху-вниз. 

Файлы:
Alexey Kozitsyn
6719
Alexey Kozitsyn 2015.10.15 08:50  
Подождем, возможно, список обновлений еще не успели подготовить.
Alexey Kozitsyn
6719
Alexey Kozitsyn 2015.10.15 09:46  
Karputov Vladimir:

Хотя с тиками некоторые изменения произошли. В справке пример по CopyTicks:

стал работать не так. Сейчас список обновляется снизу-вверх


, а раньше было наоборот: данные ползли сверху-вниз. 

И, по поводу новшеств, как минимум добавили отладку индикаторов на исторических данных!
Vladimir Karputov
Модератор
49268
Vladimir Karputov 2015.10.15 11:51  
Tapochun:
И, по поводу новшеств, как минимум добавили отладку индикаторов на исторических данных!
Нет, отладка на истории уже была. Появилась это в 1500 билде.
Alexey Kozitsyn
6719
Alexey Kozitsyn 2015.10.15 12:03  
Karputov Vladimir:
Нет, отладка на истории уже была. Появилась это в 1500 билде.
Не знал, что такой уже есть!) А если серьезно, то не было. Сервисдеск для индикаторов ее подправил незадолго до выхода 1178. Заметьте, для индикаторов! Для советников - да, была еще с 1150.
MetaQuotes
Админ
25031
Renat Fatkhullin 2015.10.15 13:22  

Новое в тиках то, что они полностью включены в общие протоколы доставки данных к клиентским терминалам. То есть, полный доступ и синхронизация глубокой тиковой истории. Далее будет использование этой тиковой истории в тестере стратегий.

Список изменений и улучшений большой, скоро мы его опубликуем. Релиз будет в следующую пятницу.

MetaQuotes
Админ
25031
Renat Fatkhullin 2015.10.15 13:24  

Просьба активнее использовать бета-версии с нашего сервера MetaQuotes-Demo и писать замечания в форуме или сервисдеске.

Это поможет лучше протестировать программы перед выпуском релиза. 

Oleg Tsarkov
1296
Oleg Tsarkov 2015.10.15 13:31  
Renat Fatkhullin:

Новое в тиках то, что они полностью включены в общие протоколы доставки данных к клиентским терминалам. То есть, полный доступ и синхронизация глубокой тиковой истории. Далее будет использование этой тиковой истории в тестере стратегий.

Список изменений и улучшений большой, скоро мы его опубликуем. Релиз будет в следующую пятницу.

От брокеров глубокой обычной истории не дождешься. Они на пятерке научились превращать минутки в часы и если жалуешься на это, отвечают, что не в состоянии себе позволить нагружать сервер гигабайтами исторических данных. Какие уж тут тики...
12345678...25
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий