Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1109
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Запускаю установщик, открывается окошко индикатора загрузки файлов.
А потом появляется другое окошко
Установщик требует чтобы я указал настройки прокси-сервера, которого у меня нет.
Здравствуйте. Будет ли корректна следующая запись? Функция при вызове должна удалить все отложенные ордера.
Здравствуйте. Будет ли корректна следующая запись? Функция при вызове должна удалить все отложенные ордера.
Нет, конечно. Тикет надо указывать, а не порядковый номер в цикле: OrderDelete(OrderTicket(),clrNONE);
Ну и условие достаточно такое: if(type>1).
И вывод кода ошибки рекомендую почаще делать, помогает.
Ах, да, функции типа "void" ничего не должны возвращать, не нужен return() в штатном исполнении, только при предусмотренном каким-либо условием преждевременном выходе из функции.
Здравствуйте. Будет ли корректна следующая запись? Функция при вызове должна удалить все отложенные ордера.
Имейте в виду, что есть еще недокументированные типы ордеров с type=6 и с type=7 соответственно для операций над балансом и над кредитом счета.
Вместо i<=OrdersTotal() лучше было бы i<OrdersTotal(), без лишнего вызова OrderSelect
И цикл надо проходить от конца к началу. В противном случае, если массив ордеров успел обновиться после удаления i-го элемента в нем, попавший на i-е место бывший i+1-м элемент будет пропущен. Лучше начинать с конца.
Если учесть, что разработчики не гарантируют никакой упорядоченности в массиве ордеров, то, собственно, нет и гарантии того, что последовательность ордеров в их массиве после удаления одного из них сохранится. Совсем надежно было бы сделать так. Крутим цикл до выявления отложенного ордера. Цикл прекращаем. Удаляем найденный ордер. Ждем Sleep (100) для обновления массива ордеров. Затем опять цикл поиска отложенного ордера, уже с новым массивом ордеров. Полный перебор, а не путем возобновления прежнего цикла. И так тройками (цикл поиска, удаление одного ордера, ожидание обновления массива) до момента, когда отложенный ордер найти уже не удастся.
Нет, конечно. Тикет надо указывать, а не порядковый номер в цикле: OrderDelete(OrderTicket(),clrNONE);
Ну и условие достаточно такое: if(type>1).
И вывод кода ошибки рекомендую почаще делать, помогает.
Ах, да, функции типа "void" ничего не должны возвращать, не нужен return() в штатном исполнении, только при предусмотренном каким-либо условием преждевременном выходе из функции.
Спасибо!
Имейте в виду, что есть еще недокументированные типы ордеров с type=6 и с type=7 соответственно для операций над балансом и над кредитом счета.
Вместо i<=OrdersTotal() лучше было бы i<OrdersTotal(), без лишнего вызова OrderSelect
И цикл надо проходить от конца к началу. В противном случае, если массив ордеров успел обновиться после удаления i-го элемента в нем, попавший на i-е место бывший i+1-м элемент будет пропущен. Лучше начинать с конца.
Если учесть, что разработчики не гарантируют никакой упорядоченности в массиве ордеров, то, собственно, нет и гарантии того, что последовательность ордеров в их массиве после удаления одного из них сохранится. Совсем надежно было бы сделать так. Крутим цикл до выявления отложенного ордера. Цикл прекращаем. Удаляем найденный ордер. Ждем Sleep (100) для обновления массива ордеров. Затем опять цикл поиска отложенного ордера, уже с новым массивом ордеров. Полный перебор, а не путем возобновления прежнего цикла. И так тройками (цикл поиска, удаление одного ордера, ожидание обновления массива) до момента, когда отложенный ордер найти уже не удастся.
Т.е. for(OrdersTotal()-1,i=0,i--) и в конце цикла sleep и break?
Т.е. for(OrdersTotal()-1,i=0,i--) и в конце цикла sleep и break?
Антивирь выключить и вызгузить из памяти.Всё это я уже проделал.
Удалял антивирус, удалял файерволл, чистил память.
Толку никакого.
В прежние времена не было такой хрени когда на ПК загружается файл-установщик только, а потом этот файл запускался и он производил бы установку терминала откуда то из интернета.
На ПК скачивался ВЕСЬ дистрибутив программы и установка производилась из папки на этом же ПК.
Всё это из-за появления т.н. "рблачных технологий".
А пользователи этих технологий не знают и не берут в расчёт, что на Земле ещё имеются такие места, где эти технологии использоваться не могут.
Невозможно. Либо их использование стоит денег.
Мне мой интернет в месяц стоит от 200 до 600 долларов в месяц.
Большинству же из тех, кто тему читает всего 10-15 долларов за то же время.
Поэтому мне для установки терминала нужен ВЕСЬ дистрибутив, а не один только файл *.exe
Иначе мне установку терминала не сделать.
Аналогичным образом я обновляю программу Adobe Flash Player , т.е скачиваю полный дистрибутив на ПК, благо, что это можно, а потом произвожу обновление, которое заключается в установке новой версии поверх старой.
А почему тут так нельзя?
И получается такая хрень.