Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А куда вставлять этот код?
на выходе из функции start
До 100000 без видимых улучшений
Заменил
на
Тот же перец.
Ошибка 146
то есть, мы сами ждём освобождения занятого нами же торгового контекста
и вообще, исключительно странная ситуация. после проведения торговой операции контекст освобождается моментально. в противном случае нельзя было бы в цикле закрывать позиции
Еще раз.
Код выше будет приводить к зависанию эксперта, если флаг торговли снят.
Это будет приводить к остановке торговли вообще, так как семафор никто не просигналит. Эта ситуация хотя бы как-то контролируема, так как флаг снимается только руками.
Хуже дело обстоит с семафором. GlobalVariableSet может упасть на другого эксперта, когда тот закрывает семафор. В результате несколько экспертов будут пытаться торговать одновременно.
Как видно, среди разработчиков царит полное непонимание асинхронных процессов, происходящих в терминале. И это непонимание экспортируется в форум.
Нет ничего удивительного, что появляются фатальные ошибки, подобные обсуждаемой здесь, и эти ошибки не могут быть исправлены.
Зачем давать вредные советы?
предполагается, что если советник дошёл до этого места, значит флаг торговли стоит!
предполагается, что если советник дошёл до этого места, значит флаг торговли стоит!
На чем основано такое предположение? Когда предположения не совпадают с реальностью, появляются неожиданные ошибки.
Флаг - ерунда.
Синхронизация, мутексы, разделяемые ресурсы - проблема реальная. Советовать решать ее с помощью глобальных переменных на уровне пользователя - нонсенс. Тем более, что пример неработоспособен.
Увы. "Начиная с 12 ночи" - это не статистика. По неведомым причинам, проблемы накатывают волнами, то нет, то несколько сразу...
Quark, имей совесть, не выкладывай такие логи на форум =)))))
Я думал - кому интересно (тоном Скрипача из Киндзадза) :))
На счёт реальности закрытия/открытия - у меня во всех ф-циях стоят проверки и ошибки появляются, но это ЛОЖНЫЕ ошибки. Я проверял по логам и по истории ордеров, все позиции были закрыты. Просто ордер не успевает переместится в историю. Я сделал задержку 1сек перед проверкой - но этого мало... Когда я спрашивал - ничего не ответили.
Мысль хорошая. Но у меня были случаи, когда и час спустя ордер никуда не девался, то есть, иногда они и не ложные.
У меня задержка тоже стоит, по 10 секунд.
У меня задержка тоже стоит, по 10 секунд.
все мои ошибки, как оказалось, были в коде =) т.е. я неправильную проверку после ордерклоус сделал.
После того, как исправил - нет ни одной. Правда, мало времени прошло, надо подождать...
все мои ошибки, как оказалось, были в коде =) т.е. я неправильную проверку после ордерклоус сделал.
После того, как исправил - нет ни одной. Правда, мало времени прошло, надо подождать...
Как выглядит исправленный код?
для ордерклоус:
для ордерсенд - просто 5-тикратная попытка выбрать ордер с секундной паузой,
для модифи - сравнение старых значений с текущими