Добрый день, сейчас изучаю учебник по MQL4 Сергея Ковалева и пока не нашел как обращаться к массивам-таймсериям других валютных пар. Т.е. необходимо, чтобы в один советник подгружались массивы-таймсерии нескольких валютных пар. Знаю, что к некоторым данным можно обращаться с помощью функции MarketInfo(), только проблема в том, что в идентификаторах запроса нет ни close, ни других параметров ценовых рядов. Подскажите где можно почитать способы организации работы (если есть) с массивами-таймсерияи нескольких инструментов или, может как возможно обойти это ограничение.
Я собственно ещё не компилировал и ничего не пробовал, только смотрю. ТАкм все же дело в том, что при выходе из циклов, значения BUY_Profit и прю переменных не сохраняются? Так ведь программа выполняется последовательно, или всё же не сохраняются?
Dimka-novitsek: Я собственно ещё не компилировал и ничего не пробовал, только смотрю. ТАкм все же дело в том, что при выходе из циклов, значения BUY_Profit и прю переменных не сохраняются? Так ведь программа выполняется последовательно, или всё же не сохраняются?
Dimka-novitsek: А, вижу что как вы присваиваете элементам массива. Ага, спасибо!!!!!!!!
Тип любой можно. Просто не заметил, что одна из переменных double. Нужен double - ставь double.
Я только смотрю. И... ООООООО!!!!!! Я у себя делал так , обьявлял такint Orderasthitaem[6][2]; в элементе два маассива, то есть вы поняли, а обращался уже к третьему Orderasthitaem[0,2] !!!!!!!
Dimka-novitsek: Я собственно ещё не компилировал и ничего не пробовал, только смотрю. ТАкм все же дело в том, что при выходе из циклов, значения BUY_Profit и прю переменных не сохраняются? Так ведь программа выполняется последовательно, или всё же не сохраняются?
...можно ещё так:
double Orderasthitaem[6][2];
void Orderasthitaem()
{
double ld_Profit = 0.;
int li_Total = OrdersTotal();
ArrayInitialize (Orderasthitaem, 0.);
if (li_Total == 0) return;
for (int i = 0; i < OrdersTotal(); i++)
{
OrderSelect (i, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magicnumber)
{
int type = OrderType();
ld_Profit = OrderProfit();
Orderasthitaem[type][0]++;
if (type > 1) continue;
Orderasthitaem[type][1] += ld_Profit;
}
}
}
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Доброгодня!!! Я видиму что-то не понял с массивами, что ли. Функция не вносит в массив профит!! Он пре любых обстоятельствахноль. Ноль и все!
Функция.Обиявление вне всех функций
А почему массив типа инт? А вдруг профит будет дробный, а хотя вряд л это существенно... Да, видимо доубле не нужен!
Я щас себе его переобьявлю, попробую. Но неужели что-тоизменится? Почему же не рботало? Щас попробую..
Если тикет ордера хранится на сервере брокера, то где хранится маджик и коммент ордеров?
на сервере брокера.
Я собственно ещё не компилировал и ничего не пробовал, только смотрю. ТАкм все же дело в том, что при выходе из циклов, значения BUY_Profit и прю переменных не сохраняются? Так ведь программа выполняется последовательно, или всё же не сохраняются?
А, вижу что как вы присваиваете элементам массива. Ага, спасибо!!!!!!!!
Тип любой можно. Просто не заметил, что одна из переменных double. Нужен double - ставь double.
Работает?
Я только смотрю. И... ООООООО!!!!!! Я у себя делал так , обьявлял такint Orderasthitaem[6][2]; в элементе два маассива, то есть вы поняли, а обращался уже к третьему Orderasthitaem[0,2] !!!!!!!
Уверен, вот собака порылась!!!!!!!!!!! ОООО!!!
Я собственно ещё не компилировал и ничего не пробовал, только смотрю. ТАкм все же дело в том, что при выходе из циклов, значения BUY_Profit и прю переменных не сохраняются? Так ведь программа выполняется последовательно, или всё же не сохраняются?
...можно ещё так:
- это как кому нравится.