Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1157

 
Что за чудеса? Предыдущий пост по Si исчез, а на его место задвоился мой пост.
 
VANDER:

Запускаю на любом фьюче, допустим RTS-12.19, код ошибки 4401.

А в тестере он собственно ничего и не получает кроме того символа, на котором был запущен.


Какие параметры тестера? В какое время начало тестов? 
 

Настройки вот такие:

Первый тик приходит в D'2019.11.29 23:52:21'. Чтобы это узнать я вставил функцию SymbolInfoTick и проблема решилась вот только она мне нахрен не нужна, но функция CopyTicks отработала без ошибок о_0

void OnInit()
  {
   ArrayResize(Tick,1);
   SymbolInfoTick("SBRF-12.19",Tick[0]);
   if(SymbolSelect("SBRF-12.19",true))
      if((A=CopyTicks("SBRF-12.19",Tick,COPY_TICKS_ALL,0,0))==-1)
         Alert(GetLastError());
      else
         Alert(A);
  }
 
VANDER:

Настройки вот такие:

Первый тик приходит в D'2019.11.29 23:52:21'. Чтобы это узнать я вставил функцию SymbolInfoTick и проблема решилась вот только она мне нахрен не нужна, но функция CopyTicks отработала без ошибок о_0

Вы уверены что биржа работает по запрашиваемому символу ночью? 
 
Vladimir Karputov:
Вы уверены что биржа работает по запрашиваемому символу ночью? 

Дак я не заставляю терминал посылать мне тики в строго определенное время которых у него нет, я просто отправляю запрос:

from=0,                // дата, начиная с которой запрашиваются тики

count=0                // количество тиков, которые необходимо получить

А он сам мне отправляет историю разве нет?

 
VANDER:

Дак я не заставляю терминал посылать мне тики в строго определенное время которых у него нет, я просто отправляю запрос:

from=0,                // дата, начиная с которой запрашиваются тики

count=0                // количество тиков, которые необходимо получить

А он сам мне отправляет историю разве нет?

Если по запрашиваемому символу торги закрыты (например ночь на дворе) - откуда по запрашиваемому символу возьмутся тики?
 

Проверил, для основного символа RTS-12.19 на котором запущен эксперт последний тик был в 23:59:30 а у SBRF-12.19 в 23:52:21 поэтому чтоли он не мог загрузить тики?

И как интересно функция SymbolInfoTick помогает ему одуплиться? 

 
VANDER:

Проверил, для основного символа RTS-12.19 на котором запущен эксперт последний тик был в 23:59:30 а у SBRF-12.19 в 23:52:21 поэтому чтоли он не мог загрузить тики?

И как интересно функция SymbolInfoTick помогает ему одуплиться? 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2019.12.08 13:20

Если по запрашиваемому символу торги закрыты (например ночь на дворе) - откуда по запрашиваемому символу возьмутся тики?

 
VANDER:

Проверил, для основного символа RTS-12.19 на котором запущен эксперт последний тик был в 23:59:30 а у SBRF-12.19 в 23:52:21 поэтому чтоли он не мог загрузить тики?

И как интересно функция SymbolInfoTick помогает ему одуплиться? 

Вот советник:

//+------------------------------------------------------------------+
//|                                                  CopyTicks_1.mq5 |
//|                              Copyright © 2015, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2015, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.100"
#property description "Сравнение трёх режимов получения тиков"
//--- input parameters
input string   name  = "RTSSiZ9";      // символ по которому запрашиваем тики
input int      ticks = 3000;           // количество запрашиваемых тиков
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
  SymbolSelect(name,true);
//--- succeed
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- массив для приема тиков
   MqlTick ExTicks[];
//--- запросим тики
   ResetLastError();
   int copied=CopyTicks(name,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,"]");
     }
  }
//+------------------------------------------------------------------+

Запускаю на RTSSRZ9 (это SBRF-Dec19) - вот настройки:


запрашиваю тики в RTSSiZ9 (это Si-Dec19).

Результат:

2019.08.30 07:00:00   Получено тиков: -1 код ошибки: 4004
2019.08.30 07:00:01   Получено тиков: 2 код ошибки: 0
2019.08.30 07:00:01   Тик: 2019.08.30 07:00:00 bid: 22552.0 ask: 22697.0 last: 0.0 [0]
2019.08.30 07:00:01   Тик: 2019.08.30 07:00:01 bid: 22552.0 ask: 22697.0 last: 0.0 [1]
2019.08.30 07:00:02   Получено тиков: 3 код ошибки: 0
2019.08.30 07:00:02   Тик: 2019.08.30 07:00:00 bid: 22552.0 ask: 22697.0 last: 0.0 [0]
2019.08.30 07:00:02   Тик: 2019.08.30 07:00:02 bid: 22425.0 ask: 22856.0 last: 0.0 [2]
2019.08.30 07:00:02   Получено тиков: 4 код ошибки: 0
2019.08.30 07:00:02   Тик: 2019.08.30 07:00:00 bid: 22552.0 ask: 22697.0 last: 0.0 [0]

и так далее ...


То есть  на реальном сервере всё работает. Если у Вас не работает: 1. Работайте на реальном, а не демо-сервере, 2. Проверьте свой код.

Файлы:
 

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


2019.12.08 21:08:38.787 MetaTester 5 started on 127.0.0.1:3000
2019.12.08 21:08:38.790 initialization finished
2019.12.08 21:08:39.088 login (build 2265)
2019.12.08 21:08:39.120 4372 bytes of account info loaded
2019.12.08 21:08:39.120 1482 bytes of tester parameters loaded
2019.12.08 21:08:39.120 1212 bytes of input parameters loaded
2019.12.08 21:08:39.138 29043 bytes of symbols list loaded
2019.12.08 21:08:39.138 expert file added: Experts\CopyTicks_1.ex5. 16437 bytes loaded
2019.12.08 21:08:39.152 6116 Mb available, 76 blocks set for ticks generating
2019.12.08 21:08:39.152 initial deposit 10000.00 USD, leverage 1:100
2019.12.08 21:08:39.153 successfully initialized
2019.12.08 21:08:39.153 37 Kb of total initialization data received
2019.12.08 21:08:39.153 Intel Core i5-3450  @ 3.10GHz, 8157 MB
2019.12.08 21:08:39.198 RTS-12.19: symbol to be synchronized
2019.12.08 21:08:39.199 RTS-12.19: symbol synchronized, 4120 bytes of symbol info received
2019.12.08 21:08:39.199 RTS-12.19: history synchronization started
2019.12.08 21:08:39.201 RTS-12.19: load 33 bytes of history data to synchronize in 0:00:00.000
2019.12.08 21:08:39.201 RTS-12.19: history synchronized from 2018.01.12 to 2019.12.06
2019.12.08 21:08:39.201 RTS-12.19: ticks synchronization started
2019.12.08 21:08:39.202 RTS-12.19: load 40 bytes of tick data to synchronize in 0:00:00.000
2019.12.08 21:08:39.202 RTS-12.19: history ticks synchronized from 2019.01.03 to 2019.12.05
2019.12.08 21:08:39.205 RTS-12.19,H1: history cache allocated for 2480 bars and contains 971 bars from 2018.01.12 13:00 to 2019.08.29 23:00
2019.12.08 21:08:39.205 RTS-12.19,H1: history begins from 2018.01.12 13:00
2019.12.08 21:08:39.207 RTS-12.19,H1 (Open-Broker): generating based on real ticks
2019.12.08 21:08:39.207 RTS-12.19,H1: testing of Experts\CopyTicks_1.ex5 from 2019.08.30 00:00 to 2019.11.26 00:00 started with inputs:
2019.12.08 21:08:39.207   name=SBRF-12.19
2019.12.08 21:08:39.207   ticks=3000
2019.12.08 21:08:39.263 SBRF-12.19: symbol to be synchronized
2019.12.08 21:08:39.263 SBRF-12.19: symbol synchronized, 4120 bytes of symbol info received
2019.12.08 21:08:40.615 RTS-12.19 : real ticks begin from 2019.01.03 00:00:00
2019.12.08 21:08:55.958 2019.08.30 00:03:46   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:08:56.877 2019.08.30 00:03:46   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:08:57.764 2019.08.30 09:52:14   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:08:58.739 2019.08.30 10:00:01   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:08:59.784 2019.08.30 10:00:01   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:09:04.628 2019.08.30 10:00:03   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:09:05.579 2019.08.30 10:00:04   Получено тиков: -1 код ошибки: 4401
2019.12.08 21:09:06.596 2019.08.30 10:00:06   Получено тиков: -1 код ошибки: 4401

Единственная разница у меня стартует он ночью, но потом то даже утром то-же самое..