Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
996
Avaliação:
(20)
Publicado:
2017.11.17 12:22
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Abrimos uma posição oposta à fechada, com o mesmo volume. Funciona para qualquer símbolo e qualquer magic.

Por exemplo, temos uma posição aberta em AUDUSD BUY 0.01. Como esta posição está fechada (por exemplo, fechamos manualmente), o Expert Advisor Opposite trade abrirá imediatamente novas posições no par AUDUSD, agora é uma posição SELL.

O código inteiro está contido na função OnTradeTransaction:

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- get transaction type as enumeration value 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_type         =-1;
      long     deal_entry        =-1;
      double   deal_volume       =0.0;
      string   deal_symbol       ="";
      if(HistoryDealSelect(trans.deal))
        {
         deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);
        }
      else
         return;
      if(deal_entry==DEAL_ENTRY_OUT)
        {
         switch((int)deal_type)
           {
            case  DEAL_TYPE_BUY:
               m_trade.Buy(deal_volume,deal_symbol);
               break;
            case  DEAL_TYPE_SELL:
               m_trade.Sell(deal_volume,deal_symbol);
               break;
            default:
               break;
           }
        }
     }
  }

Aqui esperamos a transação de fechamento de posição (DEAL_ENTRY_OUT). Uma vez que esta transação aparece, verificamos a posição do trade (se fecharmos uma compra, esta será uma transação de venda e vice-versa) e abriremos uma nova posição.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/18904

Laguerre stripped of double stochastic Laguerre stripped of double stochastic

Filtro Laguerre "desmontado" aplicado ao estocástico duplo.

up3x1 Investor up3x1 Investor

Análise do tamanho do candle. Ideia por trás do sistema de negociação: após a liberação de notícias, os parâmetros dos candles se tornam significativos.

Conversor de arquivos HTML, para o calendário de eventos econômicos Conversor de arquivos HTML, para o calendário de eventos econômicos

Conversor de arquivos HTML, para o calendário de eventos econômicos. Analisa a página carregada desde o site http://www.investing.com/economic-calendar e gera um arquivo CSV com uma lista de notícias.

Psychological Psychological

Oscilador clássico importado desde a plataforma FXAccuCharts.