Повторные алерты

 
Мой индикатор выдает алерты стандартным метатрейдеровским способом Alerts(). Проблема в том, что при переключении на другой таймфрейм и обратно сообщения дублируются как показано на скриншоте. Сколько переключений, столько и дубликатов. Как этого избежать? Если бы можно было получить доступ к инфе, которая отображается в окошке алертов, то можно было бы организовать проверку на дубликаты.

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


А разве есть такие пользовательские переменные, которые при переключении таймфреймов (инициализации ЕА) не обнуляются? Т.е. я могу создать динамический массив строк Alerts[], добавлять туда выведенные алерты и этот массив будет жить до тех пор, пока работает terminal.exe?

В хелпе глобальные переменные определяются так. Это подходит для моего случая?
string Alerts[];   // global variable
int start()  {
   ...
 }
 
Думаю, речь шла о других глобальных переменных - "MQL4: Глобальные переменные"
 
Думаю, речь шла о других глобальных переменных - "MQL4: Глобальные переменные"


Ясно, но там разрешен только тип double, то есть нужно как-то извратиться чтобы превратить строку типа "EURUSD0706011600" в число с плавающей точкой и обратно?

datetime GlobalVariableSet( string name, double value) 




 
А зачем мучаться? Ведь имя переменной можно задавать строкой. В качестве имени и можно использовать символ пары да и всё. А число хранить в значении переменной.
 
А зачем мучаться? Ведь имя переменной можно задавать строкой.


То есть, отправляя алерт, проверять, есть переменная=ALERT_ID ("fxbEURUSD0706011600"). Если GlobalVariableCheck("fxbEURUSD0706011600") возвращает FALSE, значит переменной нет, алерт уникальный и можно создавать GlobalVariableSet( "fxbEURUSD0706011600", 255). А потом в deinit() удалить все свои переменные-алерты через GlobalVariablesDeleteAll( "fxb")?
Отлично, спасибо за помощь.
Причина обращения: