Добрый день! Подскажите пожалуйста где может быть ошибка в этом фрагменте кода?
if (TotalMax_1<1)Step_1max=TotalMax_0; // Если расчетов еще небыло Step_1max=TotalMax_0else Step_1max=TotalMax_0-TotalMax_1; // Если расчеты уже были Step_1max=TotalMax_0-TotalMax_1for (i_1max=Step_1max;TotalMax_0>TotalMax_1;i_1max--) // Главный цикл для заполнения массива Max_1
{
if (Max_0[i_1max]>Min_0[i_1max] && Stop_1max==0) // Если максимум больше минимума и Stop_1max равен 0 нужно произвести расчет Максимального Индекса
{
Mmax_1=Max_0[i_1max]; // Задается значение параметру Mmax_1
MIndex_1max=i_1max; // Задается значение параметру MIndex_1maxfor (i_1maxH=i_1max;Max_0[i_1maxH]>=Min_0[i_1maxH];i_1maxH--) // Цикл для расчета Максимального Индекса
{
if (Max_0[i_1maxH]>Mmax_1) // Если встречается максимум и он выше предыдущего
{
Mmax_1=Max_0[i_1maxH]; // ... то меняется значение параметра Mmax_1
MIndex_1max=i_1maxH; // ... и параметра MIndex_1max
}
}
Stop_1max=1; // Задается значение пераметру Stop_1max
}
if (i_1max==MIndex_1max) // Условие для вычисления максимума
{
Max_1[i_1max]=Mmax_1; // Присвоение значения массиву Max_1
TotalMax_1=ArraySize(Max_1); // Всего баров в массиве Max_1
}
else// Если нет
{
Max_1[i_1max]=0; // Присвоение 0 значения массиву Max_1
TotalMax_1=ArraySize(Max_1); // Всего баров в массиве Max_1
}
if (Min_0[i_1max]>Max_0[i_1max]) Stop_1max=0; // Если минимум больше максимума задается значение пераметру Stop_1max
}
Если во включаемом файле есть функция f(), то включив её дважды в ваш код, вы получите ошибку компиляции об уже объявленной функции f()
Если я включаемый файл использую не как пользовательскую функцию, а как "подстановку"/вставку простого фрагмента кода, к примеру поиск последнего ордера по своему инструменту (или вообще наличие ордера). И такой поиск может в программе использоваться несколько раз. И таких "классических операций" может быть много.
Roni Iron: Если я включаемый файл использую не как пользовательскую функцию, а как "подстановку"/вставку простого фрагмента кода, к примеру поиск последнего ордера по своему инструменту (или вообще наличие ордера). И такой поиск может в программе использоваться несколько раз. И таких "классических операций" может быть много.
Тут вы путаете. Во включаемом файле может быть много таких полезных функций. Подключили файл один раз - и пользуйтесь ставшими доступными функциями из файла.
Здравствуйте!Подскажите пожалуйста,как программно показать/убрать определённый символ в окне "обзор рынка".Спасибо!
Смотрите функцию SymbolSelect.
Добрый день! Подскажите пожалуйста где может быть ошибка в этом фрагменте кода?
Всем привет! Столкнулся с такой проблемой:
Открываю сделку без стоплосса и тэйкпрофита:
Хочу закрыть этот ордер
Вылезает ошибка: OrderClose error 131
Если вместо OrderOpenPrice() укажу 0.1 или OrderLots(), то ошибка: OrderClose error 138
В чем проблема?
Всем привет! Столкнулся с такой проблемой:
Открываю сделку без стоплосса и тэйкпрофита:
Хочу закрыть этот ордер
Вылезает ошибка: OrderClose error 131
Если вместо OrderOpenPrice() укажу 0.1 или OrderLots(), то ошибка: OrderClose error 138
В чем проблема?
Не по той цене закрываете
А можете уточнить как правильно должно быть? Спасибо
А можете уточнить как правильно должно быть? Спасибо
Доброго времени суток!
Прочитал внимательно в учебнике про включаемые файлы, нигде нет информации о том, что включаемый файл нельзя "включать" в Советнике дважды.
У меня первый "срабатывает", второй (с таким же именем) пропускается/игнорируется.
Что Я делаю - делаю копию включаемого файла, добавляю букву/цифру к наименованию файла и в строке Советника, и все работает.
Вопрос: дело в языке mql4 или во мне?
Заранее Спасибо!!!
Доброго времени суток!
Прочитал внимательно в учебнике про включаемые файлы, нигде нет информации о том, что включаемый файл нельзя "включать" в Советнике дважды.
У меня первый "срабатывает", второй (с таким же именем) пропускается/игнорируется.
Что Я делаю - делаю копию включаемого файла, добавляю букву/цифру к наименованию файла и в строке Советника, и все работает.
Вопрос: дело в языке mql4 или во мне?
Заранее Спасибо!!!
Зачем вам дважды включать одно и то же в листинг?
Если во включаемом файле есть функция f(), то включив её дважды в ваш код, вы получите ошибку компиляции об уже объявленной функции f()
Зачем вам дважды включать одно и то же в листинг?
Если во включаемом файле есть функция f(), то включив её дважды в ваш код, вы получите ошибку компиляции об уже объявленной функции f()
Если я включаемый файл использую не как пользовательскую функцию, а как "подстановку"/вставку простого фрагмента кода, к примеру поиск последнего ордера по своему инструменту (или вообще наличие ордера). И такой поиск может в программе использоваться несколько раз. И таких "классических операций" может быть много.
Тут вы путаете. Во включаемом файле может быть много таких полезных функций. Подключили файл один раз - и пользуйтесь ставшими доступными функциями из файла.