Фракталы массивы

 
Друзья помогите написать ! Фракталы up и low заносятся в матрицу и сравниваются, если up_old< up_new && low_old<low_new то buy, для sell наоборот. Еще фильтр по фракталам, если идут 2фрактала up подряд то выбираем больший, аналогично для low, также отсеиваются фракталы с up low одновременно.
 

Всем привет,хочу примерно тоже самое реализовать что и amirs,только меня интересует работа с массивами...

Дано:

стат.массив double array1[3]={1,14,5}

при неком условии мы находим новое значение, к примеру 291

Вопрос:

как все значения сместить влево на 1 т.е. как их переписать что бы получилось array1[3]={14,5,291} и так при каждом новом значении мы перезаписываем весь массив.

ЗЫ или покажите ветку где это обсуждалось.Спасибо!

 
НАрод направте на правильный путь меня...где искать ответ на мой вопрос?! :)
 
DanLett:
НАрод направте на правильный путь меня...где искать ответ на мой вопрос?! :)

Функция ArrayCopy(ar,ar,0,1);

Да в конце концов можно тупо через цикл for сместить все элементы.

 

Integer
:

Функция ArrayCopy(ar,ar,0,1);

не подходит, надо создавать еще 1 массив (т.е. в общем 2 массива) на до что бы всегда 1 был...

через for можно краткий пример...?! Спасибо

 
DanLett:

Integer
:

Функция ArrayCopy(ar,ar,0,1);

не подходит, надо создавать еще 1 массив (т.е. в общем 2 массива) на до что бы всегда 1 был...

через for можно краткий пример...?! Спасибо

А что же вам мешает копировать один массив сам в себя?
 

Можно так

for(int cnt=2;cnt>0;cnt--)
         {
         ar[cnt]=ar[cnt-1];
         }
      ar[0]=  new; 
 

при аррейкопи выдает a1=5.110135783716587e-210 a2=-9.255965341222513e+061 a3=10.0

   double ar[3];

   if(Bid<Low[0]) //это условие для проверки
     {
      ArrayCopy(ar,ar,0,1,2); //копируем 2 элемента в массиве
      ar[2]=5.0;              //3й присваеваем некое значение
     }
   else
     {
      ArrayCopy(ar,ar,0,1,2); //тут тоже самое
      ar[2]=10.0;
     }

и вообще не смещает значения...поправте пожалуйсто меня

ЗЫ при компиляции первые две переменные 0(ноль) а последняя = либо 5 либо 10 ну по условию...а дальше начинается

"бред - a1=5.110135783716587e-210 a2=-9.255965341222513e+061 a3=10.0" откуда беруться 5.110135783716587e-210 и 9.255965341222513e+061 ?!

 
подскажите что я делаю не правильно, зарание спасибо
 
DanLett:
подскажите что я делаю не правильно, зарание спасибо

Очень похоже на ошибку, разбираемся.
 
mql5:

Очень похоже на ошибку, разбираемся.
при копировании массива в самого себя со сдвигом, направление копирования должно быть зависимо от направления сдвига.
Причина обращения: