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

 
EVGENII SHELIPOV #:

Boa tarde!!!!


Coloque o código para OnTick()
 
EVGENII SHELIPOV verdadeiro testador de contas, mas na conta real acontecem milagres: apenas ordens com lucro são fechadas fora de toda a grade.
//+----------------------------------------------------------------------------+
//| Закрытие сетки ордеров при заданной команде                                |
//+----------------------------------------------------------------------------+
void ClosseAll()
  {
   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, slip))
                  Print("Не удалось закрыть ордера на покупку!");
              }
            if(OrderType() == OP_SELL)
              {
               if(!OrderClose(OrderTicket(), OrderLots(), Ask, slip))
                  Print("Не удалось закрыть ордер на продажу!");
              }
           }
        }
     }
  }

Podemos ver no código que as ordens são fechadas pelo símbolo e por uma ponte. Mas não vemos nenhum lucro sendo levado em conta. O que impede o fechamento de posições perdidas? Provavelmente, é melhor perguntar ao corretor.

 
Mihail Matkovskij #:

No código, você pode ver que as ordens são fechadas pelo símbolo e pelo meigico. Mas nenhum lucro é levado em conta. O que impede o fechamento de posições não lucrativas...? Provavelmente, é melhor perguntar ao corretor.

O que você acha que, se eu adicionar a condição de cálculo de lucro > 0 à função de fechar todos os pedidos, isso vai mudar?

Tenho esta condição no meu comando para fechar ordens

 
EVGENII SHELIPOV #:

O que você acha, se eu adicionar a condição de cálculo de lucro > 0 à função de fechamento de todos os pedidos, será que ela mudará?

Eu tenho esta condição no comando para fechar ordens

Precisamos acrescentar um cheque
 
EVGENII SHELIPOV #:

O que você acha, se eu adicionar a condição de cálculo de lucro > 0 à função de fechamento de todos os pedidos, será que ela mudará?

Tenho esta condição no meu comando para fechar ordens

A julgar por sua pergunta, as ordens não são fechadas pelo corretor. Se você enviar um pedido ao servidor para fechar um pedido (OrderClose) e este não for fechado como resultado deste pedido, você não poderá alterar nada aqui usando o código.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2022.01.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
EVGENII SHELIPOV #:

O que você acha, se eu adicionar a condição de cálculo de lucro > 0 à função de fechamento de todos os pedidos, será que ela mudará?

Eu tenho esta condição no comando para fechar ordens

Adicione uma bandeira para fechar até que feche e qualquer corretor irá trabalhar.
 
Tretyakov Rostyslav #:
Adicione a bandeira para fechar até que ela feche e qualquer corretor irá trabalhar.

Agora estamos tendo uma conversa construtiva.

Rostislav, se você puder elaborar sobre a bandeira.

Ou não para as pessoas burras, soletra-se.

 
EVGENII SHELIPOV #:

Agora estamos tendo uma conversa construtiva.

Rostislav, se você puder elaborar sobre a bandeira.

Ou não o explique assim para os burros.

Você poderia colocar o código OnTick() ...

Não o código inteiro, apenas as partes onde o CountTrade() é verificado

 
Tretyakov Rostyslav #:

Afixe o código OnTick() ...

Nem tudo, apenas as partes onde o CountTrade() é verificado.

Caixa de entrada

 
EVGENII SHELIPOV #:

Em particular

OK
Razão: