Вопрос по глобальным переменным

 
Что случается с глобальными переменными, после того, как терминал закрыт?
Будут ли они доступны при следующем запуске?
И главное - как сделать, чтобы по завершении терминала (включая аварийное завершение, так что деинит просьба не предлагать) эти переменные самоликвидировались?

Обрисую проблему. Эксперт работает так:
init:
if(!IsTesting() && !GlobalVariableCheck(strTradeSemaphore))
	GlobalVariableSet(strTradeSemaphore, 0.0);



start:

if(!IsBarEnd())
	return(0);

if(!IsTesting())
{
	while(!IsStopped())
	{
		GlobalVariableSetOnCondition(strTradeSemaphore, nMagic, 0.0);
		if(GlobalVariableGet(strTradeSemaphore) == nMagic)
			break;
	
		Sleep(1000);
	}
	
	RefreshRates();
}

...

if(!IsTesting())
	GlobalVariableSet(strTradeSemaphore, 0.0);	
return(0);



deinit:

GlobalVariableSetOnCondition(strTradeSemaphore, 0.0, nMagic);



Как я понимаю, если терминал падает до того, как глобальный семафор возвращен в 0, то при следующем запуске он и будет ненулевым. Так ли это? Как этого избежать?


 
значения глобальных переменных фиксируется на диске только после нормального завершения клиентского терминала. мы подусаем, что можно сделать
 
Quark, не знаю Вашего имени в суе, введите еще глобал переменные флаги нормального начала и конца их записи(иницилизации), если есть гудное начало и завершение то дел(или прересет) всех нужных. Проверено в работе.
Просто мало доверяю работе с юзер файлами и функциями, по максимуму все ресурсы служебных функций/ссылок/путей юзаю.

Всех благ,
Micky Mogol
 

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


Если дела обстоят так, то, наверное, мою проблему это решает. Более глобальную, правда, нет :)

Предложение. Сделайте скрипт под названием startup, который будет гарантированно исполняться первым при запуске МТ и в который я могу запихнуть чистку мусора от предшествовавшего крэша, инициализацию и т.п.
 

Quark, не знаю Вашего имени в суе, введите еще глобал переменные флаги нормального начала и конца их записи(иницилизации), если есть гудное начало и завершение то дел(или прересет) всех нужных. Проверено в работе.
Просто мало доверяю работе с юзер файлами и функциями, по максимуму все ресурсы служебных функций/ссылок/путей юзаю.

Всех благ,
Micky Mogol


Вопрос только, ГДЕ мне присваивать эти переменные.
 
подробне плиз, имхо - начал что-то выгружать из МТ в свой файл или фунцию - в глобал переменную флаг, удачно выгрузил - еще флаг или смена тогоже.

Всех благ,
Micky Mogol
 

подробне плиз, имхо - начал что-то выгружать из МТ в свой файл или фунцию - в глобал переменную флаг, удачно выгрузил - еще флаг или смена тогоже.

Всех благ,
Micky Mogol


Спасибо, понял :)
 
пжлт нзчт
у Вас нейро сеть чья?
и похоже нам пора уходить в мыло :)

Всех благ,
Micky Mogol
 
пжлт нзчт
у Вас нейро сеть чья?
и похоже нам пора уходить в мыло :)

Всех благ,
Micky Mogol


Нейросеть - раньше была моя, теперь я использую (удалено - барахло это, а не программа :)
Вообще же, если не жалко денег :) или есть обходные пути, то лучше всего NeuroShell. Matlab, говорят, тоже неплох. Но сейчас я нейросети практически забросил. Весь процессор занят тестером МТ :)
Мылом я практически не пользуюсь (корпоративный стандарт :) Лучше в форуме.
 
NeuroShell есть на борту, и она на моих входах кажет гудные резы, как выгрузить из нее сеть или длл.

Всех благ,
Micky Mogol
 

NeuroShell есть на борту, и она на моих входах кажет гудные резы, как выгрузить из нее сеть или длл.
Всех благ,
Micky Mogol


Гм... Я не добрался до стадии, когда результат хотя бы отдаленно сопоставим с теми, что дают простые стратегии, типа пробоя канала. Так что, вы меня опередили.
В плане присоединения НН к МТ я пока толком ничего не сделал. Увы. Через DLL, наверное.
Причина обращения: