Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1280

 
Tango_X:
O que significa o número de activações quando se compra o software no mercado ? Posso utilizar este programa em computadores diferentes e contas diferentes ao mesmo tempo? A questão é que queremos comprar um programa para duas pessoas e usar cada uma delas separadamente

é melhor encomendar a freelancers - o tipo de programa e será seu com código fonte aberto.

 
Fergert Фергерт:
Por favor diga-me como verificar se uma ordem de um certo tipo (neste caso ORDER_TYPE_BUY_LIMIT ) ou número mágico está lá e se estiver fechada, a EA continuará o seu trabalho... Ficaria muito grato...

Exemplo de contagem de quatro tipos de ordens pendentes no código Min Max para N Barras Martingale 2

//--- вызов функции
   int count_buy_limits=0,count_sell_limits=0,count_buy_stops=0,count_sell_stops=0;
   CalculateAllPendingOrders(count_buy_limits,count_sell_limits,count_buy_stops,count_sell_stops);
//--- сама функция
//+------------------------------------------------------------------+
//| Calculate all pending orders                                     |
//+------------------------------------------------------------------+
void CalculateAllPendingOrders(int &count_buy_limits,int &count_sell_limits,int &count_buy_stops,int &count_sell_stops)
  {
   count_buy_limits  = 0;
   count_sell_limits = 0;
   count_buy_stops   = 0;
   count_sell_stops  = 0;
   for(int i=OrdersTotal()-1; i>=0; i--) // returns the number of current orders
      if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==InpMagic)
           {
            if(m_order.OrderType()==ORDER_TYPE_BUY_LIMIT)
               count_buy_limits++;
            else
               if(m_order.OrderType()==ORDER_TYPE_SELL_LIMIT)
                  count_sell_limits++;
               else
                  if(m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                     count_buy_stops++;
                  else
                     if(m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                        count_sell_stops++;
           }
  }

Min Max for N Bars Martingale 2
Min Max for N Bars Martingale 2
  • www.mql5.com
Поиск Минимальных и Максимальных цен на заданном количестве баров. Выставление отложенных ордеров
 

Boa tarde.

Quero fechar uma posição depois de o Tempo ter decorrido, faço isto, mas não funciona

if((TimeCurrent()-m_position.Time())>Time*3600)  {CloseOrders=true; ClosePositions(POSITION_TYPE_BUY); break;} //  если прошло много времени, закрываем !!!
               
 
Roman Kutemov:

Boa tarde.

Quero fechar uma posição depois de o Tempo ter decorrido, faço isto, por alguma razão não funciona

Quem é'ClosePositions'?

E como se selecciona a posição?

 
Vladimir Karputov:

Quem é'ClosePositions'?

E como se selecciona a posição?

//| Close positions       по типу                                    |
//+------------------------------------------------------------------+
void ClosePositions(const ENUM_POSITION_TYPE pos_type)
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
            if(m_position.PositionType()==pos_type) // gets the position type
               m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
 for(int i=PositionsTotal()-1;i>=0;i--)
      if(m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
           {
            if(m_position.PositionType()==POSITION_TYPE_BUY)
              {
 
Roman Kutemov:

Quem é o'Tempo'? Estabelecer um ponto de parada antes de emitir uma ordem. Verificar se atingiu algum ponto de paragem?

(E sim: não escreva múltiplas declarações numa só linha)

 
Vladimir Karputov:

Quem é o'Tempo'? Estabelecer um ponto de parada antes de emitir uma ordem. Verificar se atingiu algum ponto de paragem?

(E sim: não escreva múltiplas declarações numa só linha)

Tempo - em configurações externas tempo em horas. Por exemplo, 7 horas após a abertura de uma posição, se esta não tiver fechado na paragem ou na tomada, quero fechá-la.
 
Roman Kutemov:
Tempo - em configurações externas tempo em horas. Por exemplo, 7 horas após a posição de abertura, se não tiver fechado na paragem ou na tomada, quero fechá-la.

Fórum sobre Comércio, Sistemas de Comércio Automatizados e Testes de Estratégia

FAQ de Iniciantes MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2021.01.27 17:49

*** Coloqueum ponto de parada antes de emitir uma ordem. Alguma vez verifica se atingiu um ponto de paragem?

(E sim: não escrever vários operadores numa só linha)


 
Vladimir Karputov:

Sim, não o fez.

Corrigido. Obrigado.

 
O que é que a pitão dá que o R não pode dar?