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

 
#include <Trade/Trade.mqh>

void DeletePendingOrders(const string sSymbol, const ulong nMagic)
{
   CTrade oTrade;

   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      ulong nOrderTicket = OrderGetTicket(i);
      
      if(nOrderTicket > 0)
      {
         if(OrderGetString(ORDER_SYMBOL) == sSymbol && OrderGetInteger(ORDER_MAGIC) == nMagic)
         {
            // удаляем только отложенники
            ENUM_ORDER_TYPE eType = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
            
            if(eType == ORDER_TYPE_BUY_STOP  || eType == ORDER_TYPE_SELL_STOP ||
               eType == ORDER_TYPE_BUY_LIMIT || eType == ORDER_TYPE_SELL_LIMIT ||
               eType == ORDER_TYPE_BUY_STOP_LIMIT || eType == ORDER_TYPE_SELL_STOP_LIMIT)
            {
               oTrade.OrderDelete(nOrderTicket);
            }
         }
      }
   }
}

O guião para MT4 não funcionará em Cinco, tem funções comerciais muito diferentes.

 
Sergei Vladimirov:

O guião para MT4 não funcionará em Cinco, tem funções comerciais muito diferentes.

Obrigado, estava prestes a lidar com trade.mqh.
 
Pode dizer-me alguma coisa, por favor? Como posso saber programticamente, e não logicamente, como uma ordem de mercado foi fechada - por TP, SL ou por mercado?
 
-Aleks-:
Pode dizer-me alguma coisa, por favor? Como posso saber programticamente, e não logicamente, como uma ordem de mercado foi fechada - por TP, SL ou por mercado?
Comparar o preço de fecho com o TP, SL. Se quase coincidem - a resposta está lá. Se não coincidirem, a resposta também está lá
 
Victor Nikolaev:
Comparar o preço de fecho com TP, SL. Se quase coincidirem - a resposta está lá. Se não coincidirem, então a resposta também está lá.

Foi o que eu perguntei, como não, por comparação? No terminal as encomendas são coloridas, o que significa que têm uma bandeira sobre como foram fechadas.

Não é muito claro para mim como organizar "quase" - o escorregamento pode ser demasiado para comparar.

 
-Aleks-:

Foi o que eu perguntei, como não, por comparação? No terminal as encomendas são coloridas, por isso têm uma bandeira sobre como foram fechadas.

Não é muito claro para mim como organizar "quase" - o escorregamento pode ser demasiado para comparação.

Com "quase" é decidido individualmente, caso a caso. Num mercado lento é uma coisa, num mercado rápido é outra
 
-Aleks-:
Pode dizer-me alguma coisa, por favor? Como posso saber programticamente, e não logicamente, como uma ordem de mercado foi fechada - por TP, SL ou por mercado?
O comentário da ordem fechada por stoploss é atribuído [sl], fechado por takeprofit é atribuído [tp].
 
Artyom Trishkin:
No comentário de um encerramento em stopploss, atribuído a [sl], encerrado em takeprofit, atribuído a [tp].
Está acordado?
 
Victor Nikolaev:
Está acordado?
Estava a escrever no meu telemóvel... durante o meu sono... o ronco... farejar... ronronar...
 
Victor Nikolaev:
Com "quase" é resolvido individualmente em cada caso à sua própria maneira. Isto é uma coisa num mercado lento e outra coisa num mercado rápido.

Sim, é por isso que estou à procura de uma solução universal - se a informação for necessária na próxima barra depois da encomenda ter sido fechada, então não é tão difícil avaliar a volatilidade, mas se for depois de um dia, então tenho de contar o número de barras que passaram e a volatilidade que lá esteve.

Artyom Trishkin:
No comentário de um fecho por stoploss atribuímos [sl], de um fecho por takeprofit atribuímos [tp].

Obrigado - Vou tentar lê-lo agora!

E não existe tal comentário no provador, certo?