Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1748

 
MakarFX #:

Você pode me dizer como fazer isso corretamente?

não entrar todos os elementos que eu quero somar, mas apenas especificar 5 elementos

#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
int Label1Buffer[];
int Label2Buffer[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int i=0,
       f=0,
       limit=9;
   ArrayResize(Label1Buffer,limit);
   ArrayResize(Label2Buffer,limit);
   for(i=limit-1; i>=0; i--)
     {
Label1Buffer[i]= 3;
 if(i<=4) f+=Label1Buffer[i];
Label2Buffer[i]= f;
      Print(Label2Buffer[i]);
     }
Print("   !  ",Label2Buffer[0]);
  }
//+------------------------------------------------------------------+
 
Galim_V #:

Não, não é isso. Até agora eu fiz isto

   for(i=limit;i>=0;i--)
     {
      Label1Buffer[i] = MathRand();
      tmp = 0.0; 
      for(int a=Input1; a>0; a--)
        {
         tmp +=  Label1Buffer[i+a];
        } 
      Label2Buffer[i] = tmp;
     }
 
iHigh(NULL,PERÍODO_H1,i) e duplo H=iHigh(NULL,PERÍODO_H1,i); não são a mesma coisa?

Por alguma razão eles dão resultados diferentes após o loop.

Eu queria otimizá-lo para não escrever constantemente uma longa linha iHigh(NULL,PERÍODO_H1,i), mas armazená-la em uma variável. Mudado para uma variável no laço, o resultado é diferente.
 
Ivan Butko iHigh(NULL,PERÍODO_H1,i) e duplo H=iHigh(NULL,PERÍODO_H1,i); não são a mesma coisa?

Por alguma razão eles dão resultados diferentes após o loop.

Eu queria otimizá-lo para não escrever constantemente uma longa linha iHigh(NULL,PERÍODO_H1,i), mas armazená-la em uma variável. Mudado para uma variável no laço, o resultado é diferente.

depende do contexto a considerar...

Se seu loop while brinca com i, entãoiHigh(NULL,PERÍODO_H1,i) e H serão diferentes... Porque H armazena os dados do outro i

 
Nikolay Ivanov iHigh(NULL,PERÍODO_H1,i) e H serão diferentes... Porque H armazena dados de outro i

Sim, você está certo, ele brinca com i. Quero dizer, obrigado.

 
Existe alguma forma de cortar a história? Quando você faz o download, tem 20 anos, mas você precisa dele há 2-3 anos...
 
Ivan Butko #:
Existe alguma forma de cortar a história? Quando você faz o download, tem 20 anos, mas você precisa dele há 2-3 anos...

Use a tecla "Shift" para selecionar os dados que você não quer e exclua-os

 
MakarFX #:

Use a tecla "Shift" para selecionar os dados que você não quer e exclua-os.

Obrigado

 
Boa tarde.
void CloseAll()
{
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
         {
            if (OrderType() == OP_BUY)
            {
               if (!OrderClose(OrderTicket(),OrderLots(), Bid, Slippage))
               Print (" Не удалось закрыть ордер на покупку!");
            }
            if (OrderType() == OP_SELL) 
            {
               if (!OrderClose(OrderTicket(),OrderLots(), Ask, Slippage))
               Print (" Не удалось закрыть ордер на продажу!");
            }
         }
      }
   }
}
Eu uso este código para fechar todos os pedidos. Mas notei que se há muitos deles, nem todos estão fechados. O que posso acrescentar para fechar todos eles, mesmo que não seja a primeira vez. Se possível, por favor, nos dê um exemplo.
 

Boa tarde, novamente)

Segunda pergunta:
Quero fechar parcialmente os pedidos. Mas há um problema, quando se fecha parcialmente os pedidos, como eu entendo, o bilhete de pedido muda, e a partir daí o último se torna o primeiro, e o principal para mim é manter a ordem de abertura. Para que os últimos fiquem por último. Como podemos rastrear o pedido anterior. O preço de abertura muda? Se possível, com exemplos)
Obrigado antecipadamente

Razão: