Резервный канал интернет для МТ4 - страница 2

 
С ходу видимо идей особо нет .
Попробую по пунктам,если будут замечания поправьте кому интересно.

1.Каждую минуту создаём из МТ4 файл советником (MQL).
2.Сторонней программой читаем время создания файла.
3.Если время создания файла больше, чем то что заданно, мы считаем что,произошёл разрыв связи.
Можно установить временные зоны.Ночью котировки реже время больше,днём чаще время меньше.
4.Если условия п.3 выполненны подключаем сотовый телефон происходит коннект и советник продолжает работать.
5.По истечении 30 минут пытаемся проверить основной канал.Отключаем резервный и ждем если есть коннект всё нормально,
если нет, то опять на 30 минут включается резервный канал.

Написал то, что смог придумать, если есть идеи прошу на обсуждение.
Всем спасибо.
 
zhuki писал (а) >>
С ходу видимо идей особо нет .
Попробую по пунктам,если будут замечания поправьте кому интересно.

1.Каждую минуту создаём из МТ4 файл советником (MQL).
2.Сторонней программой читаем время создания файла.
3.Если время создания файла больше, чем то что заданно, мы считаем что,произошёл разрыв связи.
Можно установить временные зоны.Ночью котировки реже время больше,днём чаще время меньше.
4.Если условия п.3 выполненны подключаем сотовый телефон происходит коннект и советник продолжает работать.
5.По истечении 30 минут пытаемся проверить основной канал.Отключаем резервный и ждем если есть коннект всё нормально,
если нет, то опять на 30 минут включается резервный канал.

Написал то, что смог придумать, если есть идеи прошу на обсуждение.
Всем спасибо.

Думаю не стоит создавать никакие файлы.

1. Раз в 5 минут проверяем соединение пингом.

2. Если пинг не прошел, запускаем резервное соединение.

3. Далее стартуем (если ADSL основное соединение) подключаться до одурения (или если кому-то нравится, то раз во сколько-то минут).

4. Раз в 5 или 10 минут проверяем состояние основного соединения, если оно в состоянии "соединено", то тушим резервное соединение.

5. Снова начинаем проверку соединения пингом.

 

Так будет экономичнее по усилиям и по коду.

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

 

1.Надо проверять не соединение с интернетом а коннект с МТ4.Может быть любой казус.Да и из МТ4 проблемно сделать пинг.

2.Как проверить основное соединение работает или нет, для системы они едины.

Что касается минуты это для примера.

 

С файлом конечно надежнее!

Но проскользнула мыслишка. Сторонняя прога коннектится к терминалу по DDE. А там должно передаваться время сервера.

Поэтому даже в ночное время можно быстрее определить разрыв.

 
zhuki писал (а) >>

1.Надо проверять не соединение с интернетом а коннект с МТ4.Может быть любой казус.Да и из МТ4 проблемно сделать пинг.

2.Как проверить основное соединение работает или нет, для системы они едины.

Надо проверять именно соединение с интернетом, потомучто толку с того, если сервер брокера отвалится, а вы будите скакать по своим соединениям?

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

 

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

да и сервер может быть другим. Брокеры держат по несколько адресов.Поэтому я не совсем согласен с пингом.

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

Спасибо.

 

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

Я пока тоже не знаю, но всех соединений в Windows есть имена, вопрос только откуда бы их выдернуть, чтобы обратиться к ним, буду копаться в данном вопросе.

 

А вот мысль Владимира насчет DDE сервера весьма интересная, надо будет и над ней подумать.

 
zhuki писал (а) >>

Хочу спросить у тех кто работает советниками.

Какой можно построить алгоритм переключения на резервный канал интернета,если отключается основной.

Условия примерно такие .Основной канал безлимитный скорость 512 кбт,он является предподчтительным.

В качестве канала резервного есть только сотовый телефон,скорость низкая,надежность высокая,но трафик дороговат.

Можно написать DLL и ориентироваться, есть связь или нет .Нет связи включаем резерв .А как перейти назад ?

Если кто нибудь работал над такой задачей поделитесь принципами (алгоритмом) как и что.

Всем спасибо .


Хотел статейку тиснуть, но коль уж задали вопрос, отвечу.


ВСЁ ЭЛЕМЕНТАРНО ВАТСОН!!!


1. Покупаем двойной роутер, например D-LINK DI-LB604, его полное описание на сайте http://www.dlink.ru/products/prodview.php?type=15&id=605.

2. Покупаем ДВА!!! канала связи

а) по ВИТОЙ ПАРЕ;

б) ADSL, это те, что по телефонной линии с соответствующим модемом, модем обязательно с RJ45.

3. Запихиваем Витую пару и шнурок от модема в DI-LB604 (WAN).

4. Подключаем ПК к роутеру.

5. Настраиваем роутер, он настраивается через WEB интерфейс.

там большое кол-во режимов, но для Вас рекомендация следующая:

или включить оба канала или один сделать резервным.

6. Зададите вопрос - почему ADSL?

При пропадании электричества в доме - телефонная линия всегда есть и она работает.

7. Если у Вас есть UPS, подключите к нему роутер и ADSL модем.

8. И ВСЁ.

9. К роутеру можно одновременно подключить 4 ПК, но через хабы до 253 штук.

 

Имея два постоянно работающих канала можно всё решить проще.

Но тема об одном постоянном и одном канале GPRS или просто модем к телефону. 

Думаю общие очертания есть, можно поработать над такой схемой.

Всем спасибо за участие.

 
смотря какой adsl модем если с rg45 он будет работать ТОЛЬКО с внешним питанием а если отключат свет модем потухнет вместе с ним
Причина обращения: