[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 460

 
Serg-s-n писал(а) >>
Boa noite a todos! Quem sabe como fechar um pedido e selecionar o primeiro pedido e fechá-lo?

POR FAVOR AJUDA!!!

Encontre uma posição com um tempo mínimo de abertura.

 
Serg-s-n писал(а) >>
Boa noite a todos! Quem sabe como selecionar o primeiro pedido e fechá-lo ao fechar um pedido?

POR FAVOR AJUDA!!!

Como dito corretamente, você precisa encontrar o pedido com o primeiro tempo de abertura, obter seu bilhete, selecionar o pedido com aquele bilhete e fechá-lo.

Aqui está um exemplo de como encontrar o pedido que você precisa:

  int ticket = -1;
  datetime MinDateTime = 0;

  for (int i=1; i<=OrdersTotal(); i++)         // Цикл по всем ордерам
  
    if (OrderSelect( i-1, SELECT_BY_POS)==true)  // Если есть следующий        
    {
      if ( ticket < 0 || OrderOpenTime() < MinDateTime ) // Его дата меньше, чем дата предыдущего найденного?
      {
        if ( OrderType() == OP_BUY )          // Это ордер на покупку?
        {
          ticket = OrderTicket();             // Запомнить его ticket.
          MinDateTime = OrderOpenTime();
        }
      }
    }     
  }                                           // Конец тела цикла

Uma vez encontrado o bilhete do pedido que você precisa, você precisa selecioná-lo com a função OrderSelect(ticket, SELECT_BY_TICKET), e fechar OrderClose() com os parâmetros que você precisa.

 
Temos um EA que abre posições com TP e SL. Como posso calcular quantas posições SL foram perdidas atualmente em uma fila desde a última ordem bem sucedida?
 

1. pedidosHistóriaTotal

2. Ordenar as ordens fechadas por tempo

3. Determinar as últimas ordens em uma linha OrderProfit<0

 
sergeev >>:

1. OrdersHistoryTotal

2. Сортируем закрытые ордера по времени

3. Определяем у последних подряд идущие OrderProfit<0


Obrigado
 

Boa tarde.

Por favor, resolva o problema. Quando chamo a função MarketInfo("EURUSD", MODE_STOPLEVEL) - nível mínimo de stop loss/stake profit permitido em pips, ele mostra 10 pips.

números diferentes são mostrados no terminal, por exemplo sl=30, tp=10. O que devo fazer, como posso separá-los em uma chamada de função?

 
gvi2504 писал(а) >>

Boa tarde.

Por favor, resolva o problema. Quando chamo a função MarketInfo("EURUSD", MODE_STOPLEVEL) - nível mínimo de stop loss/stake profit permitido em pips, ele mostra 10 pips.

números diferentes são mostrados no terminal, por exemplo sl=30, tp=10. O que devo fazer? Como separá-los em uma chamada de função?

Quando você definir a parada mínima para SL e TP ela mostrará valores diferentes).

 
Techno >>:

Уровень минимальных стопов для SL и TP один и тот же, не может она тебе показывать разных значений, иначе дц втопку )

Eu também pensava assim, mas na MasterForex, SL e TP são diferentes. Alguma outra reflexão sobre o assunto?

 
gvi2504 писал(а) >>

Eu também pensava assim, mas na MasterForex, SL e TP são diferentes. Alguma outra reflexão sobre o assunto?

como você sabe que eles são diferentes?

 
Techno >>:

а как ты определил, что разные?

Quando eu estava procurando por um erro, todas as ações estavam sobrealinhadas, e se tornou TP passa ao modificar, mas SL não está muito perto.