Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может ли это решить проблему?
Спасибо, edddim!
не могли бы вы объяснить вашу идею также словами?
the problem is not in my code it is in the IsConnected().
Спасибо, что осветили причины, по которым вы остаетесь в бесконечном цикле.
Да, я понимаю, что это не ваш код - я рассуждал о серии событий, которые привели к тому, что Terminal попал в область кода, где он выполнил некоторый код, который вызвал проблему с подключением.
Поскольку вы утверждаете, что действительно остаетесь в цикле, то не может ли быть так, что Terminal не может обработать это правильно... кто знает... но если не обнародовать эти идеи, никому не придет в голову рассматривать вероятность такого развития событий, да?
Еще раз спасибо за ваш ответ.
Служба поддержки не может эмулировать вашу проблему - так что иногда боковое мышление полезно...
;)
не могли бы вы объяснить вашу идею также словами?
Идея заключается в проверке, ...немного сложнее представленная, потому что она будет проверять входящий тик со временем. Больше можно проверить, увеличив ArraySize(FILE), а более точной была бы проверка MOVE[d] > MarketInfo(FILE[d],5) как множества других возможных функций, включенных с точным указанием изменения. Более простым вариантом проверки может быть проверка, если просто подключено:
Если это больше 1000 Sleep пауза будет неточной по точности, а если меньше, то можно получить то же время, что и предыдущее, т.к. полученное время в секундах.
Следующей проверкой может быть, если тик изменен, чем будут выполняться последующие операции.Это с моей точки зрения.
Но, к сожалению, это не решает проблему, поскольку это довольно неудобно и не очень надежно.
Кроме того, он проверяет, открыт ли рынок, а не проверяет соединение с торговым счетом (если я правильно понял ваше решение).
Я дружески прошу вас, MetaQuotes, приложить больше усилий для исправления этой проблемы, так как это критическая проблема, и я не единственный, кто с ней сталкивается.
Однако, пожалуйста, не обижайтесь на мои просьбы, если вы уже работаете над этим.
С уважением,
Даниил.
Сегодня я установил на своем виртуальном сервере скрипт-наблюдатель, который сообщает о состоянии IsConnected() двух станций MT4. На одной из них, MIG Investment, MT4 остается в состоянии !isConnected() после одного или двух коротких отключений, хотя она действительно подключена.
Не могли бы вы, уважаемая команда разработчиков MT4, сделать большую тестовую установку с несколькими станциями MT4 разных брокеров и проверить состояние isConnected()-состояния? Я более чем уверен, что вы сможете воспроизвести это, если приложите немного усилий!
Большинство доступных скриптов и советников зависят от IsConnected(), возвращающей правильный статус соединения, и постоянный перезапуск MT4 не является тем обходным путем, который меня устраивает.
Еще раз. Для определения этой проблемы вы должны использовать простой эксперт
НЕ СКРИПТ ИЛИ EA С БЕСКОНЕЧНЫМ ЦИКЛОМ!!!!!!!
Если ваш скрипт сообщает о потере соединения, а наш эксперт (см. выше) молчит, значит у вас глобальная проблема с интернетом (например, проблема с последней милей вашего интернет-провайдера).
Если эксперт печатает "Alarm", значит, у нас проблема с подключением.
да! Стринго снова отвечает, спасибо большое.
Однако, вот что это такое! Я пробовал это с такими простыми советниками/скриптами без циклов.
Кстати, я уверен, что у меня нет проблем с интернетом, так как он тестировался в моей частной сети и на виртуальном сервере.
Дело в том, что я могу торговать, и все кажется и _все_ в порядке, но isConnected() по-прежнему возвращает FALSE
Торговая операция инициализирует собственное соединение с торговым сервером.
IsConnected() показывает статус соединения с данными.
1. Индикатор соединения (правый нижний угол) красный или темный?
2. К какому брокеру вы подключены?
3. Какая операционная система установлена на вашем виртуальном сервере?
спасибо за быстрый ответ, вот мои ответы:
1. Это зелено-красный, как обычно
2. MIG Investments
3. На моем виртуальном сервере установлен Windows Server 2003. На моем домашнем рабочем столе, на котором периодически возникает та же проблема, установлена WinXP.
Еще раз. Для определения этой проблемы вы должны использовать простой эксперт
А НЕ СКРИПТ ИЛИ EA С БЕСКОНЕЧНЫМ ЦИКЛОМ!!!!!!!.
Если ваш скрипт сообщает о потере соединения, а наш эксперт (см. выше) молчит, значит у вас глобальная проблема с интернетом (например, проблема с последней милей вашего интернет-провайдера).
Если советник печатает "Alarm", значит у нас проблема с подключением.
Я пробовал следующее:
void start()
{
if(IsConnected()) Print("Подключено!");
if(!IsConnected()) Print("Тревога!!! Соединение потеряно!");
}
Connected печатается, когда есть соединение, но когда соединение потеряно, советник отключается. Я думаю, причина в том, что нет больше входящих тиков, чтобы вызвать код !IsConnected() и поэтому он никогда не обнаружит потерю соединения!!!