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

 
artmedia70:
Seja bem-vindo.

Não seja modesto, você é bem-vindo, você me economizou muito tempo...
Desejo-lhes as maiores felicidades e boa sorte.
 
artmedia70:
E pergunte int b


por que int ? De acordo com o manual, ObjectGet deve ser do tipo duplo, e na função iBarShift b deve ser do tipo data/hora
 
rustein:

Obrigado, então mudou ErrNum para ErrNumber e é isso? O aviso desapareceu, tudo vai funcionar corretamente?


string ErrorDescription(int ErrNumber)
{
  switch (ErrNumber)
  {
Você pode ver que você está "no tanque"... :)))
 
como desenhar uma linha horizontal entre dois pontos e uma linha vertical? ..... Estou lhe dizendo que preciso de um retângulo para desenhar a um determinado preço e intervalo de tempo
 

Ajude-me a encontrar um erro... Os nomes das funções dizem que deve servir...

extern double LOT         = 0.1;
extern int Magic          = 77;
extern double MartinStep  = 1.5;


double GetLastOrderProfit()
{
  int time = 0; double profit = 0; 
  for(int i = OrdersHistoryTotal()-1; i>=0; i--)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
    {
      if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic)
      {
        if(time<OrderCloseTime())
        {
          time=OrderCloseTime();
          profit=OrderProfit();
        }
      }
    }
  }
  return(profit);
}

//+------------------------------------------------------------------+
double GetLastLot()
{
  int time = 0; double Lot = 0; 
  for(int i = OrdersHistoryTotal()-1;i>=0;i--)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
    {
      if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic)
      {
        if(time<OrderCloseTime())
        time=OrderCloseTime();
        Lot = OrderLots(); 
      }
    }
  }

  if(Lot <= 0) Lot = LOT;

  return(Lot);
}

//+------------------------------------------------------------------+
double GetLastTenOrdersProfit()
{
  double profit = 0; int count = 0; 
  for(int i = OrdersHistoryTotal()-1;i>=0;i--)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
    {
      if(OrderSymbol() == Symbol()&& OrderMagicNumber() == Magic)
      {
        if (count<10)
        {
          profit=profit+OrderProfit();
          count++;
        } 
      }
    }
  }

  return(profit);
}
//+------------------------------------------------------------------+
double GetLot()
{
  double Lot = 0; double n = GetLastLot();
  
  if (GetLastTenOrdersProfit() < 0 || GetLastOrderProfit() < 0)
  Lot = NormalizeDouble (n * MartinStep,2);
  
  if (GetLastTenOrdersProfit() >= 0 && GetLastOrderProfit() >= 0 )
  Lot = LOT;
  
  return (Lot);
}

 

Por que eu não posso exibir um comentário da EA? Eu não consigo ver nada.

void OnTick()
{
//---
Comentário
("\n ",TimeToStr(Time[1]));
}

 
Alexandr24:

Por que eu não posso exibir um comentário da EA? Eu não consigo ver nada.

nulo OnTick()
{
//---
Comentário
("\n ",TimeToStr(Time[1]));
}


No testador ou no gráfico?
 
Ela aparece no testador, mas está em branco no gráfico, suspeito porque é fim de semana, mas é estranho.
 
Exatamente, um dia de folga, sem carrapatos, nada de estranho.
 
Alexandr24:

Por que não posso exibir o comentário no EA? Nada é exibido.

nulo OnTick()
{
//---
Comentário
("\n ",TimeToStr(Time[1]));
}


Eu produzo tudo, mas não uso funções, uso um único laço no início, no qual tudo é definido e calculado.

Nocomentário, tudo via DoubleToStr()! E as funções diminuem desnecessariamente!