[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 241
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вам же сразу написали в чём причина. Дело не в i++ или i--, а в том, с какого конца начать удалять ордера - с начала списка (как вы) или с конца списка (как нужно в данном случае)
Для того, чтобы понять что происходит при удалении ордеров, нужно знать и представлять, каким образом ордера хранятся в массиве.
Когда удаляете сначала первый ордер (он индексируется i=0), то индексы всех ордеров смещаются в массиве - тот, который был первым, становится нулевым, второй становится первым, третий - вторым и т.д. Потому и происходит не полное удаление всех ордеров - ведь когда i становится равным 6, шестой ордер смещается на пятую позицию в массиве ордеров и ордер просто не выбирается по индексу 6.
Когда же вы удаляете ордера с конца списка, то смещения не происходит - первый ордер как имел нулевую позицию в списке, так и будет её иметь. 10-й ордер имел позицию 9, он был удалён, далее удаляется 9-й ордер, который имеет позицию в списке 8 и т.д. до первого ордера с позицией ноль в массиве ордеров.
Как же лучше и чем ? )
Подскажите, пожалуйста, настроил мультивалютник на работу с несколькими валютами из одного окна. Но проблема в том, что переключение между валютами происходит настолько быстро, что не успевает открыться ордер. За 3 минуты открылось 4 ордера + 4 отложенных. А переключений между валютами произошло очень много.
http://vinin.ucoz.ru/forum/11
есть 2 пользовательских модификации Mod_1 и Mod_2
в обоих случаях условие модификации:
double TS;
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (TS < Min_Dist)
TS=Min_Dist;
каким образом его поменять чтобы модификация не проходила при условии стоп лоса, для бай стоп лосс меньше трейл стопа,
а для селл, стоп лосс больше трейл стопа
Здравствуйте.
Помогите, пожалуйста, найти ошибку.
Нижеприведённый код не работает на тестере, в то время как на демке такой проблемы нет. В журнале ошибок нет.
Заранее благодарю.
Чем отличается вызов функций из dll в MT4 от MT5? Компилирую dll, в MT5 замечательно работает, а в MT4 выдает ошибку:
2011.10.06 23:00:34 Solaris executor EURUSDm,M1: cannot call function 'InfoOfTrading' from dll 'Solaris.dll' (error 127)
Что за батва? - весь мозх уже поламал. :(
делайте проект Win32 dll
Продолжу свой вышеизложенный вопрос.
Указанный выше код также задействован мною ещё в одном советнике. С тем советником была ситуация, подобная описанной с той лишь разницей, что условия кода соблюдались с точностью до наоборот (на демке, опять же, всё работало без ошибок). Однако в один прекрасный момент тестер заработал корректно и код стал работать соответственно заложенным в него условиям.
Прям мистика какая-то.
Ещё, по какой-то причине, у меня иногда не пашет оптимизация. Бывает так, что она что-то там себе пересчитывает, однако все результаты при этом почему-то обнуляет. И так на терминалах разных брокеров. При этом, когда на небе, наверное, сходятся все звёзды и созвездия, всё начинает работать как положено.