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

 

Итак - все тики удалены:папка пустая

Папка пустая

Запускаю скрипт на символе USDJPY, а запрашиваю тики с AUDCAD (запрашиваю 2000000 тиков).

//+------------------------------------------------------------------+
//|                                                    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 string name="AUDCAD";  // символ по которому запрашиваем тики
input int  ticks=2000000;  // количество запрашиваемых тиков
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   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,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20, " Mb");
  }
//+------------------------------------------------------------------+

Обратите внимание - закачка длилась (вкладка Журнал) - три секунды

2019.12.08 08:16:51.322 Scripts script CopyTicks_1_01 (USDJPY,Daily) loaded successfully
2019.12.08 08:16:54.933 Scripts script CopyTicks_1_01 (USDJPY,Daily) removed

Результат выполнения (вкладка "Эксперты")

2019.12.08 08:16:54.914 CopyTicks_1_01 (USDJPY,D1)      Получено тиков: 2000000 код ошибки: 0
2019.12.08 08:16:54.918 CopyTicks_1_01 (USDJPY,D1)      Тик: 2019.09.19 16:24:17 bid: 0.9023600000000001 ask: 0.90258 last: 0.0 [0]
2019.12.08 08:16:54.918 CopyTicks_1_01 (USDJPY,D1)      Тик: 2019.12.06 23:54:53 bid: 0.9064700000000001 ask: 0.90724 last: 0.0 [1999999]
2019.12.08 08:16:54.918 CopyTicks_1_01 (USDJPY,D1)      Size 114 Mb
 
Спасибо, кое-что прояснилось. Проблема возникает только в тестере стратегий, сначала была ошибка 4302 - Символ не выбран в MarketWatch, добавил функцию  SymbolSelect. Теперь возникает 4401 - Запрашиваемая история не найдена. Только я не могу найти папку с тиками, такой директории как у вас на скрине у меня нет, может ее надо самому создать или указать где то в настройках?
 
VANDER:
Спасибо, кое-что прояснилось. Проблема возникает только в тестере стратегий, сначала была ошибка 4302 - Символ не выбран в MarketWatch, добавил функцию  SymbolSelect. Теперь возникает 4401 - Запрашиваемая история не найдена. Только я не могу найти папку с тиками, такой директории как у вас на скрине у меня нет, может ее надо самому создать или указать где то в настройках?

Клуб Телепатов. Там имеют читать мысли, умеют проникать удалённо на компьютер и определять: тип и билд терминала, название и битность операционной системы, тип запускаемой программы (индикатор, эксперт, скрипт) и главное - они МОГУТ ВИДЕТЬ КОД НА РАССТОЯНИИ!

Клуб Телепатов
Клуб Телепатов
  • 2011.05.08
  • www.mql5.com
Клуб телепатов Вас послали сюда? Тогда давайте знакомиться! Как же такое могло случиться со мной...
 

Терминал Открытия в.5 билд 2265

Винда 8.1 х64

Эксперт

MqlTick           Tick[];
//+------------------------------------------------------------------+
void OnInit()
  {
   int A=0;
   if(SymbolSelect("SBRF-12.19",true))
      if((A=CopyTicks("SBRF-12.19",Tick,0,0,0))==-1)
         Alert(GetLastError());
      else
         Alert(A);
  }

UPD: нашел папку с тиками, почистил, после запуска эксперта добавляются тики только текущего инструмента.

 
VANDER:

Терминал Открытия в.5 билд 2265

Винда 8.1 х64

Эксперт

UPD: нашел папку с тиками, почистил, после запуска эксперта добавляются тики только текущего инструмента.

Предлагаю пройтись ещё раз к Телепатам: в первый раз они не увидели на каком символе был запуск кода, они не увидели код ошибки...
 
Подсказка: предлагаю осмыслить что означает запуск программы в тестера?

Подсказка: поставьте свой код в OnTick и распечатывайте количество полученных тиков в тестере...
 

Здравствуйте! Не могу правильно обьявить массив в структуре, выдает ошибку '=' - illegal assignment use .  Прошу помощи


struct array
  {
    string symbol;
    ENUM_TIMEFRAMES per[3]={PERIOD_M1,PERIOD_M2,PERIOD_M3};
  };
 
Tango_X:

Здравствуйте! Не могу правильно обьявить массив в структуре, выдает ошибку '=' - illegal assignment use .  Прошу помощи


Попробуйте оставить массив размерностью 3, а вот его инициализации перенести в конструктор.
 
Tango_X:

Здравствуйте! Не могу правильно обьявить массив в структуре, выдает ошибку '=' - illegal assignment use .  Прошу помощи


Попробуйте оставить массив размерностью 3, а вот его инициализации перенести в конструктор.
 
Vladimir Karputov:
Подсказка: предлагаю осмыслить что означает запуск программы в тестера?

Подсказка: поставьте свой код в OnTick и распечатывайте количество полученных тиков в тестере...

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

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