[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 498

 
rigc:
(não está desenhando de jeito nenhum)))


Eu não sei - ela sabe. O indicador é simples como pode ser:

int start()
  {
   
//----
  double F1=0, F3=0, F13;    // номера фракталов
  int    B1, B3, SR=3;               // номера баров
  
  while(F3==0)                       //поиск фракталов
  {
    F13=iFractals(NULL,0,MODE_UPPER,SR);
    if (F13!=0) 
    {
      if      (F1==0){B1=SR; F1=F13;}
      else if (F3==0){B3=SR; F3=F13;}
    }
    SR++; 
  }
    ObjectSet("Rezist", OBJPROP_TIME1 ,iTime(NULL,0,B3));
    ObjectSet("Rezist", OBJPROP_TIME2 ,iTime(NULL,0,B1));
    ObjectSet("Rezist", OBJPROP_PRICE1,iHigh(NULL,0,B3));
    ObjectSet("Rezist", OBJPROP_PRICE2,iHigh(NULL,0,B1));
    ObjectSet("Rezist", OBJPROP_RAY   , True);

  
//----
   return(0);
  }

SR=3, foi o que eu corrigi. Era SR=2 número de barras a partir do qual começar a procurar por um fractal

 
Figar0:


Eu não sei, eu tentei. O indicador é simples como pode ser:

SR=3, foi o que eu corrigi. Era SR=2 número de barras a partir do qual se começava a procurar um fractal

Sim, entendi))))

Obrigado

Eu lhe devo uma.

 
sss2019:
Você pode me dizer como executar uma condição? Temos a condição de abrir uma ordem de compra ao preço atual, assim que o preço atingir 1.2550. Assim, quando o preço é maior ou igual a 1,2550, a ordem é aberta e quando a ordem é aberta, a variável estática bloqueia a abertura de novas ordens, até que a ordem chegue a 0. Assim, assim que a ordem é fechada e não há mais ordens com esta magia, a proibição de abertura é removida e uma nova ordem é aberta, mas o preço já se afastou deste nível. Precisamos da EA para abrir ordens de mercado quando o preço atingir este nível, mas não as pendentes.
Você tem um cheque de mais ou igual a 1.2550. Em outras palavras, quando o preço é mais alto(já foi embora há muito tempo), o critério é invariavelmente verdadeiro e, portanto, as posições serão abertas.
Você deve considerar a condição - o preço cruzou o nível 1.2550.
 
artmedia70:
Você tem um cheque maior ou igual a 1.2550. Isto é, quando é mais alto(o preço já saiu há muito tempo), o critério ainda é verdadeiro e, portanto, as posições serão abertas.
Você deve considerar a condição - o preço cruzou o nível 1.2550.


Obrigado, acho que isso pode ser feito com cálculo de tempo. Por exemplo, se o depósito na minha conta for em euros ou em rublos, o Consultor Especialista pode cometer erros?

 

Você pode me dizer como o EA pode reduzir o tamanho da RAM, zerá-la ocasionalmente ou algo assim, porque um terminal come até 100 MB e, como eu notei, ele come até atingir 100%. Eu tenho 25 terminais instalados em um computador em algum lugar.

Deixe-me lembrar que tenho apenas um gráfico em uso e que ele não é mostrado. No entanto, os dados são utilizados a partir de dezenas de pares de moedas.

O tamanho dos arquivos de dados históricos pode afetar a carga de memória? Se deixarmos apenas dados diários, será que funcionará mais rápido?

 
sss2019:


Obrigado, acho que isso pode ser feito com o tempo. Por exemplo, se o depósito for em EUR ou RUB, meu Consultor Especialista pode cometer erros?

Por que você faria isso? Você poderia, por exemplo, usar um MA com um período de 0. Você verifica a primeira e segunda barras para a interseção com o nível. No atual, você abre.

Os erros podem estar na cabeça do programador, não no depósito da conta :)

 

Olá a todos!

Caros profissionais - por favor, resolvam minha pergunta: https://www.mql5.com/ru/forum/116542

 

Você pode me dizer por que este ciclo não funciona corretamente, não procura o máximo, não consigo encontrar o erro. Ela pula o máximo alto e leva como resultado o máximo da vela anterior.

Todos os valores da matriz de compra-toploss são 0 por padrão.

Na foto parece que o laço encontrou o máximo da 13ª vela, pulando os máximos mais altos

  i2=0;
  for(i=0;i<7;i++)
    {
    while(i2 <= 19)
      {
      if(High[i2]>buystoploss[i])
        {
        buystoploss[i]=High[i2];
        }
      i2++;
      }
    }
    Alert(" ",buystoploss[4]);
 
sss2019:

Você pode me dizer por que este ciclo não funciona corretamente, não procura o máximo, não consigo encontrar o erro. Ela pula o máximo alto e leva como resultado o máximo da vela anterior.

Todos os valores na matriz de buyystoploss são 0 por padrão.


Isto é uma piada:

Alert(" ",buystoploss[4]);

?

 
sss2019:

Você pode me dizer por que este ciclo não funciona corretamente, não procura o máximo, não consigo encontrar o erro. Ela pula o máximo alto e leva como resultado o máximo da vela anterior.

Todos os valores na matriz de buyystoploss são 0 por padrão.

bem para iniciantes i2 só é zerada uma vez.