[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 397

 
Pessoal, vocês podem me dizer como encontrar o máximo?!
 
//Функция поиска максимума/минимума за заданное количество баров
// 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:

o cronograma pode ser substituído por nulo (atual), por exemplo?
 

https://docs.mql4.com/ru/series/ilowest você pode, para que tudo esteja correto no momento da depuração, colocar os valores altos e baixos no comentário.

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

 

Mas isto é um pouco diferente do que eu gostaria de ver...

Para as barras de compra determinamos a cauda em pontos xBost_b=(hi-cl)*10000;

para os bares de venda... xBost_s=(cl-lo)*10000;

B-Buy, S-Sell, ()-barra atual

por exemplo, uma série de barras:

1) B(S)-determinar a cauda de B

2)BS(B) - agora define a cauda de S

3) BSB(S) - agora definimos novamente a cauda da barra B e então precisamos determinar qual cauda é maior esta ou aquela, amesma para vender barras

mas após um novo cálculo (por exemplo) 10 barras no máximo serão zeradas e tudo voltará a zero

por exemplo:

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;
}
 
Sei como tirar o máximo proveito disso em minha cabeça, mas não posso convertê-lo em código) Espero sua ajuda!
 
DanLett:
Sei como tirar o máximo proveito disso em minha cabeça, mas não posso convertê-lo em código) Espero sua ajuda!


Eu não finjo estar certo, como sou um amador, mas em um dos meus EAs encontrei máximos e mínimos da mesma forma, como já lhe foi dito:

contagem de int externos = 10;

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

alto preço = alto[iHighest(NULL,0,MODE_HIGH,count,0)];

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

baixo preço = Baixo[iLowest(NULL,0,MODE_LOW,count,0)];

 
BeerGod:


Não é uma boa idéia postar código com erros
 

CAROS PROGRAMADORES!!!!

Por favor, diga-me onde posso encontrar uma lista de todos os erros como '(' - semicolon esperado ou '{' - expressão em âmbito global não permitida e assim por diante. Toda vez que tenho que navegar em fóruns na Internet e procurar por traduções desses erros.

OBRIGADO !!!!

 
Polivanovka8b:

CAROS PROGRAMADORES!!!!

Por favor, diga-me onde posso encontrar uma lista de todos os erros como '(' - semicolon esperado ou '{' - expressão em âmbito global não permitida e assim por diante. Toda vez que tenho que navegar em fóruns na Internet e procurar por traduções desses erros.

OBRIGADO !!!!


Talvez isso ajude na operação futurahttp://translate.google.com/?hl=ru&tab=TT