да правильно.
однако проще сразу обьявить массив определенной размерности.
однако проще сразу обьявить массив определенной размерности.
double mas[9];
for(int i=8;i>0;i--) mas[i]=mas[i-1];
mas[0]=Bid;
for(int i=8;i>0;i--) mas[i]=mas[i-1];
mas[0]=Bid;
Спасибо, за ответ. Подскажите насколько этот код надежен, не будет ли пропускать тики?
Anna Cvarc:
Спасибо, за ответ. Подскажите насколько этот код надежен, не будет ли пропускать тики?
Если будете запускать из OnTick, тики пропускаться не будут. Если у вас в OnTick еще какой-то код лежит, особенно, если со Sleep(), вызывайте RefreshRates() перед запросом котировок.Спасибо, за ответ. Подскажите насколько этот код надежен, не будет ли пропускать тики?
RefreshRates(); // обновляем данные по Bid
mas[0]=Bid;
Alexey Volchanskiy:
Если будете запускать из OnTick, тики пропускаться не будут. Если у вас в OnTick еще какой-то код лежит, особенно, если со Sleep(), вызывайте RefreshRates() перед запросом котировок.
Если будет что-то непонятно, можете найти меня в скайпе, он есть в профиле. Помочь девушкам в программировании - святое дело ))
OnTick при первом запросе ( исполнении) выполнит всё что у вас в коде и функциях, если будут тики при исполнении он пропустит и только как всё закончено вернется к событию OnTick :)
Если будете запускать из OnTick, тики пропускаться не будут. Если у вас в OnTick еще какой-то код лежит, особенно, если со Sleep(), вызывайте RefreshRates() перед запросом котировок.
RefreshRates(); // обновляем данные по Bid
mas[0]=Bid;
Пишите данные в циклический буфер и не мучайтесь с копированием по массивам
Maxim Kuznetsov:
Пишите данные в циклический буфер и не мучайтесь с копированием по массивам
А как это сделать? Опишите в общих чертах.
Пишите данные в циклический буфер и не мучайтесь с копированием по массивам
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте. Помогите пожалуйста!
Задача: Записать Bid в статический массив, код для mt4.
Алгоритм: По приходу нового бида записать в M[0] -бид, соответственно M[1] - значение бида на прошлом тике.
Вот что у меня получилось. Правильно ли произведена запись в массив?
{
ArrayResize(mas,9,0);//изменяем размер массива(9 элементов)
}
if(ArraySize(mas)==9)//массив не нулевой
{
for(int i=8;i>=0;i--)//циклом пройдемся от максимального до минимального элемента
{
if(i>=1)
{
mas[i]=mas[i-1];//присваиваем i-элементу предыдущее значение
}
if(i==0)//если первый элемент
{
mas[0]=Bid;//присваиваем нулевому элементу bid
}
}
}