Скачать MetaTrader 5

ФОРТС: Глобальные переменные терминала

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Mikhail Filimonov
5931
Mikhail Filimonov  

Добрый день!

Сколько глобальных переменных терминала может существовать обновременно,

созданных советниками? 

Anatoli Kazharski
58177
Anatoli Kazharski  

А сколько нужно?

//+------------------------------------------------------------------+
//|                                                        #Test.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"
#define TOTAL_GLOBAL_VARIABLES 10000
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   for(int i=0; i<TOTAL_GLOBAL_VARIABLES; i++)
      GlobalVariableSet("global_variable_name_"+IntegerToString(i),0);
//---
   Print("global_variables_total: ",GlobalVariablesTotal());
  }
//+------------------------------------------------------------------+
Mikhail Filimonov
5931
Mikhail Filimonov  
tol64:

А сколько нужно?

Не одним советником на одном инструменте,

А разными советниками на разных инструментах. 

Нужно всего 50, 25 создаются, а остальные нет.

Anatoli Kazharski
58177
Anatoli Kazharski  
Mikalas:

Нужно всего 50, 25 создаются, а остальные нет.

Нужен пример Вашего кода, который это воспроизводит.
Anatoli Kazharski
58177
Anatoli Kazharski  
Mikalas:

Не одним советником на одном инструменте,

А разными советниками на разных инструментах. 

...

Возможно имена переменных совпадают.
Mikhail Filimonov
5931
Mikhail Filimonov  
tol64:
Возможно имена переменных совпадают.
void COrder::SetZalog( const double zalog )
{
  GlobalVariableSet( _Symbol, zalog );
}
Artyom Trishkin
Модератор
77639
Artyom Trishkin  
Mikalas:
Вполне могут совпадать. Добавьте к имени переменной имя советника, который её создаёт.
Anatoli Kazharski
58177
Anatoli Kazharski  
Mikalas:

Есть ещё функция GlobalVariableCheck(). Перед созданием гл.переменной проверьте, есть ли переменная с таким именем. Если есть выведите сообщение в журнал. 

В имя гл. переменной можно включить символ, имя эксперта, таймфрейм. Всё что угодно, что сделает его уникальным. 

Mikhail Filimonov
5931
Mikhail Filimonov  

Ребята, вы о чём?

Как GAZP-12.14 может совпасть с GOLD-12.14 ? 

Или даже  GAZP-12.14  с  GAZP-3.15 ?  

Anatoli Kazharski
58177
Anatoli Kazharski  
Mikalas:

Ребята, вы о чём?

Как GAZP-12.14 может совпасть с GOLD-12.14 ? 

Или даже  GAZP-12.14  с  GAZP-3.15 ?  

Воспользуйтесь функцией GlobalVariableCheck() и посмотрите, есть ли какие-нибудь ошибки с помощью функций ResetLastError() и GetLastError(). 

А лучше приведите пример своего кода. 

Mikhail Filimonov
5931
Mikhail Filimonov  
tol64:

Воспользуйтесь функцией GlobalVariableCheck() и посмотрите, есть ли какие-нибудь ошибки с помощью функций ResetLastError() и GetLastError(). 

А лучше приведите пример своего кода. 

50 РАЗНЫХ инструментов ОДИН советник на них (1 советник - 1 инструмент, код один и тот же)

Пример кода выше.

Чего проверять ( например GOLD-12.14 если он только один )? 

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий