ничего повторно делать не нужно, только один раз, если терминал сам реконнектится каждое утро, и вообще настроен переподключаться сам при дисконнекте
у меня так в connection_status_callback
| Код | 
|---|
| 
   if (nEvent == TRANS2QUIK_QUIK_CONNECTED){
      instance->m_connected = true;
      printf("\n[quik_order] СОЕДИНЕНИЕ УСТАНОВЛЕНО\n");
      /*long n = TRANS2QUIK_UNSUBSCRIBE_ORDERS();
      printf("\n[quik_order] TRANS2QUIK_UNSUBSCRIBE_ORDERS: %ld\n", n);
      n = TRANS2QUIK_SUBSCRIBE_ORDERS((LPSTR)instance->m_classCode.c_str(), (LPSTR)m_tickersList.c_str());
      printf("\n[quik_order] TRANS2QUIK_SUBSCRIBE_ORDERS: %ld\n", n);
      n = TRANS2QUIK_START_ORDERS(_order_status_callback);
      printf("\n[quik_order] TRANS2QUIK_START_ORDERS: %ld\n", n); */
   } else{
      printf("\n[quik_order] СОЕДИНЕНИЕ РАЗОРВАНО {%ld %ld %s}\n", nEvent, nExtendedCode, message);
      instance->m_connected = false;
   }
 | 
обрати внимание, что там почти всё закомментировано.
а так в ините
| Код | 
|---|
| 
   static bool set = false;
   if (set)
      return;
   if (!m_connected) {
      TRANS2QUIK_CONNECT((LPSTR)m_lib.c_str(), &code, message, MSG_LEN);
      m_connected = TRANS2QUIK_IS_QUIK_CONNECTED(&code, message, MSG_LEN) == TRANS2QUIK_QUIK_CONNECTED;
   }
   if (m_connected && !set) {
      printf("\n[quik_order] Выполняется первоначальная установка колбэков...");
      set = true;
      TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK(_connection_status_callback, &code, message, MSG_LEN);
      TRANS2QUIK_SET_TRANSACTIONS_REPLY_CALLBACK(_transaction_reply_callback, &code, message, MSG_LEN);
      TRANS2QUIK_SUBSCRIBE_ORDERS((LPSTR)instance->m_classCode.c_str(), (LPSTR)m_tickersList.c_str());
      TRANS2QUIK_START_ORDERS(_order_status_callback);
      printf("готово.\n");
   }
 | 
я честно говоря этот m_connected больше нигде не проверяю и не трогаю, т.к. у меня в случае недоступности сервера просто не приходят данные и никаких новых заявок тоже не будет
но это моя реализация, можно проверять конечно. раньше когда-то давно я проверял, потом перестал
колбеки устанавливаются 1 раз на много дней и работают пока работает робот
каждое утро при переподключении я вижу портянку приходящих заявок с прошлой сессии
и при любом переподключении