[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 479

 
costy_:

Como você responde sem saber que o NumTimeFrames TimeFrames[i] está vazio ou o quê?

Escreva mais completo, como, ou melhor, o que ler cuidadosamente se não houver nada. Escreva o código completo, caso contrário você provavelmente "roerá o granito da ciência",,,,)) se(true)continue; caso contrário, volte("Sleep("+7*1000*60*60+")"));

Você acertou.


int TimeFrames[]={5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument = Symbol();

// пробегаем по задданым периодам
for(i=0; i<NumTimeFrames; i++)
  {
    // пробегаем по всем барам выбранного периода, ЕСЛИ на нем появились новые бары 
    if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {


        // тут вычисления индиктора

        total_bars[i]=iBars(instrument,TimeFrames[i]); // запоминаем число баров на данном периоде
     }


Basicamente, como eu entendi, podemos pular a verificação do aparecimento de novas barras.

Na verdade, ela pode ser reduzida a uma simples pergunta: "em que comandos e em que momento a MT baixa as cotações das corretoras?

 
palladin:

você poderia citar o código que você usou para testar sua declaração?


//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_D1));
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Reshetov:

Como eu presumi que você não entendesse a pergunta.

Tente isto:


int start()
  {
//----
   Print(iBars(Symbol(), PERIOD_M1));
//----
   return(0);
  }
//+------------------------------------------------------------------+


Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)

 
palladin:

Como eu presumi que você não entendesse a pergunta.

Tente isto:



Запустите на периоде М5 и подождите минуту, в логе вы обнаружите, что с каждой минутой отображается одно и то же число! Хотя оно, очевидно, должно увеличиваться с каждой минутой)



que número você está exibindo?

qual é a hora deste bar iBars ?

há alguma história sobre a M1?
 

Reshetov ,sergeev ,costy_

obrigado


Eu verifiquei novamente, afinal parece funcionar, e eu estava errado em minha suposição.

O iBars parece funcionar realmente corretamente, nem mesmo no gráfico atual


 
for(i=0;i<=OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
      {
      if(OrderType() == OP_BUYSTOP)
        {
        if(OrderOpenPrice() > priceBuy)
          {
          priceBuy = OrderOpenPrice();
          }
        }
      }
    } 
  if(TakePrices1 == false)
    {  
    bTakeProfit = priceBuy + (10*2)*Point;
    TakePrices1 = true;
    }
Esta peça seleciona a ordem de compra mais alta e adiciona 20 pips a seu preço, e move o take profit para esse nível. Mas na verdade não são 20 pips, são 13 pips. Por que 13, não 10, não 30, mas 13? De onde vem este número?
 
sss2019:
Esta peça seleciona a ordem de compra mais alta e adiciona 20 pips a seu preço, e move o take profit para esse nível. Mas na verdade não são 20 pips, são 13 pips. Por que 13, não 10, não 30, mas 13? De onde vem este número?


20-espécie

Abrir na Bid, fechar na Ask

 
Vinin:


20-espécie

Abrir na Bid, fechar na Ask


Não, a obtenção de lucro ainda não foi acionada. Este código encontra a maior ordem de compra pendente e subtrai 20 pontos de seu preço aberto. O lucro é simplesmente transferido para mais 20 pontos. Parece que o spread não deve ser levado em conta aqui. Além disso, o spread está fixado em 2 pontos e nos faltam 7 pontos.
 
Eu não entendo qual é o problema. Parece que quando eu imprimo os valores, o preço está no nível correto, mas quando eu coloco este valor na ordem, seu lucro ainda se move apenas 13 pips.
 

Tra ta ta

Razão: