Comunidade de Especialistas - página 7

 
Este é um cheque para o caso especial em que a diferença == 0
Este laço percorre a série para trás até encontrar uma diferença diferente de zero.

Isto pode ser omitido, mas então há uma chance de perder o cruzamento se acidentalmente atingirmos uma barra quando M1 == M2.

Podemos substituir < por <=, então este caso de interseção será apanhado,
mas a condição também produzirá uma intersecção quando duas fileiras se tocarem sem cruzar.

Em geral, é mais correto utilizar o texto que está escrito em
(mas só preciso verificá-lo no trabalho - ainda não o verifiquei).

Quanto à velocidade, ela será a mesma.
Este laço será acionado muito raramente,
e praticamente sempre não mais do que 1 cheque adicional.
 
Pergunta para os desenvolvedores: haverá um depurador para o meta-editor?

Pergunta aos colegas lutadores do caos: a MQL4 suportará o acesso a qualquer banco de dados?
 
Alguém tentou coser castiçais japoneses em um EA?
(Teoricamente, não há problema para isso).
 
Pergunta para os desenvolvedores: haverá um depurador para o meta-editor?

Sim, haverá - está planejado. O mais provável é que seja junto com a nova versão do compilador MQL4.
 
Pergunta para quem possa saber:

Qual é o tempo de execução do código compilado na MQL4 em comparação com outras linguagens de programação? Por exemplo, C++ é o mais rápido, Java é muito mais lento...
 
Tenho que procurar nos arquivos, em algum momento Renat se gabou, e tenho que dizer, não por nada. Os especialistas são de fato muito rápidos
 
Uma função (método) integrada é muito necessária

Todos os momentos de venda contam como momentos de compra

Todos os momentos de compra contam como momentos de venda

Isso existe ou não? E se não, como me parece (talvez eu esteja errado), seria bom para os desenvolvedores incluir tal função embutida.

Ou talvez haja um, afinal de contas?
 
Pergunta para alguém que possa saber:<br / translate="no">
Qual é o tempo de execução do código compilado na MQL4 em comparação com outras linguagens de programação? Por exemplo, C++ é o mais rápido, Java é muito mais lento...

"MQL4, MQL2, EasyLanguage, Wealth-Lab 3.0 e VC++: Comparação de velocidade".
 
Eu já lhe dei este código.
É apenas como exemplo, basta jogar fora o material extra :))

Antes de fechar uma posição, fechamos todas as posições opostas.
int _OrderCloseAll(int _type = VAZIO, int Slippage = 5) { int count = 1; int limit = 5; while(count > 0 && limit > 0) { int n = OrderTotal(); count = 0; limit--; for(int i = 0; i < n; i++) { if (OrderSelect(i, SELECT_BY_POS) == false) continue; if (OrderSymbol() != Símbolo()) continuar; se (_Magic != 0 && EncomendarMagicNumber() != _Magic) continuar; if (OrderType() == OP_BUY && (_type == EMPTY || _type == OP_BUY)) { WaitOrderTimeOut(); if (OrderSelect(i, SELECT_BY_POS)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage); count+++;
         } else if (OrderType() == OP_SELL && (_type == EMPTY || _type == OP_SELLL)) { WaitOrderTimeOut(); if (OrderSelect(i, SELECT_BY_POS)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage); count++; } } return (0); }
 
Eu já lhe dei este código. <br / translate="no"> Isto é apenas como um exemplo, apenas jogue fora o excesso :)))

Fechar todas as posições opostas antes de abri-las.
int _OrderCloseAll(int _type = EMPTY, int Slippage = 5)
{
   int count = 1;
   int limit = 5;

   while(count > 0 && limit > 0)
   {
      int n = OrdersTotal();

      count = 0;
      limit--;

      for(int i = 0; i < n; i++)
      {
      }
   }
   return (0);
}


Eu já forneci um link para nosso fórum inglês sobre o fechamento de todas as posições. aparentemente, ninguém leu todo o tópico. o ciclo inverso seria mais correto.
      for(int i = n-1; i >= 0; i--)


A posição seguinte toma seu lugar e o contador é incrementado e esta mesma posição é simplesmente ignorada.

Razão: