Вопросы от "чайника" - страница 122

 

ПОжалуйста, подскажите, почему у меня не работает вот такой простой скрипт:

#include <Indicators\Indicators.mqh>

void OnStart()

  {

   CiOpen m_open;        

   bool z=m_open.Create(Symbol(),Period());

   Print(m_open.GetData(1)); 

  }

 
IlshatG:

ПОжалуйста, подскажите, почему у меня не работает вот такой простой скрипт:

#include <Indicators\Indicators.mqh>

void OnStart()

  {

   CiOpen m_open;        

   bool z=m_open.Create(Symbol(),Period());

   Print(m_open.GetData(1)); 

  }

 

Нужно так:

#include <Indicators\Indicators.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   CiOpen m_open;        
//---
   bool z=m_open.Create(Symbol(),Period());
   m_open.Refresh();
   Print(m_open.GetData(1)); 
  }
 
uncleVic:

Нужно так:

Спасибо. То есть нужно всегда использ. refresh перед обращением к данным? 

А как быть в случае с экспертами? Если я создам новый класс торговых сигналов, установлю переменную m_used_series=USE_SERIES_OPEN+USE_SERIES_CLOSE;

То могу ли я в методах класса сразу же обращаться к ценам Open(Ind) и Close(Ind) ?

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

Спасибо. То есть нужно всегда использ. refresh перед обращением к данным? 

А как быть в случае с экспертами? Если я создам новый класс торговых сигналов, установлю переменную m_used_series=USE_SERIES_OPEN+USE_SERIES_CLOSE;

То могу ли я в методах класса сразу же обращаться к ценам Open(Ind) и Close(Ind) ?

 

Да.

Все индикаторы и таймсерии, используемые в эксперте, созданном на основе Стандартной Библиотеки, автоматически добавляются в коллекцию индикаторов эксперта (и, как следствие, автоматически же поддерживаются в "свежем" состоянии).

 
uncleVic:

Да.

Все индикаторы и таймсерии, используемые в эксперте, созданном на основе Стандартной Библиотеки, автоматически добавляются в коллекцию индикаторов эксперта (и, как следствие, автоматически же поддерживаются в "свежем" состоянии).

Спасибо. Теперь понятно, как это работает.
 
IlshatG:
Пожалуйста, подскажите, как подключить MQL cloud network для вычислений? Я тестирую советник. Но облачные агенты неактивны и не подсвечиваются. Я установил галочку Ипользовать->MQL5 Cloud Network. У меня на счету 2 доллара бонусных средств. Может быть нужно ещё где то поставить галочку или положить больше денег? 

А Вы указали в настройках терминала в "Сервис - Настройки - MQL5.community" свой правильный логин с паролем от MQL5?

В результате в окне агентов должен показаться доступный баланс:


 
Renat:

А Вы указали в настройках терминала в "Сервис - Настройки - MQL5.community" свой правильный логин с паролем от MQL5?

В результате в окне агентов должен показаться доступный баланс:


Да, я указал верный логин и в окне отобразился баланс. У меня установлена платформа, которую я скачал на сайте брокера. Build 574 от 12 января. Я попробовал сейчас установить платформу последней версии с сайта  https://www.metatrader5.com/  , и в ней я могу видеть доступные агенты. Похоже, что дело в том, что metatrader от брокера не свежей версии и не обновляется автоматически? А возможно ли обновить терминал до текущей версии вручную? 
MetaTrader 5 Trading Platform for Forex Trading
  • www.metatrader5.com
The MetaTrader 5 Trading Platform is designed to provide brokerage services to traders in Forex, CFD, Futures, as well as stock markets. Become a broker and start rendering services to traders on the financial markets.
 
IlshatG:
Да, я указал верный логин и в окне отобразился баланс. У меня установлена платформа, которую я скачал на сайте брокера. Build 574 от 12 января. Я попробовал сейчас установить платформу последней версии с сайта  https://www.metatrader5.com/  , и в ней я могу видеть доступные агенты. Похоже, что дело в том, что metatrader от брокера не свежей версии и не обновляется автоматически? А возможно ли обновить терминал до текущей версии вручную? 

Да, у Вас была очень старая версия терминала.

Чтобы обновиться до последней версии, достаточно вбить "MetaQuotes" в окне выбора сервера, дождаться появления новых серверов и выделить демо-счет на сервере MetaQuotes-Demo:

На нашем сервере всегда новые версии программ. После подключения наверняка произойдет апгрейд.

 
Renat:

Да, у Вас была очень старая версия терминала.

Чтобы обновиться до последней версии, достаточно вбить "MetaQuotes" в окне выбора сервера, дождаться появления новых серверов и выделить демо-счет на сервере MetaQuotes-Demo:

На нашем сервере всегда новые версии программ. После подключения наверняка произойдет апгрейд.

Заработало. СПасибо!
 
papaklass:

В чем фишка? Чего я не понимаю?

Так ошибок при компиляции нет. А так:

Выдает ошибку 

 

1. 

MqlRates mrate[];
mrate[] = {0};

Ошибка - инициализация возможно только при объявлении:  MqlRates mrate[] = {4}; 

2. ArraySetAsSeries() применима только для динамических массивов. Массив который был проинициализирован становится статическим. Пример динамического массива: MqlRates mrate[];  

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
Причина обращения: