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

 
Mikalas:

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

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

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

У Вас есть желание решить проблему или что именно Вы хотите?

Чтобы понять в чём дело, выясните, возникают ли какие-нибудь ошибки при создании гл. переменных. 

 
tol64:

У Вас есть желание решить проблему или что именно Вы хотите?

Чтобы понять в чём дело выясните, возникают ли какие-нибудь ошибки при создании гл. переменных. 

Спасибо, попробую сделать так:

void COrder::SetZalog( const double zalog )
{
  datetime a_time = GlobalVariableSet( _Symbol, zalog );
  
  if( ulong( a_time ) == 0 )
  {
    Print( GetLastError() );
  }  
}
 
Mikalas:

Спасибо, попробую сделать так:

Сбрасывайте последнюю ошибку перед созданием: ResetLastError(). А то так можно получить ошибку, которая совсем по другой причине сохранилась.
 
tol64:
Сбрасывайте последнюю ошибку перед созданием: ResetLastError(). А то так можно получить ошибку, которая совсем по другой причине сохранилась.
Cбрасываю, наверняка очередной баг.
 
Mikalas:
Cбрасываю, наверняка очередной баг.

Ошибок не обнаружено и проблема осталась?

В какой части программы создаются гл. переменные? Есть ли в эксперте функции удаления гл. переменных?

Сделайте краткую версию эксперта для воспроизведения проблемы (без торговых условий). То есть, оставьте только тот минимум кода, который нужен для создания гл. переменных. Протестируйте снова. Сохранилась ли проблема?

 
tol64:

Ошибок не обнаружено и проблема осталась?

В какой части программы создаются гл. переменные? Есть ли в эксперте функции удаления гл. переменных?

Сделайте краткую версию эксперта для воспроизведения проблемы (без торговых условий). То есть, оставьте только тот минимум кода, который нужен для создания гл. переменных. Протестируйте снова. Сохранилась ли проблема?

Выставляется отложенный ордер, для него резервируются средства ( ГО zalog )

Удаляется ГП только, при удалении советника.

Я не могу ( много времени займёт ) из 7000 строк сделать проверочного советника ( да и проверить можно только на реале ).

Написал в СД пусть сами разбираются. 

 
Mikalas:
Cбрасываю, наверняка очередной баг.
Как-то я собирал изменения некоторых параметров торгового окружения по всем символам, что были в ДЦ. Изменения передавал через GV, потом в файл. Их было значительно больше, чем 50. Может я и не заметил чего, но вродь всё работало...
 
artmedia70:
Как-то я собирал изменения некоторых параметров торгового окружения по всем символам, что были в ДЦ. Изменения передавал через GV, потом в файл. Их было значительно больше, чем 50. Может я и не заметил чего, но вродь всё работало...
...Попробую при инициализации создавать ГП. Может и решится проблема.
 
Mikalas:
...Попробую при инициализации создавать ГП. Может и решится проблема.
Я GV "на лету" создавал. Хотя... в OnInit() была проверка. Давно это было, уже точно не вспомню.
 

Прикольно получилось:

ResetLastError();
Print( "Test GOLD" );
datetime a_time = GlobalVariableSet( _Symbol, zalog );
                                                                     
if ( ulong( a_time ) == 0 )
{
  Print( "Ошибка = ", GetLastError() );
}

 

Глобальная переменная не появилась :) 

 

Причина обращения: