[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 228
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Где лучше объявлять тип переменной (int, double и т.д.) с точки зрения уменьшения затратности ресурсов исполнения программы. Напр. int i можно объявить на глобальном уровне, а можно и в int start() ... в for (int i=OrdersTotal()-1; i>=0; i--) ... У меня есть ощущение, что объявление на каждом тике затратнее, чем один раз на глобальном уровне, сразу же после extern parameters. Или же разница в ресурсоёмкости одинакова?
все равно, все переменные (место для переменной в памяти) создаются один раз при старте программы, в дальнейшем переменная должна быть проинициализированна в том месте где она встречается в тексте (объявление переменной),но это случается не всегда, так что если хотите что бы все работало как надо, не забывайте ее явно проинициализировать при объявлении. на скорость не влияет, можете хоть внутри цикла объявлять - проверено.
Код исправил в соответствии с вашим.
При тестировании четыре ордера закрылись в порядке установки на первом тике, пятый - на следующем. Вероятно, здесь что-то ещё не так т.к. тестировал неоднократно.
Код программы и записи из журнала тестера привожу.
С уважением. Shurkin
Все ясно. Замените
на
Имеется следующая ситуация:
Я показал кусок кода, где возникла непонятка. Все переменные объявлены в глобальных. В функции IsObjectFound() я получаю значения первой и второй точки цены обекта, имя, и значение цены объекта на текущем баре. Если объект найден должно быть, что из функции выходит в режиме true, иначе в false .
В старте, я прописал условие, что если объект не найден, то выходим из функции:
В тестере прогоняю, объектов не рисовал, нет ничего - голый график. Тем не менее из функции не выходит, и не принтуется соответственно :
Продолжается дальше выполнение функции старт. Что это за такое?
Глобальные переменные - глобальные поиски. Что можно сказать об алгоритме, не видя модели данных?
Я отследил бы именно данные. А действительно ли, isObj булева, ну и все такое ...
Глобальные переменные - глобальные поиски. Что можно сказать об алгоритме, не видя модели данных?
Я отследил бы именно данные. А действительно ли, isObj булева, ну и все такое ...
isObj это int. Возвращает окно, в котором есть объект, если он есть. Если его нет, то, как я понял, вернётся значение -1. Согласно доке с 0 начинается главное окно и дальше подокна... Пока что это набросок для торгового эксперта, чисто сигнальный. Но выдаёт сообщения когда ему вздумается.