[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 399

 

Как можно найти максимум хвостов buy-свечей?

т.е. строиться текущая всеча, предыдущая бай,определили хвост бай свечи,потом дальше строиться график, появилас опять бай свеча и опять вычислили хвост,

а теперь как найти из этих хвостов максимум и записать в переменную???? вот код то что есть

int Sum_xb;
int Sum_xs;
datetime last_time;   // глобальная переменная
int Kol_vo_b;
int Kol_vo_s;
int Sr_zn_b;
int Sr_zn_s;
extern int Num_kolvo_b=10;
extern int Num_kolvo_s=10;
int Zn_b;
int Max_b;

int start()
  {
   
  int xBost_b;
  int xBost_s;
double hi=High[1];
double op=Open[1];
double cl=Close[1];
double lo=Low[1];


   if (last_time != Time[0])
   {
      // Ура, новый бар!
      last_time = Time[0];      // запоминаем новый бар
      if(Close[1]>Open[1])
      { 
xBost_b=(hi-cl)*10000;
Kol_vo_b++;
}
      if(Close[1]<Open[1])
      {
 xBost_s=(cl-lo)*10000; 
 Kol_vo_s++;
 
   }
   
if (Kol_vo_b==Num_kolvo_b)
{
Kol_vo_b=0;
Sum_xb=0;
}
if (Kol_vo_s==Num_kolvo_s)
{
Kol_vo_s=0;
Sum_xs=0;
}  
 
Sum_xb=Sum_xb+xBost_b;
Sr_zn_b=Sum_xb/Kol_vo_b;

Sum_xs=Sum_xs+xBost_s;
Sr_zn_s=Sum_xs/Kol_vo_s;

Zn_b=xBost_b;
if(xBost_b>Zn_b)
Max_b=xBost_b;
}




Comment("\n xBost_b=",xBost_b,"\n Sum_xb=",Sum_xb,"\n Kol_vo_b=",Kol_vo_b,"\n Sr_zn_b=",Sr_zn_b,
"\n\n\n\n kolvo_s=",xBost_s,"\n Sum_xs=",Sum_xs,"\n Kol_vo_s=",Kol_vo_s,"\n Sr_zn_s=",Sr_zn_s,"\n\n\n\n Max_b=",Max_b);

return(0);
  }

вот как правильно написать эту часть кода что бы найти максимум?!

Zn_b=xBost_b;
if(xBost_b>Zn_b)
Max_b=xBost_b;

 
народ,подскажите плиз как максимум найти?!
 
//Функция поиска максимума/минимума за заданное количество баров
// type-максимум или минимум, barsearch -количество баров

double yMaxDayPrice(int type,int barsearch)
{
    int    timeframe=1440;
    double minmax;

    if(type==2)
       {
           minmax=Low[iLowest(timeframe,0,MODE_LOW,barsearch,0)];
       }
    if(type==1)
       {
           minmax=High[iHighest(timeframe,0,MODE_HIGH,barsearch,0)];
       }
return(minmax);          
}
 
BeerGod:

а timeframe можно заменить к примеру на null (текущий)?!
 

https://docs.mql4.com/ru/series/ilowest можно, чтобы всё было точно на время отладки выведите в коммент значения хай и лоу.

https://docs.mql4.com/ru/constants/timeframes

 

но тут чуть не тот вариант какой хотелось бы видеть...

у бай баров определяем хвост в пунктах xBost_b=(hi-cl)*10000;

у сел баров ... xBost_s=(cl-lo)*10000;

B-Buy, S-Sell, ()-текущий бар

к примеру ряд баров:

1) B(S) -определяем хвост у B

2) BS(B) -теперь определяем хвост у S

3) BSB(S) -теперь еще раз определяем хвост у бара B и вот надо определить какой хвост больше этот или этот,так же у sell баров

но после пересчета (к примеру) 10 баров максимум обнуляется и все по новой

кпримеру:

int Sum_xb;
int Sum_xs;
datetime last_time;   // глобальная переменная
int Kol_vo_b;
int Kol_vo_s;
int Sr_zn_b;
int Sr_zn_s;
extern int Num_kolvo_b=10;
extern int Num_kolvo_s=10;
int Zn_b;
int Max_b;

int start()
  {
   
  int xBost_b;
  int xBost_s;
double hi=High[1];
double op=Open[1];
double cl=Close[1];
double lo=Low[1];


   if (last_time != Time[0])
   {
      // Ура, новый бар!
      last_time = Time[0];      // запоминаем новый бар
      if(Close[1]>Open[1])
      { 
xBost_b=(hi-cl)*10000;
Kol_vo_b++;
}
      if(Close[1]<Open[1])
      {
 xBost_s=(cl-lo)*10000; 
 Kol_vo_s++;
 
   }
   
if (Kol_vo_b==Num_kolvo_b)
{
Kol_vo_b=0;
Sum_xb=0;
}
if (Kol_vo_s==Num_kolvo_s)
{
Kol_vo_s=0;
Sum_xs=0;
}
 
в голове то знаю как максимум извлеч, а вот в код воплотить не получаеться) надеюсь на вашу помощь!
 
DanLett:
в голове то знаю как максимум извлеч, а вот в код воплотить не получаеться) надеюсь на вашу помощь!


Я не претендую на истину т.к. дилетант, но в одном своём советнике находил максимумы и минимумы также, как вам уже подсказали:

extern int count = 10;

..............................

highprice = High[iHighest(NULL,0,MODE_HIGH,count,0)];

..............................

lowprice = Low[iLowest(NULL,0,MODE_LOW,count,0)];

 
BeerGod:


С ошибками не стоит код выкладывать
 

УВАЖАЕМЫЕ ПРОГРАММИСТЫ!!!!

Пожалуйста подскажите где можно найти список всех ошибок типа '(' - semicolon expected или '{' - expression on global scope not allowed и так далее. А то каждый раз приходится в интернете по форумам лазить и искать перевод этих ошибок.

СПАСИБО!!!!

Причина обращения: