Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 135
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени суток, если не сложно, подскажите новичку:
1) Как объявить массив размером равным значению некой переменной? (если i=7 объявляем массив double Muss[7] и так далее );
2) Почему массив в пользовательской функции считается объявленным и адекватно используется если условие всегда ложь?
while (false){
Alert("aaaaaaaaa" );
static double Buf_max [9000000];
static double Buf_min [9000000];}
3) Есть ли разница в пользовательской функции и в целом между просто массивом и static массивом?
Доброго времени суток, если не сложно, подскажите новичку:
1) Как объявить массив размером равным значению некой переменной? (если i=7 объявляем массив double Muss[7] и так далее );
...
1) ArrayResize()
такая фигня:
если вызвать MarketInfo(Symbol(),MODE_TRADEALLOWED), то возвращает - 1=торговля разрешена.
а если навести на символ в обзоре рынка, то выскакивает подсказка с надписью - Trade: Close.
в чём тут фокус?
торговать действительно не даёт, но почему MODE_TRADEALLOWED возвращает неверное значение?
Сколько раз вы запускали индикатор? Похоже что несколько раз (в ваших результатах заметна цикличность).
Добавьте еще один принт в deinit с каким-нибудь "разделителем", задайте условие на вход или переделайте в скрипт чтобы запускался не более одного раза, тогда будет понятнее.
Отличная идея))
Я сделал проще, вот так:
Начало в журнале такое:
Вообще даже циклы не перебираются. Порядка нет. Вывод вообще не последовательный.
Отличная идея))
Я сделал проще, вот так:
Начало в журнале такое:
Вообще даже циклы не перебираются. Порядка нет. Вывод вообще не последовательный.
Что-то вы все усложнили, на этапе проверки все можно сделать в 1-2 строчки, в зависимости от варианта. Можно вообще в ините все выполнить. Порядок вывода не оговаривался.
Что-то вы все усложнили, на этапе проверки все можно сделать в 1-2 строчки, в зависимости от варианта. Можно вообще в ините все выполнить. Порядок вывода не оговаривался.
Вы имеет ввиду ввести флаг, чтоб циклы выполнились один раз и всё? У меня не прекращается выполнение.. Вот в таком варианте:
Хотя по сути, код должен отработать как в ИНИТЕ, один раз и всё. Потом сразу буловская переменная Status_run примет значение false и больше условие if не выполнится.. Но у меня не кончается в журнале вывод почему-то.
Вы имеет ввиду ввести флаг, чтоб циклы выполнились один раз и всё? У меня не прекращается выполнение.. Вот в таком варианте:
Хотя по сути, код должен отработать как в ИНИТЕ, один раз и всё. Потом сразу буловская переменная Status_run примет значение false и больше условие if не выполнится.. Но у меня не кончается в журнале вывод почему-то.
Вы утверждали что циклы выдавали неправильные результаты и я вам предложил вариант проверки. Если работает как вам надо то дальше уже поступайте в соответствии с вашим алгоритмом, а если нет то вносите изменения на этапе проверки.
PS "Status_run" обязан быть создан до старт()-а, это глобальная переменная.
Гуру, подскажите. Ставлю переменную bool Flag=true; в start,
Открываю сделку
if (условие)
{
Opn_S = true;
Flag=false;
}
Возникает вопрос по флагу, если при открытии флаг возвращает false и в условии открытия есть этот флаг. Сколько хранится истина или фальш, переданная флагом, обнуляется ли она на следующий день?
Гуру, подскажите. Ставлю переменную bool=true; в start,
Открываю сделку
if (условие)
{
Opn_S = true;
Flag=false;
}
Возникает вопрос по флагу, если при открытии флаг возвращает false и в условии открытия есть этот флаг. Сколько хранится истина или фальш, переданная флагом, обнуляется ли она на следующий день?
Нет не будет, при каждом новом тике значение Flag будет равно true. https://book.mql4.com/ru/variables/types
Нужно или объявить переменную на глобальном уровне - например в начале программы, вне всех функций.
Или сделать переменную статической - static bool flag=true; .
Нет не будет, при каждом новом тике значение Flag будет равно true. https://book.mql4.com/ru/variables/types
Нужно или объявить переменную на глобальном уровне - в начале программы, вне всех функций.
Или сделать переменную статической - static bool flag=true; .