Здравствуйте, Александр. Так вот на этом и затупил. А что присвоить нужно? Вроде бы должна отработать функция Calc_Pos(count_buy, countsell) или не правильно понимаю?
С уважением, Владимир.
1. Вы объявляете и инициализируете две переменные.
uint count_buy=0, count_sell=0;
2. Передаете их значения в функцию.
Calc_Pos(count_buy,count_sell);
Не совсем понятно зачем это делается. Потом выводите значения этих переменных. Но они негде не изменялись, соответственно и принтуются нули. Все работает как написано.
П.С. Пытаясь разгадать ваш план: можно объявить эти две переменные глобальными. Например так:
1. Вы объявляете и инициализируете две переменные.
2. Передаете их значения в функцию.
Не совсем понятно зачем это делается. Потом выводите значения этих переменных. Но они негде не изменялись, соответственно и принтуются нули. Все работает как написано.
П.С. Пытаясь разгадать ваш план: можно объявить эти две переменные глобальными. Например так:
Огромное спасибо, Александр. Ваше исправление заставило работать код. Честно говоря, уже и сам понял, что запутался в трёх соснах. Мне нужно ещё раз изучить передачу аргументов в функцию. Здесь, по всей видимости, у меня полное недопонимание.
Огромное спасибо, Александр. Ваше исправление заставило работать код. Честно говоря, уже и сам понял, что запутался в трёх соснах. Мне нужно ещё раз изучить передачу аргументов в функцию. Здесь, по всей видимости, у меня полное недопонимание.
С уважением, Владимир.
Вывод переменных в глобальную область это не передача аргументов в функцию…
Вывод переменных в глобальную область это не передача аргументов в функцию…
Поставь & перед именами переменных на входе в функцию и все проблемы будут решены.
Привет, Алексей! Так вот в чём проблема!!! Огромное спасибо тебе, дорогой! Всю голову сломал, всё думал, чего-то ещё не хватает! Оказалось, что мозгов не хватает!!! ))
Alexey Viktorov #: Поставь & перед именами переменных на входе в функцию и все проблемы будут решены
Нашёл и посмотрел видео про функции со ссылками. Из данного видео урока понял, что мне нужен не просто урок MQL5 для начинающих, а урок MQL5 для особо одарённых тупизной начинающих. Короче говоря, ничего толком так и не понял. В общем, нужно переварить всю полученную информацию и заново раз так пять, а то и шесть, пересмотреть это видео. Зато будет чем заняться в свободное от работы время! ))
Нашёл и посмотрел видео про функции со ссылками. Из данного видео урока понял, что мне нужен не просто урок MQL5 для начинающих, а урок MQL5 для особо одарённых тупизной начинающих. Короче говоря, ничего толком так и не понял. В общем, нужно переварить всю полученную информацию и заново раз так пять, а то и шесть, пересмотреть это видео. Зато будет чем заняться в свободное от работы время! ))
С уважением, Владимир.
Не тать время, даже если его деть некуда. Одно имя "учителя" говорит за себя, дилетант он и есть дилетант.
В этом видео тебе полезного только 3 минуты. А всё остальное только отвлекает и ты теряешь полезную информацию.
Лучше внимательно почитай документацию, поэкспериментируй с примерами и всё поймёшь.
Не тать время, даже если его деть некуда. Одно имя "учителя" говорит за себя, дилетант он и есть дилетант.
В этом видео тебе полезного только 3 минуты. А всё остальное только отвлекает и ты теряешь полезную информацию.
Лучше внимательно почитай документацию, поэкспериментируй с примерами и всё поймёшь.
Спасибо, Алексей! Думал, что видео урок для меня будет более информативный и полезный, а всё оказалось с точностью до наоборот. Что касаемо Справочника MQL5 раздел Передача параметров, так и его точно так же читал, но получилось, как в той известной поговорке: "Гляжу в книгу, вижу фигу!" Ничего не понял. Короче говоря, конечно же ещё несколько раз перечитаю и поэкспериментирую, выбор-то у меня не особо большой. ))
Посмотрев видео урок и прочитав про передачу аргументов по ссылке в Справочнике MQL5, вроде более-менее стало понятно. Однако, проанализировав представленный в Справочнике код, один фрагмент всё-таки вызвал недоумение, хотя, на мой взгляд, он никак не связан с передачей аргументов по ссылке:
//+------------------------------------------------------------------+//| передача параметров по ссылке |//+------------------------------------------------------------------+double SecondMethod(int &i,int &j)
{
double res;
//---
i*=2;
j/=2;
res=i+j;
//---return(res);
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---.int a=14,b=8;
Print("a и b перед вызовом:",a," ",b);
double d=SecondMethod(a,b);
Print("a и b после вызова:",a," ",b);
}
//+------------------------------------------------------------------+//--- результат выполнения скрипта// a и b перед вызовом: 14 8// a и b после вызова: 28 4
В связи с этим у меня появился вопрос к знатокам программирования на языке MQL5 - за каким лядом в OnStart() функцию SecondMethod(a,b) "запихнули" в переменную d? Это что, обязательное условие для корректной работы скрипта и опять чего-то недопонял?
Есть много массивов со временем, причём время некоторых элементов в этих массивах может совпадать.
Нужно собрать их в один массив без повторения значений времени.
Я сделал это так:
struct str1
{
int time[];// в массиве порядка 10 тыс элементов
};
struct str2
{
str1 arr[];// в массиве порядка 1 тыс элементов
};
str2 m_name[]; // в массиве порядка 100 элементовint ArrFull[]; // массив в который нужно собрать отсортированное время без повторений//+------------------------------------------------------------------+voidOnStart()
{
// считаем что m_name[] ранее уже заполнилиint tempArr[];// объявляю дополнительный массивint size1 = ArraySize(m_name);
for(int i = 0; i < size1; i++)
{
int size2 = ArraySize(m_name[i].arr);
for(int j = 0; j < size2; j++)
{
// копирую в дополнительный массив все массивы времени из структурArrayInsert(tempArr, m_name[i].arr[j].time, ArraySize(tempArr));
}
}
// сортирую дополнительный массивArraySort(tempArr);
int size = ArraySize(tempArr);
ArrayResize(ArrFull, size);
ArrFull[0] = tempArr[0];
int j = 1;
// копирую не повторяющиеся элементы из дополнительного массива в массив с которым в дальнейшем буду работатьfor(int i = 1; i < size; i++)
if(ArrFull[j - 1] != tempArr[i])
{
ArrFull[j] = tempArr[i];
j++;
}
size = ArrayResize(ArrFull, j);
// дальше продолжение. много много букв
}
//+------------------------------------------------------------------+
Но это получился очень медленный код. Нужно быстрее. А как ???
Посмотрев видео урок и прочитав про передачу аргументов по ссылке в Справочнике MQL5, вроде более-менее стало понятно. Однако, проанализировав представленный в Справочнике код, один фрагмент всё-таки вызвал недоумение, хотя, на мой взгляд, он никак не связан с передачей аргументов по ссылке:
В связи с этим у меня появился вопрос к знатокам программирования на языке MQL5 - за каким лядом в OnStart() функцию SecondMethod(a,b) "запихнули" в переменную d? Это что, обязательное условие для корректной работы скрипта и опять чего-то недопонял?
С уважением, Владимир.
Переменной d присваивается результат выполнения функции
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Здравствуйте, Александр. Так вот на этом и затупил. А что присвоить нужно? Вроде бы должна отработать функция Calc_Pos(count_buy, countsell) или не правильно понимаю?
С уважением, Владимир.
1. Вы объявляете и инициализируете две переменные.
2. Передаете их значения в функцию.
Не совсем понятно зачем это делается.
Потом выводите значения этих переменных. Но они негде не изменялись,
соответственно и принтуются нули. Все работает как написано.
П.С. Пытаясь разгадать ваш план: можно объявить эти две переменные глобальными.
Например так:
1. Вы объявляете и инициализируете две переменные.
2. Передаете их значения в функцию.
Не совсем понятно зачем это делается.
Потом выводите значения этих переменных. Но они негде не изменялись,
соответственно и принтуются нули. Все работает как написано.
П.С. Пытаясь разгадать ваш план: можно объявить эти две переменные глобальными.
Например так:
Огромное спасибо, Александр. Ваше исправление заставило работать код. Честно говоря, уже и сам понял, что запутался в трёх соснах. Мне нужно ещё раз изучить передачу аргументов в функцию. Здесь, по всей видимости, у меня полное недопонимание.
С уважением, Владимир.
Огромное спасибо, Александр. Ваше исправление заставило работать код. Честно говоря, уже и сам понял, что запутался в трёх соснах. Мне нужно ещё раз изучить передачу аргументов в функцию. Здесь, по всей видимости, у меня полное недопонимание.
С уважением, Владимир.
Вывод переменных в глобальную область это не передача аргументов в функцию…
Поставь & перед именами переменных на входе в функцию и все проблемы будут решены.
Вывод переменных в глобальную область это не передача аргументов в функцию…
Поставь & перед именами переменных на входе в функцию и все проблемы будут решены.
Привет, Алексей! Так вот в чём проблема!!! Огромное спасибо тебе, дорогой! Всю голову сломал, всё думал, чего-то ещё не хватает! Оказалось, что мозгов не хватает!!! ))
С уважением, Владимир.
Поставь & перед именами переменных на входе в функцию и все проблемы будут решены
Нашёл и посмотрел видео про функции со ссылками. Из данного видео урока понял, что мне нужен не просто урок MQL5 для начинающих, а урок MQL5 для особо одарённых тупизной начинающих. Короче говоря, ничего толком так и не понял. В общем, нужно переварить всю полученную информацию и заново раз так пять, а то и шесть, пересмотреть это видео. Зато будет чем заняться в свободное от работы время! ))
С уважением, Владимир.
Нашёл и посмотрел видео про функции со ссылками. Из данного видео урока понял, что мне нужен не просто урок MQL5 для начинающих, а урок MQL5 для особо одарённых тупизной начинающих. Короче говоря, ничего толком так и не понял. В общем, нужно переварить всю полученную информацию и заново раз так пять, а то и шесть, пересмотреть это видео. Зато будет чем заняться в свободное от работы время! ))
С уважением, Владимир.
Не тать время, даже если его деть некуда. Одно имя "учителя" говорит за себя, дилетант он и есть дилетант.
В этом видео тебе полезного только 3 минуты. А всё остальное только отвлекает и ты теряешь полезную информацию.
Лучше внимательно почитай документацию, поэкспериментируй с примерами и всё поймёшь.
Не тать время, даже если его деть некуда. Одно имя "учителя" говорит за себя, дилетант он и есть дилетант.
В этом видео тебе полезного только 3 минуты. А всё остальное только отвлекает и ты теряешь полезную информацию.
Лучше внимательно почитай документацию, поэкспериментируй с примерами и всё поймёшь.
Спасибо, Алексей! Думал, что видео урок для меня будет более информативный и полезный, а всё оказалось с точностью до наоборот. Что касаемо Справочника MQL5 раздел Передача параметров, так и его точно так же читал, но получилось, как в той известной поговорке: "Гляжу в книгу, вижу фигу!" Ничего не понял. Короче говоря, конечно же ещё несколько раз перечитаю и поэкспериментирую, выбор-то у меня не особо большой. ))
С уважением, Владимир.
Посмотрев видео урок и прочитав про передачу аргументов по ссылке в Справочнике MQL5, вроде более-менее стало понятно. Однако, проанализировав представленный в Справочнике код, один фрагмент всё-таки вызвал недоумение, хотя, на мой взгляд, он никак не связан с передачей аргументов по ссылке:
В связи с этим у меня появился вопрос к знатокам программирования на языке MQL5 - за каким лядом в OnStart() функцию SecondMethod(a,b) "запихнули" в переменную d? Это что, обязательное условие для корректной работы скрипта и опять чего-то недопонял?
С уважением, Владимир.
Подскажите пожалуйста.
Есть много массивов со временем, причём время некоторых элементов в этих массивах может совпадать.
Нужно собрать их в один массив без повторения значений времени.
Я сделал это так:
Но это получился очень медленный код. Нужно быстрее. А как ???
Посмотрев видео урок и прочитав про передачу аргументов по ссылке в Справочнике MQL5, вроде более-менее стало понятно. Однако, проанализировав представленный в Справочнике код, один фрагмент всё-таки вызвал недоумение, хотя, на мой взгляд, он никак не связан с передачей аргументов по ссылке:
В связи с этим у меня появился вопрос к знатокам программирования на языке MQL5 - за каким лядом в OnStart() функцию SecondMethod(a,b) "запихнули" в переменную d? Это что, обязательное условие для корректной работы скрипта и опять чего-то недопонял?
С уважением, Владимир.