Скачать MetaTrader 5

Пожалуйста рассудите. - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Valerii Shevchenko
252
Valerii Shevchenko  

Вот это чувствуется рука мастера :)

Что изменили, если не секрет? И Ваш приговор по ситуации? Куда ставить запятую? Казнить нельзя помиловать. :)

Dmitry Fedoseev
45310
Dmitry Fedoseev  
Предпочту воздержаться от мнения по этому вопросу. Только то, что сделать лучше - можно. А то, сегодня он, завтра я, и т.д., а случаи бывают всякие...
Valerii Shevchenko
252
Valerii Shevchenko  

Понимаю. Корпоративная этика...

Но на личности я ведь не переходил, и имя "хероя" не озвучивал, так что можно было бы и озвучить сугубо личное мнение. Ну да ладно, и так всё ясно.

Вы бы хоть намекнули, ткнули носом так сказать, какое место в коде оказалось слабым звеном? :)

Dmitry Fedoseev
45310
Dmitry Fedoseev  

Долго объяснять.

double   TickPrice[];                        // Массив для цен
datetime TickTime[];                         // Массив для времени
int      TickSize          =  0;             // Размер каждого из массивов
int      TickEndPointer    =  -1;            // Указатель на положение в масиве последнего тика
int      TickStartPointer  =  0;             // Указатель на положение в массиве начала временного участка
int      TickChankSize     =  1024;          // Размер блока массива
bool     TickEnough        =  false;         // Показатель достаточного количества тиков для анализа

void TickReset(){
   TickEndPointer=-1;
   TickStartPointer=0;
   TickEnough=false;
   Print("Сброс");
}

bool TicksMain(double & aMaxValue, datetime & aMaxTime,double & aMinValue, datetime & aMinTime,datetime & aLastTime){
   TickEndPointer++; // Будем добавлять новые значения в следующие элементы массива
      if(TickEndPointer==TickSize){ // Массив заполнен до конца
         // Увеличиваем размеры массивов
         TickSize+=TickChankSize; 
         ArrayResize(TickPrice,TickSize);
         ArrayResize(TickTime,TickSize);
         //Print("Увеличение массивов");
      }
   TickPrice[TickEndPointer]=NormalizeDouble(Bid,Digits);
   TickTime[TickEndPointer]=TimeCurrent();
   aLastTime=TickTime[TickEndPointer];
   // Ищем начало анализируемого участка данных
      while(TickTime[TickEndPointer]-TickTime[TickStartPointer]>DeltaTime){
         //Print("Перемещение указателя на начало анализируемых данных");
         TickStartPointer++;
         TickEnough=true;
      }
      if(TickStartPointer>=TickChankSize){ // Можно затереть старый блок данных
         ArrayCopy(TickPrice,TickPrice,0,TickChankSize,WHOLE_ARRAY);
         ArrayCopy(TickTime,TickTime,0,TickChankSize,WHOLE_ARRAY);
         TickStartPointer-=TickChankSize;
         TickEndPointer-=TickChankSize;
         //Print("Смещение данных в массивах");
      }
      
      if(TickEnough){ // Имеем достаточное количество тиков, анализируем
         int SearchCount=TickEndPointer-TickStartPointer+1;
         int MaxIndex=ArrayMaximum(TickPrice,SearchCount,TickStartPointer);
         int MinIndex=ArrayMinimum(TickPrice,SearchCount,TickStartPointer);      
         aMaxValue=TickPrice[MaxIndex];
         aMaxTime=TickTime[MaxIndex];
         aMinValue=TickPrice[MinIndex];
         aMinTime=TickTime[MinIndex];
      }
      else{
         aMaxValue=0;
         aMaxTime=0;
         aMinValue=0;
         aMinTime=0;
      }
   return(TickEnough);      
}
Valerii Shevchenko
252
Valerii Shevchenko  

Вобщем большое спасибо всем откликнувшимся.

Господин Integer проявил инициативу, и подлечил кривой код, в итоге теперь сова оптимизируется при тех же настройках за 47 часов. Дай Бог ему здоровья и клиентов пожирнее :)

Торжественно обещаю следующий свой проект заказывать у него!

ну а безответственному товарищу кодеру - ссылку на пост, пусть краснеет за свою халтуру.

Всем удачи.

Mathemat-ту отдельный "привет"

Виктор
Модератор
6559
Виктор  
qwert3qwert:

Вобщем большое спасибо всем откликнувшимся.

Господин Integer проявил инициативу, и подлечил кривой код, в итоге теперь сова оптимизируется при тех же настройках за 47 часов. Дай Бог ему здоровья и клиентов пожирнее :)

Торжественно обещаю следующий свой проект заказывать у него!

ну а безответственному товарищу кодеру - ссылку на пост, пусть краснеет за свою халтуру.

Всем удачи.

Mathemat-ту отдельный "привет"

Прежде чем заказывать серьезную и дорогую вещь, стоит приглядеться к выложенным работам известных программистов, работающих на заказ.
У всех из первой десятки качество достаточно высокое, выбирать лучше именно по тому параметру, который важен для заказчика.
В частности я как программист "нулевого уровня" использую для создания тестовых советников общедоступные коды признанных специалистов. У всех свои достоинства. Но советники Integer'а почему-то оптимизируются быстрее.
В чем дело, не знаю. Вроде бы такие же в них буковки и циферки.. :))
PapaYozh
3768
PapaYozh  
granit77:
В чем дело, не знаю. Вроде бы такие же в них буковки и циферки.. :))
Вероятно, замешаны иначе.
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий