Вот именно эту процедуру сравнения подкиньте плиз, с тикетом позиции, временем открытия и временем сервера я вроде разобрался, сравнить не могу. Через комент посмотрел, получаю просто даты.
Так даты и сравнивайте. Но надо учитывать расхождение. Лучше сравнить разницу времени открытия и эталонного времени с допустимым отклонением.
fabs(время_позиции - эталонное_время) < допустимого_отклонения // например 600 секунд
Хочу отсортировать вертикальные линии по времени на графике. Написал маленький скриптик. Но результат получился вообще не тот, что надо.
Подскажите, где я не прав.
voidOnStart()
{
int vlines = 0;
string vlines_name[];
string vlines_name_sort[];
datetime tm[];
vlines = ObjectsTotal(ChartID(),0,OBJ_VLINE);
if(vlines < 20 * 2)
{
Print("вертикальных линий меньше необходимиого. (",vlines," < ",20 * 2,")");
return;
}
ArrayResize(vlines_name,vlines);
ArrayResize(vlines_name_sort,vlines);
for(int i = 0; i < vlines; i++)
{
vlines_name[i] = ObjectName(ChartID(),i,0,OBJ_VLINE);
}
ArrayPrint(vlines_name);
for(int i = 0, n = 0; i < 9000; i++)
{
ArrayFree(tm);
CopyTime(Symbol(),Period(),i,1,tm);
for(int a = 0; a < vlines - 1; a++)
{
datetime tml = (datetime)ObjectGetInteger(ChartID(),vlines_name[a],OBJPROP_TIME);
if(tml == tm[0])
{
vlines_name_sort[n++] = vlines_name[a];
break;
}
}
}
ArrayPrint(vlines_name_sort);
}
Результат:
(GBPUSD,H6) [ 0] "H6 Vertical Line 10771""H6 Vertical Line 10884""H6 Vertical Line 12743""H6 Vertical Line 1371""H6 Vertical Line 14306"
(GBPUSD,H6) [ 5] "H6 Vertical Line 16501""H6 Vertical Line 17907""H6 Vertical Line 20277""H6 Vertical Line 23365""H6 Vertical Line 28358"
(GBPUSD,H6) [10] "H6 Vertical Line 28756""H6 Vertical Line 29445""H6 Vertical Line 30340""H6 Vertical Line 31840""H6 Vertical Line 32885"
(GBPUSD,H6) [15] "H6 Vertical Line 33779""H6 Vertical Line 34048""H6 Vertical Line 38532""H6 Vertical Line 38756""H6 Vertical Line 39075"
(GBPUSD,H6) [20] "H6 Vertical Line 39458""H6 Vertical Line 39649""H6 Vertical Line 40385""H6 Vertical Line 41116""H6 Vertical Line 4150"
(GBPUSD,H6) [25] "H6 Vertical Line 41900""H6 Vertical Line 42820""H6 Vertical Line 43071""H6 Vertical Line 46245""H6 Vertical Line 48196"
(GBPUSD,H6) [30] "H6 Vertical Line 50258""H6 Vertical Line 50374""H6 Vertical Line 55171""H6 Vertical Line 56003""H6 Vertical Line 56400"
(GBPUSD,H6) [35] "H6 Vertical Line 57565""H6 Vertical Line 59075""H6 Vertical Line 59881""H6 Vertical Line 59969""H6 Vertical Line 63122"
(GBPUSD,H6) [40] "H6 Vertical Line 63540""H6 Vertical Line 63904""H6 Vertical Line 64359""H6 Vertical Line 64420""H6 Vertical Line 65200"
(GBPUSD,H6) [45] "H6 Vertical Line 6695""H6 Vertical Line 7743""H6 Vertical Line 8707""H6 Vertical Line 9491""H6 Vertical Line 9662"
(GBPUSD,H6) [ 0] "H6 Vertical Line 46245""H6 Vertical Line 39075""H6 Vertical Line 40385""H6 Vertical Line 55171""H6 Vertical Line 31840"
(GBPUSD,H6) [ 5] "H6 Vertical Line 63904""H6 Vertical Line 6695""H6 Vertical Line 59075""H6 Vertical Line 28358""H6 Vertical Line 10884"
(GBPUSD,H6) [10] "H6 Vertical Line 38532""H6 Vertical Line 29445""H6 Vertical Line 23365""H6 Vertical Line 64420""H6 Vertical Line 7743"
(GBPUSD,H6) [15] "H6 Vertical Line 30340""H6 Vertical Line 39649""H6 Vertical Line 38756""H6 Vertical Line 34048""H6 Vertical Line 42820"
(GBPUSD,H6) [20] "H6 Vertical Line 64359""H6 Vertical Line 50374""H6 Vertical Line 14306""H6 Vertical Line 48196""H6 Vertical Line 57565"
(GBPUSD,H6) [25] "H6 Vertical Line 20277""H6 Vertical Line 41116""H6 Vertical Line 12743""H6 Vertical Line 50258""H6 Vertical Line 41900"
(GBPUSD,H6) [30] "H6 Vertical Line 17907""H6 Vertical Line 4150""H6 Vertical Line 59881""H6 Vertical Line 56400""H6 Vertical Line 10771"
(GBPUSD,H6) [35] "H6 Vertical Line 63540""H6 Vertical Line 65200""H6 Vertical Line 9491""H6 Vertical Line 16501""H6 Vertical Line 63122"
(GBPUSD,H6) [40] "H6 Vertical Line 32885""H6 Vertical Line 1371""H6 Vertical Line 33779"nullnull
(GBPUSD,H6) [45] nullnullnullnullnull
Хочу отсортировать вертикальные линии по времени на графике. Написал маленький скриптик. Но результат получился вообще не тот, что надо.
Подскажите, где я не прав.
Результат:
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
Во втором цикле выводим результат.
По итогу имеем 2 цикла и между ними сортировку.
Всё, если Я правильно понял задачу :)
Так массив точно не прокатит. Массив струкутур, кажется тоже не сортируется, не пробовал за ненадобностью.
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
Во втором цикле выводим результат.
По итогу имеем 2 цикла и между ними сортировку.
Всё, если Я правильно понял задачу :)
Вопрос - а какой тип этого двумерного массива должен быть? )))
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Вот именно эту процедуру сравнения подкиньте плиз, с тикетом позиции, временем открытия и временем сервера я вроде разобрался, сравнить не могу. Через комент посмотрел, получаю просто даты.
Так даты и сравнивайте. Но надо учитывать расхождение. Лучше сравнить разницу времени открытия и эталонного времени с допустимым отклонением.
Так даты и сравнивайте. Но надо учитывать расхождение. Лучше сравнить разницу времени открытия и эталонного времени с допустимым отклонением.
Так даты и сравнивайте. Но надо учитывать расхождение. Лучше сравнить разницу времени открытия и эталонного времени с допустимым отклонением.
Принял, спасибо, буду пробовать, как только буду у компа (сейчас с мобилы).
Доброго дня.
Хочу отсортировать вертикальные линии по времени на графике. Написал маленький скриптик. Но результат получился вообще не тот, что надо.
Подскажите, где я не прав.
Результат:
Доброго дня.
Хочу отсортировать вертикальные линии по времени на графике. Написал маленький скриптик. Но результат получился вообще не тот, что надо.
Подскажите, где я не прав.
Результат:
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
Во втором цикле выводим результат.
По итогу имеем 2 цикла и между ними сортировку.
Всё, если Я правильно понял задачу :)
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
Во втором цикле выводим результат.
По итогу имеем 2 цикла и между ними сортировку.
Всё, если Я правильно понял задачу :)
Так массив точно не прокатит. Массив струкутур, кажется тоже не сортируется, не пробовал за ненадобностью.
По логике, нужно сначала собрать все линии в массив, Я бы делал сразу двухмерный, ну или массив структуры, в первое измерение добавляем время создания, во второе - имя линии.
В цикле за один пробег заполняем массив, за пределами цикла после заполнения массив сортируем по первому измерению, то есть по времени.
Во втором цикле выводим результат.
По итогу имеем 2 цикла и между ними сортировку.
Всё, если Я правильно понял задачу :)
Вопрос - а какой тип этого двумерного массива должен быть? )))
Так массив точно не прокатит. Массив струкутур, кажется тоже не сортируется, не пробовал за ненадобностью.
Почему? Вот
Почему? Вот
Но там нигде не упоминается массив структур. Для уверенности надо будет проверить. Но не сейчас.
Но там нигде не упоминается массив структур. Для уверенности надо будет проверить. Но не сейчас.
Я ответил касательно массива, для структуры другая сортировка есть, но это не столь важно для поставленной задачи.
Я ответил касательно массива, для структуры другая сортировка есть, но это не столь важно для поставленной задачи.
Что-то я торможу....
Так не компилится...