Ошибки, баги, вопросы - страница 761

 

В пределах одного класса необходимо держать служебное значение. Объявляю его в разделе privat. В конструкторе класса инициализирую. Все ок.

Нюанс следующий. Данное значение, фактически, константа - не меняется в течение жизни программы.

При соответствующей приписке при объявлении "const", компилятор ругается на попытку его изменения (инициализации) в конструкторе. Инициализация прямо в блоке объявления также вызывает ошибку компиляции.

Как в пределах одного класса объявить и инициализировать константу?

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
voix_kas:

В пределах одного класса необходимо держать служебное значение. Объявляю его в разделе privat. В конструкторе класса инициализирую. Все ок.

Нюанс следующий. Данное значение, фактически, константа - не меняется в течение жизни программы.

При соответствующей приписке при объявлении "const", компилятор ругается на попытку его изменения (инициализации) в конструкторе. Инициализация прямо в блоке объявления также вызывает ошибку компиляции.

Как в пределах одного класса объявить и инициализировать константу?

class MyClass
  {
public:
           MyClass(void): i(777), s("my string") {}
          ~MyClass(void) {}
private:
    const int    i;
    const string s;
  };
 
Это какая-то ошибка, или с сегодняшнего дня на демо сервере MetaQuotes спред 5 пунктов? В честь чего такое нововведение? И почему тогда так криво выставляются ордера ?
 

Здравствуйте!

У меня такой вопрос: я знаю, что в MetaTrader 5 запрещен импорт своих котировок, так вот, планируется ли разработка какой-нибудь программной возможности для импорта? Например, как это делается в Wealth Lab 6.3: у них на сайте можно скачать различные extensions, с помощью которых можно закачивать котировки в терминал. Например, можно бесплатно закачивать котировки с yahoo finance, google finance, котировки российских акций с сайта финама и т.д. То есть, даже не нужно подключение к торговому счету!

Это было бы очень удобно. Также было бы вообще супер создать коннектор к программе Quik, чтобы создавать роботов для фондового рынка.

Лично я с глубоким уважением отношусь к команде MetaQuotes, с огромным удовольствием работаю с их терминалом, и глубоко убежден, что за Meta Trader большое будущее. 

Но, единственное что лично меня пока еще держит на том же Wealth Lab, так это возможность импорта своих котировок. Хочется работать с акциями, фьючерсными контрактами, стаканом... когда уже это будет?

p.s. MetaQuotes, глядя на все ваши последние нововведения, как для терминала, так и для сайта, хочется от души поблагодарить вас и пожелать успехов! Спасибо за прекрасную программу MetaTrader 5.

 

Нужно подождать запуска МТ5 на фондовых брокерах и вся история котировок будет штатно.

Мы не разрешаем сторонний импорт чужих данных, так как это полностью сломает налаженный механизм "данные всегда доступы, всегда корректные, всегда синхронизированные, со всеми правильными настройками и тд".

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

Наша цель - простота и автоматизм. Посмотрите на то, как эволюционировал MetaTrader 5. В нем практически все делается автоматически, минимум настроек, все данные доступны - успевай только кнопочки "Старт" нажимать.

 

Понял, вы профессионалы - вам виднее как лучше.. Будем ждать.

Когда планируется хотя бы демо-доступ к котировкам и стаканам РТС, ММВБ, других бирж? Есть уже сейчас такие брокеры?

 
Renat:
Про несуществующие котировки: приведите, пожалуйста, воспроизводимый пример в коде. Наверняка ошибка в Вашем коде.

Вот пример абсолютно кривой работы функций CopyOpen() и SeriesInfoInteger().

Используемый код:

   string symbol="USDHKD";
   datetime date=D'02.05.12 00:00'; 
   double Arr[];
   Print("SYMBOL: ",symbol);
   Print("SERIES SYNCRONIZED: ",(bool)SeriesInfoInteger(symbol,Period(),SERIES_SYNCRONIZED));
   Print("LAST BAR DATE: ",TimeToString(SeriesInfoInteger(symbol,Period(),SERIES_LASTBAR_DATE)));
   Print("WORK BAR DATE: ",date);
   int i=CopyOpen(symbol,Period(),date,1,Arr);
   Print("COPYOPEN RESULT: ",i);
   if(i>0){Print("OPEN VALUE: ",Arr[0]);}else{Print("OPEN VALUE: UNKNOWN");}

 Получаемые результаты:

2012.07.02 22:44:33     Ind (EURUSD,D1) OPEN VALUE: 7.787
2012.07.02 22:44:33     Ind (EURUSD,D1) COPYOPEN RESULT: 1
2012.07.02 22:44:33     Ind (EURUSD,D1) WORK BAR DATE: 2012.05.02 00:00:00
2012.07.02 22:44:33     Ind (EURUSD,D1) LAST BAR DATE: 2011.09.02 00:00
2012.07.02 22:44:33     Ind (EURUSD,D1) SERIES SYNCRONIZED: true
2012.07.02 22:44:33     Ind (EURUSD,D1) SYMBOL: USDHKD

2012.07.02 22:45:57     Ind (EURUSD,W1) OPEN VALUE: 7.79515
2012.07.02 22:45:57     Ind (EURUSD,W1) COPYOPEN RESULT: 1
2012.07.02 22:45:57     Ind (EURUSD,W1) WORK BAR DATE: 2012.05.02 00:00:00
2012.07.02 22:45:57     Ind (EURUSD,W1) LAST BAR DATE: 1970.01.01 00:00
2012.07.02 22:45:57     Ind (EURUSD,W1) SERIES SYNCRONIZED: true
2012.07.02 22:45:57     Ind (EURUSD,W1) SYMBOL: USDHKD

 Build 655; Сервер MQ. 

Файлы:
Ind.mq5  2 kb
 
Если я правильно Вас понял, то Вам не нравится, что запрос Open цены за дневной бар среды 2 мая 2012 не совпадает с Open ценой недельного бара, в который входит 2 мая?

То есть Вы не уловили разницы цены отрытия дневного бара среды и цены открытия недельки, которая началась в понедельник 30 апреля?
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Renat:

Посмотрите значение LAST BAR DATEПо данным SeriesInfoInteger() истории ни за май, ни за апрель 2012 года по указанному инструменту не существует,

а CopyOpen() при этом не выдает ошибку.

 
Доберусь до компьютера и проверю.

А Вы пока можете скопировать дату вместо цены открытия и посмотреть бар какой даты был выдан по запросу.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5