Я построил нечто подобное, используя BDH.Мне пришлось отключить контроль, чтобы надстройка Bloomberg могла собирать данные, а затем возобновлять мой код.Я смог сделать это с помощью Application.OnTime.
Например, если у вас есть функция «CheckForData», которая влияет на вызовы = BDP, и другая функция «ProcessData», которая проверяет результаты, выполните асинхронный вызов «ProcessData» в «CheckForData»,например,
Sub CheckForData
' Your code here
Application.OnTime Now + TimeValue("00:00:05"), "ProcessData"
End Sub
Затем в ProcessData выполните ваши проверки.