Negociação Sistemática

Gerenciador de Risco EA: O Assistente Ideal para MetaTrader 4
MetaTrader4
Gerenciador de Risco EA: O Assistente Ideal para MetaTrader 4

Para obter os melhores resultados, é fundamental que você faça sua própria Análise Técnica (TA). Você decide a direção que deseja que o EA faça as operações (pode ir comprado ou vendido, mas a função de hedge não funcionará) e o EA aguardará até que uma configuração ocorra para executar as operações por você. Os parâmetros de Nível e Comprimento correspondem ao nível e à extensão do retrocesso. Quanto maior o Comprimento, mais o EA irá escalar, e quanto maior o Nível, mais profundo será o retrocesso que ele buscará. O Fechar PL é o máximo de prejuízo flutuante antes que o EA feche todas as posições. Os limites de lucro e risco são os parâmetros que você precisa ajustar para especificar quanto lucro ou risco está buscando em um determinado sinal. O parâmetro de capital será definido com base no seu saldo antes da conexão do EA. Se você tiver um prejuízo ou lucro flutuante, pode querer alterar, mas o valor padrão de 0 assumirá seu saldo inicial antes da conexão do EA. Se você estiver operando com vários pares, a função de hedge não funcionará, portanto, não haverá hedge. Certifique-se de desativar a negociação multipares se estiver operando apenas com um par e quiser usar a função de hedge. A função de hedge irá proteger sua posição assim que o nível de hedge for alcançado, onde o nível de hedge significa a porcentagem de risco que você ainda possui, e em relação à proporção especificada. O Maxsize é a maior posição que o EA irá escalar, e as camadas são o número de posições que você deseja espalhar no Maxsize. Por exemplo, se você quiser comprar 1 lote de um instrumento e escalar em 10 vezes, Maxsize = 1, Camadas = 10.

2023.04.08
Estratégia de Grid Trading em Mercados Voláteis: Expert Advisor para MetaTrader 4
MetaTrader4
Estratégia de Grid Trading em Mercados Voláteis: Expert Advisor para MetaTrader 4

Se você está buscando uma maneira eficiente de operar em mercados voláteis, o Grid Trading pode ser a solução ideal. Vamos entender como configurar seu Expert Advisor no MetaTrader 4 para maximizar seus lucros. Os parâmetros de entrada são simples, mas essenciais: Tp: Este é um número que define quando o robô irá realizar o lucro. A recomendação é usar valores entre 0,01 e 0,1, que representam a fração do seu capital investido que você deseja alcançar como lucro. SlowMovingAverage: Este parâmetro refere-se ao período da média móvel, que ajuda a identificar a tendência do mercado. Uma média móvel mais longa pode dar uma visão melhor da direção do preço. Multiplier: Este é o fator que define os volumes das ordens. A próxima ordem na grade será colocada com base no tamanho do volume da última ordem multiplicado pelo Multiplier. TimeFrame: O intervalo de tempo para suas operações, que pode ser de 1 hora (60 minutos) ou 15 minutos, dependendo da sua estratégia e ritmo de negociação. O Expert Advisor possui funções úteis, como: TotalOrderLots(): Retorna a soma total dos lotes utilizados nas operações. CalcMaxLot(): Retorna a quantidade máxima de lotes que você pode negociar com base no seu saldo. CalcGridLot(): Essa função calcula o lote inicial com os parâmetros definidos para um ativo específico. Bearish e Bullish Engulfing: Essas funções retornam um valor verdadeiro se um dos padrões de candlestick ocorrer, sinalizando potenciais reversões de tendência. OpenOrderProfits: Retorna todos os lucros das ordens abertas. CloseAllOrders: Esta função fecha todas as ordens, verificando várias vezes para garantir que todas sejam encerradas corretamente. O EA realiza ordens em grade com base nos valores do ATR (Average True Range), permitindo que você se adapte às mudanças de volatilidade do mercado. Com essas dicas e configurações, você estará pronto para aproveitar as oportunidades que os mercados voláteis oferecem. Boa sorte nas suas operações!

2023.01.27
AK-47 Scalper EA: O Expert Advisor Ideal para o MetaTrader 4
MetaTrader4
AK-47 Scalper EA: O Expert Advisor Ideal para o MetaTrader 4

1. Parâmetros de Entrada #define ExtBotName "AK-47 Scalper EA" // Nome do Bot #define  Version "1.00" //--- parâmetros de entrada extern string  EASettings        = "---------------------------------------------"; //-------- <Configurações do EA> -------- input int      InpMagicNumber    = 124656;   //Número Mágico extern string  TradingSettings   = "---------------------------------------------"; //-------- <Configurações de Negociação> -------- input double   Inpuser_lot       = 0.01;     //Lotes input double   InpSL_Pips        = 3.5;      //Stoploss (em Pips) input double   InpMax_spread     = 0.5;      //Spread máximo permitido (em Pips) (0 = flutuante) extern string  MoneySettings     = "---------------------------------------------"; //-------- <Configurações de Dinheiro> -------- input bool     isVolume_Percent  = true;     //Permitir Volume Percentual input double   InpRisk           = 3;        //Porcentagem de Risco do Saldo (%) input string   TimeSettings      = "---------------------------------------------"; //-------- <Configurações de Horário de Negociação> -------- input bool     InpTimeFilter     = true      //Filtro de Horário de Negociação input int      InpStartHour      = 2;         //Hora de Início input int      InpStartMinute    = 30;        //Minuto de Início input int      InpEndHour        = 21;        //Hora de Fim input int      InpEndMinute      = 0         //Minuto de Fim 2. Inicialização de Variáveis Locais //--- Variáveis int      Pips2Points;               // slippage  3 pips    3=points    30=points double   Pips2Double;               // Stoploss 15 pips    0.015      0.0150 int      InpMax_slippage   = 3;     // Slippage máximo permitido. bool     isOrder           = false; // abre apenas 1 ordem int      slippage; string   strComment        = ""; 3. Código Principal a/ Função de Inicialização do Expert int OnInit()   { //---      //Detectar 3 ou 5 dígitos    //Pip e ponto    if (Digits % 2 == 1)    {       Pips2Double  = _Point*10;       Pips2Points  = 10;       slippage = 10* InpMax_slippage;    }    else    {           Pips2Double  = _Point;       Pips2Points  =  1;       slippage = InpMax_slippage;    }    //---    return(INIT_SUCCEEDED);   } b/ Função Tick do Expert void OnTick()   { //---      if(IsTradeAllowed() == false)      {       Comment("AK-47 EA\nNegociação não permitida.");       return;      }             MqlDateTime structTime;        TimeCurrent(structTime);        structTime.sec = 0;               //Define hora de início        structTime.hour = InpStartHour;        structTime.min = InpStartMinute;              datetime timeStart = StructToTime(structTime);               //Define hora de fim        structTime.hour = InpEndHour;        structTime.min = InpEndMinute;        datetime timeEnd = StructToTime(structTime);               double acSpread = MarketInfo(Symbol(), MODE_SPREAD);        StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);              strComment = "\n" + ExtBotName + " - v." + (string)Version;       strComment += "\nHora GMT = " + TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS);       strComment += "\nHorário de Negociação = [" + (string)InpStartHour + "h" + (string)InpStartMinute + " --> " +  (string)InpEndHour + "h" + (string)InpEndMinute + "]";              strComment += "\nSpread Atual = " + (string)acSpread + " Points";       strComment += "\nNível de Stop Atual = " + (string)StopLevel + " Points";              Comment(strComment);          //Atualizar Valores       UpdateOrders();              TrailingStop();              //Verificar Horário de Negociação       if(InpTimeFilter)       {          if(TimeCurrent() >= timeStart && TimeCurrent() < timeEnd)          {             if(!isOrder) OpenOrder();          }       }       else       {          if(!isOrder) OpenOrder();       }   } 3.1 Calcular sinal para enviar ordens void OpenOrder(){       //int OrdType = OP_SELL;//-1;    double TP = 0;    double SL = 0;    string comment = ExtBotName;    //Calcular Lotes    double lot1 = CalculateVolume();       //if(OrdType == OP_SELL){       double OpenPrice = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);       SL = NormalizeDouble(Ask + StopLevel * _Point + InpSL_Pips/2 * Pips2Double, Digits);                if(CheckSpreadAllow())                                    //Verificar Spread       {          if(!OrderSend(_Symbol, OP_SELLSTOP, lot1, OpenPrice, slippage, SL, TP, comment, InpMagicNumber, 0, clrRed))          Print(__FUNCTION__,"--> Erro ao enviar ordem ",GetLastError());       }    //} } 3.2 Calcular Volume double CalculateVolume()   {    double LotSize = 0;    if(isVolume_Percent == false)      {       LotSize = Inpuser_lot;      }    else      {       LotSize = (InpRisk) * AccountFreeMargin();       LotSize = LotSize /100000;       double n = MathFloor(LotSize/Inpuser_lot);       //Comment((string)n);       LotSize = n * Inpuser_lot;       if(LotSize < Inpuser_lot)          LotSize = Inpuser_lot;       if(LotSize > MarketInfo(Symbol(),MODE_MAXLOT))          LotSize = MarketInfo(Symbol(),MODE_MAXLOT);       if(LotSize < MarketInfo(Symbol(),MODE_MINLOT))          LotSize = MarketInfo(Symbol(),MODE_MINLOT);      }    return(LotSize);   } 3.3 O EA possui função de "Trailing Stop", O SL mudará a cada vez que o preço mudar (para baixo) void TrailingStop()   {    for(int i = OrdersTotal() - 1; i >= 0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if((OrderMagicNumber() == InpMagicNumber) && (OrderSymbol() == Symbol()))   //_Symbol))            {             //Para Ordem de Venda             if(OrderType() == OP_SELL)               {                   //--Calcular SL quando o preço mudar                   double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;                   if(SL_in_Pip > InpSL_Pips){                         double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + InpSL_Pips * Pips2Double, Digits);                         if(!OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, clrRed))                         {                            Print(__FUNCTION__,"--> Erro ao modificar a ordem ",GetLastError());                            continue                           }               }                          //Para Ordem de Venda a Mercado             else if(OrderType() == OP_SELLSTOP)               {                   double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;                                      if(SL_in_Pip < InpSL_Pips/2){                      double newOP = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);                      double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + (InpSL_Pips/2) * Pips2Double, Digits);                                           if(!OrderModify(OrderTicket(), newOP, newSL, OrderTakeProfit(), 0, clrRed))                          {                              Print(__FUNCTION__,"--> Erro ao modificar a Ordem Pendente!", GetLastError());                             continue                        }                   }               }            }      }   }

2023.01.14
XP Forex Trade Manager MT4: Otimize suas Operações no MetaTrader 4
MetaTrader4
XP Forex Trade Manager MT4: Otimize suas Operações no MetaTrader 4

O Forex Trade Manager MT4 é uma ferramenta que facilita a gestão de ordens abertas no MetaTrader 4. Ao abrir uma nova ordem, o gerenciador automaticamente define o Stop Loss e o Take Profit. Conforme o preço se movimenta, o programa pode ajustar o Stop Loss para o Break Even (stop loss = preço de abertura) ou mover continuamente o Stop Loss (chamado de Tailing Stop) para proteger seus lucros. O Forex Trade Manager consegue controlar ordens apenas para os símbolos atuais (onde o Expert Advisor está funcionando) ou para todas as ordens abertas (independente do símbolo) e ainda pode ocultar o Stop Loss e o Take Profit dos corretores. Essa é uma estratégia de gestão para operações manuais abertas (que podem ser em todos os símbolos ou apenas no símbolo do gráfico atual) através de: definição de Stop Loss e/ou Take Profit para as operações em pips; função de Tailing Stop que ajusta o SL conforme o preço; Break Even que move o SL para o BE em uma distância escolhida. O SL/TP pode ser gerenciado pelo corretor (forma padrão) ou em modo stealth – oculto do corretor. Parâmetros: “Parâmetros SLTP” Stop Loss – stop loss em pips para as operações; Take Profit – take profit em pips para as operações; “Break Even” UseBreakEven (true/false) – permitindo usar apenas a função de break-even para ordens abertas; BEActivation – lucro em pips quando a função de break even é ativada; BELevel – distância adicional do BE em pips quando o SL é colocado pela função de break even; “Trailing Stop” UseTrailingStop (true/false) – permitindo usar apenas a função de trailing stop para ordens abertas; TSStart – lucro em pips quando a função de trailing stop é ativada; TSStep – diferença mínima em pips entre o novo e o atual SL para permitir o ajuste do SL pela função de trailing stop; TSDistance – distância do preço atual em pips quando o SL é colocado pela função de trailing stop; “Comportamento” StealthMode(true/false) – oculta os níveis de sl/tp do corretor e o EA fecha operações nesses níveis programaticamente; OnlyCurrentPair(true/false) – permite a gestão de operações apenas do símbolo no gráfico atual (true) ou de todos os pares (false). Informações: Todos os parâmetros para operações e funções são configuráveis nas definições do EA. O Forex Trade Manager também exibe no gráfico informações sobre o lucro/prejuízo diário atual em pips e na moeda da conta.

2023.01.10
Gerenciador de Trades Forex Grid MT4: A Ferramenta Essencial para Traders
MetaTrader4
Gerenciador de Trades Forex Grid MT4: A Ferramenta Essencial para Traders

Se você está buscando uma maneira eficiente de gerenciar suas ordens e alcançar seus objetivos no mercado de Forex, o Gerenciador de Trades Forex Grid MT4 é a solução ideal. Com uma configuração simples, você só precisa realizar a primeira ordem com o Take Profit desejado, ativar o robô (EA) e definir os parâmetros de lucro (em pips) que deseja obter. O EA gerenciará suas posições, reunindo o número de pips que você especificou. Esta estratégia é perfeita para gerenciar trades manuais que já estão abertos no par atual. O sistema adiciona posições às trades abertas em uma gestão de grid, com uma distância escolhida em pips entre as ordens - podendo chegar a 15 trades (ou menos). As três primeiras ordens são gerenciadas com Take Profits individuais, e a partir da quarta ordem, o EA fecha todo o grid em um nível comum (break-even). Após o fechamento de uma ordem com TP, é possível renová-la. O ciclo completo pode ser encerrado caso a perda ultrapasse a porcentagem de risco permitida em relação ao saldo da conta. Parâmetros: Parâmetros de Trade Adicionais: AddNewTradeAfter – distância em pips da última trade após a qual novas ordens são adicionadas ao grid. Take Profit: TakeProfit1Total (número) – TP total em pips necessário a partir da primeira posição. TakeProfit1Partitivo – TP inicial em pips para a primeira posição no ciclo. TakeProfit1Offset – distância mínima em pips do Take Profit da última posição fechada necessária para renovar essa primeira trade. TakeProfit 2/3 – TP individual em pips para a segunda/terceira posição no ciclo. TakeProfit 4/5/6/...15Total – TP total em pips de todas as posições no ciclo (para 4 ou mais trades abertas). Parâmetros de Trade: MaxOrders – número máximo permitido de trades no grid. Risco Balance % – perda máxima permitida como porcentagem do saldo da conta (fecha todas as posições abertas). Lots – tamanho do lote para as trades abertas pelo EA. Slippage – desvio permitido em pontos. Informações: Todos os parâmetros para as trades e funções podem ser ajustados nas configurações do EA. O Gerenciador de Trades Forex Grid também exibe no gráfico informações sobre o lucro/prejuízo do ciclo atual em pips e na moeda da conta.

2023.01.10
Estratégia de Mean Reversion: Potencialize seus Trades no MetaTrader 4
MetaTrader4
Estratégia de Mean Reversion: Potencialize seus Trades no MetaTrader 4

Se você está buscando uma estratégia eficiente para operar no mercado Forex, a estratégia de Mean Reversion pode ser a chave para melhorar seus resultados, especialmente em pares de moedas principais no gráfico diário. O que você precisa saber: Teste em uma conta demo primeiro para entender como a estratégia funciona sem arriscar seu capital. Este robô de trading opera apenas com o preço da vela de abertura! Se você não quer aumentar o tamanho da posição após uma perda, ajuste a configuração: IncreaseFactor=0. Além disso, aqui estão algumas configurações que você pode considerar ao utilizar o EA: Configurações Importantes Use_TP_In_Money: Utilizar Take Profit em dinheiro (valores: true/false). TP_In_Money: Take Profit em dinheiro (valores: 10-100). Use_TP_In_percent: Utilizar Take Profit em percentual (valores: true/false). TP_In_Percent: Take Profit em percentual (valores: 10-100). ------------------Controle de Stop Loss e Trailing------------------ Enable_Trailing: Ativar trailing stop (valores: true/false). Take Profit em dinheiro: (valores: 25-200). Stop Loss em dinheiro: (valores: 1-20). ------------------------------------------------------------------------ Exit: Fechar operações se a tendência estiver contra você (valores: true/false). BarsToCount: Número de barras a contar (valores: 1-20). Lots: Tamanho do lote (valores: 0.01-1). MagicNumber: Número mágico (valores: 1-100000). TakeProfit: Take Profit (valores: 50-200). FastMA: Média Móvel Rápida (valores: 1-20). SlowMA: Média Móvel Lenta (valores: 50-200). ------------------Controle de Drawdown------------------ UseEquityStop: (valores: true/false). TotalEquityRisk: (valores: 0.01-20). ------------------------------------------------------------------------ Max_Trades: Número máximo de operações (1-12). FractalNum: Número de altas e baixas (valores: 1-10). Dicas Finais: Você deve otimizar este EA a cada poucos meses, utilizando as mesmas configurações mencionadas. Ele pode ser usado como um EA de hedging grid ou como um EA de operação única. Para realizar um backtest, acesse este link.

2022.10.26
Trickerless: O Expert Advisor Ideal para MetaTrader 4
MetaTrader4
Trickerless: O Expert Advisor Ideal para MetaTrader 4

Fala, galera! Hoje vamos falar sobre o Trickerless RHMP, um Expert Advisor que promete trazer resultados consistentes para quem opera no MetaTrader 4. Vamos analisar o desempenho dele com um foco especial na estratégia utilizada. Relatório de Teste da Estratégia Relatório de Teste da Estratégia Trickerless RHMP InstaForex-Europe.com (Build 1359) Símbolo EURGBP (Euro vs Libra Esterlina) Período Diário (D1) 15.10.2021 - 07.09.2022 Modelo Cada tick (método mais preciso baseado em todos os intervalos de tempo disponíveis) Parâmetros TOOLS="TOOLS"; CloseAll=false; ContinueTrading=true; SAFE="SAFE"; SafeSpread=true; SafeGrowth=true; SafeExits=true; AllowHedge=true; EnableStop=false; StopOnlyFriday=false; SIGNAL="SIGNAL"; SignalA=true; SignalB=true; SignalC=true; TIME="TIME"; RefreshHours=26; NEWS="NEWS"; NewsStartHour=18; NewsEndHour=22; SleepSeconds=1440; PROFIT="PROFIT"; BasketProfit=1.06; OpenProfit=0.011; MinProfit=0.085; SafeProfit=0.005; GROWTH="GROWTH"; StopGrowth=0.075; DailyGrowth=0.045; STOP="STOP"; RelativeStop=0.19; HISTORY="HISTORY"; QueryHistory=14; TREND="TREND"; MinTrend=2; MaxTrend=9; CandleSpike=7; BACK_SYSTEM="BACK_SYSTEM"; TriggerBackSystem=0.995; TrendSpace=5; MARGIN="MARGIN"; MinMarginLevel=300; MarginUsage=0.03; BackupMargin=0.05; NewsMargin=0.04; TRADE="TRADE"; MinLots=0.03; TradeSpace=3.5; MaxSpread=7; INDICATOR_ATR="INDICATOR_ATR"; ATRPeriod=14; INDICATOR_ADX="INDICATOR_ADX"; ADXMain=10; ADXPeriod=14; ADXShiftCheck=4; INDICATOR_MA="INDICATOR_MA"; MA1Period=120; MA2Period=60; MAShiftCheck=30; Barras no teste 1235 Ticks modelados 5326472 Qualidade da modelagem 58.38% Erros de gráficos não correspondentes 0 Depósito inicial 10.00 Spread 30 Lucro líquido total 216.31 Lucro bruto 216.40 Perda bruta -0.09 Fator de lucro 2361.41 Payoff esperado 3.93 Drawdown absoluto 4.88 Drawdown máximo 83.94 (77.54%) Drawdown relativo 77.54% (83.94) Total de operações 55 Posições curtas (porcentagem ganha) 27 (96.30%) Posições longas (porcentagem ganha) 28 (100.00%) Operações lucrativas (% do total) 54 (98.18%) Operações com perda (% do total) 1 (1.82%) Maior operação lucrativa 17.83 operação com perda -0.09 Média operação lucrativa 4.01 operação com perda -0.09 Máximo vitórias consecutivas (lucro em dinheiro) 51 (215.11) perdas consecutivas (perda em dinheiro) 1 (-0.09) Máximo lucros consecutivos (contagem de vitórias) 215.11 (51) perdas consecutivas (contagem de perdas) -0.09 (1) Média vitórias consecutivas 27 perdas consecutivas 1 Resumo das Operações # Data/Hora Tipo Ordem Tamanho Preço S / L T / P Lucro Saldo 1 15.10.2021 13:30 compra 1 0.03 0.84547 0.00000 0.00000 2 19.10.2021 08:00 fechar 1 0.03 0.84561 0.00000 0.00000 0.02 10.02 3 19.10.2021 08:24 venda 2 0.03 0.84555 0.00000 0.00000 4 19.10.2021 14:35 fechar 2 0.03 0.84306 0.00000 0.00000 0.86 10.88 5 22.10.2021 12:00 compra 3 0.03 0.84284 0.00000 0.00000 6 22.10.2021 14:00 fechar 3 0.03 0.84403 0.00000 0.00000 0.41 11.29 7 26.10.2021 15:18 venda 4 0.03 0.84194 0.00000 0.00000 8 17.11.2021 14:00 fechar 4 0.03 0.84193 0.00000 0.00000 -0.09 11.20 9 23.11.2021 16:40 compra 5 0.03 0.84129 0.00000 0.00000 10 26.11.2021 06:00 fechar 5 0.03 0.84335 0.00000 0.00000 0.63 11.83 11 07.12.2021 08:36 venda 6 0.04 0.85027 0.00000 0.00000 12 16.12.2021 14:01 fechar 6 0.04 0.84806 0.00000 0.00000 0.94 12.77 13 17.12.2021 09:48 compra 7 0.04 0.85057 0.00000 0.00000 14 20.12.2021 10:39 fechar 7 0.04 0.85293 0.00000 0.00000 1.07 13.84 15 22.12.2021 00:00 venda 8 0.04 0.85085 0.00000 0.00000 16 22.12.2021 06:00 fechar 8 0.04 0.85081 0.00000 0.00000 0.02 13.86 17 23.12.2021 13:10 compra 9 0.04 0.84439 0.00000 0.00000 18 24.12.2021 10:00 fechar 9 0.04 0.84496 0.00000 0.00000 0.24 14.10 19 24.12.2021 10:24 venda 10 0.04 0.84499 0.00000 0.00000 20 27.12.2021 16:00 fechar 10 0.04 0.84270 0.00000 0.00000 1.04 15.14 21 05.01.2022 18:29 compra 11 0.05 0.83506 0.00000 0.00000 22 06.01.2022 10:00 fechar 11 0.05 0.83621 0.00000 0.00000 0.58 15.72 23 11.01.2022 13:56 venda 12 0.05 0.83449 0.00000 0.00000 24 11.01.2022 20:00 fechar 12 0.05 0.83401 0.00000 0.00000 0.27 15.99 25 18.01.2022 16:23 compra 13 0.05 0.83659 0.00000 0.00000 26 24.01.2022 17:02 fechar 13 0.05 0.83896 0.00000 0.00000 1.21 17.20 27 24.01.2022 20:00 venda 14 0.05 0.84179 0.00000 0.00000 28 25.01.2022 08:42 fechar 14 0.05 0.83922 0.00000 0.00000 1.47 18.68 29 25.01.2022 22:00 compra 15 0.06 0.83643 0.00000 0.00000 30 03.02.2022 17:21 fechar 15 0.06 0.83873 0.00000 0.00000 1.24 19.92 31 04.02.2022 16:00 venda 16 0.06 0.84629 0.00000 0.00000 32 04.02.2022 16:00 fechar 16 0.06 0.84628 0.00000 0.00000 0.01 19.93 33 04.02.2022 16:54 compra 17 0.06 0.84478 0.00000 0.00000 34 07.02.2022 14:26 fechar 17 0.06 0.84724 0.00000 0.00000 1.67 21.60 35 08.02.2022 13:58 venda 18 0.06 0.84341 0.00000 0.00000 36 09.02.2022 00:00 fechar 18 0.06 0.84302 0.00000 0.00000 0.26 21.86 37 15.02.2022 23:33 compra 19 0.07 0.83894 0.00000 0.00000 38 16.02.2022 14:00 fechar 19 0.07 0.83963 0.00000 0.00000 0.51 22.37 39 16.02.2022 21:03 venda 20 0.07 0.83788 0.00000 0.00000 40 17.02.2022 06:03 fechar 20 0.07 0.83550 0.00000 0.00000 1.89 24.26 41 22.02.2022 17:55 compra 21 0.07 0.83562 0.00000 0.00000 42 25.02.2022 15:47 fechar 21 0.07 0.83819 0.00000 0.00000 1.89 26.14 43 28.02.2022 12:00 venda 22 0.08 0.83561 0.00000 0.00000 44 01.03.2022 13:13 fechar 22 0.08 0.83318 0.00000 0.00000 2.23 28.37 45 02.03.2022 03:23 compra 23 0.09 0.83485 0.00000 0.00000 46 09.03.2022 16:06 fechar 23 0.09 0.83720 0.00000 0.00000 2.10 30.47 47 14.03.2022 00:13 venda 24 0.09 0.83757 0.00000 0.00000 48 22.03.2022 04:00 fechar 24 0.09 0.83671 0.00000 0.00000 0.78 31.25 49 24.03.2022 12:12 compra 25 0.09 0.83336 0.00000 0.00000 50 25.03.2022 09:53 fechar 25 0.09 0.83595 0.00000 0.00000 2.63 33.88 51 28.03.2022 18:45 venda 26 0.10 0.83834 0.00000 0.00000 52 05.04.2022 06:00 fechar 26 0.10 0.83663 0.00000 0.00000 1.85 35.73 53 07.04.2022 09:02 compra 27 0.11 0.83427 0.00000 0.00000 54 11.04.2022 00:00 fechar 27 0.11 0.83765 0.00000 0.00000 4.16 39.89 55 13.04.2022 05:36 venda 28 0.12 0.83275 0.00000 0.00000 56 13.04.2022 22:00 fechar 28 0.12 0.83059 0.00000 0.00000 2.98 42.87 57 18.04.2022 14:06 compra 29 0.13 0.82901 0.00000 0.00000 58 20.04.2022 10:00 fechar 29 0.13 0.83011 0.00000 0.00000 1.50 44.37 59 21.04.2022 11:40 venda 30 0.13 0.83619 0.00000 0.00000 60 21.04.2022 16:33 fechar 30 0.13 0.83365 0.00000 0.00000 3.80 48.17 61 25.04.2022 07:59 compra 31 0.14 0.84195 0.00000 0.00000 62 26.04.2022 18:43 fechar 31 0.14 0.84450 0.00000 0.00000 4.03 52.20 63 27.04.2022 21:03 venda 32 0.16 0.84181 0.00000 0.00000 64 28.04.2022 00:00 fechar 32 0.16 0.84167 0.00000 0.00000 0.19 52.38 65 28.04.2022 20:07 compra 33 0.16 0.84322 0.00000 0.00000 66 05.05.2022 07:42 fechar 33 0.16 0.84567 0.00000 0.00000 3.92 56.30 67 05.05.2022 15:20 venda 34 0.17 0.85211 0.00000 0.00000 68 12.05.2022 19:57 fechar 34 0.17 0.84966 0.00000 0.00000 4.61 60.91 69 13.05.2022 04:00 compra 35 0.18 0.85052 0.00000 0.00000 70 16.05.2022 10:00 fechar 35 0.18 0.85089 0.00000 0.00000 0.67 61.59 71 16.05.2022 10:24 venda 36 0.18 0.85117 0.00000 0.00000 72 16.05.2022 17:14 fechar 36 0.18 0.84863 0.00000 0.00000 5.26 66.85 73 17.05.2022 12:00 compra 37 0.20 0.84098 0.00000 0.00000 74 17.05.2022 13:37 fechar 37 0.20 0.84347 0.00000 0.00000 5.73 72.58 75 18.05.2022 14:00 venda 38 0.22 0.84821 0.00000 0.00000 76 18.05.2022 17:39 fechar 38 0.22 0.84577 0.00000 0.00000 6.17 78.75 77 20.05.2022 09:06 compra 39 0.24 0.84790 0.00000 0.00000 78 24.05.2022 00:00 fechar 39 0.24 0.84899 0.00000 0.00000 2.76 81.50 79 24.05.2022 12:04 venda 40 0.24 0.85773 0.00000 0.00000 80 25.05.2022 02:00 fechar 40 0.24 0.85627 0.00000 0.00000 3.99 85.49 81 25.05.2022 02:24 compra 41 0.26 0.85597 0.00000 0.00000 82 03.06.2022 20:00 fechar 41 0.26 0.85721 0.00000 0.00000 2.20 87.69 83 03.06.2022 20:24 venda 42 0.26 0.85730 0.00000 0.00000 84 06.06.2022 11:29 fechar 42 0.26 0.85478 0.00000 0.00000 7.50 95.19 85 07.06.2022 02:00 compra 43 0.29 0.85372 0.00000 0.00000 86 07.06.2022 08:26 fechar 43 0.29 0.85615 0.00000 0.00000 8.11 103.30 87 08.06.2022 07:50 venda 44 0.31 0.85024 0.00000 0.00000 88 07.07.2022 17:55 fechar 44 0.31 0.84777 0.00000 0.00000 7.33 110.63 89 11.07.2022 20:33 compra 45 0.33 0.84603 0.00000 0.00000 90 14.07.2022 18:02 fechar 45 0.33 0.84851 0.00000 0.00000 8.55 119.18 91 18.07.2022 17:21 venda 46 0.36 0.84764 0.00000 0.00000 92 26.07.2022 16:02 fechar 46 0.36 0.84519 0.00000 0.00000 9.71 128.89 93 26.07.2022 22:00 compra 47 0.39 0.84171 0.00000 0.00000 94 05.08.2022 15:58 fechar 47 0.39 0.84416 0.00000 0.00000 8.52 137.41 95 08.08.2022 17:53 venda 48 0.41 0.84293 0.00000 0.00000 96 16.08.2022 12:00 fechar 48 0.41 0.84245 0.00000 0.00000 1.76 139.17 97 18.08.2022 06:31 compra 49 0.42 0.84478 0.00000 0.00000 98 19.08.2022 11:05 fechar 49 0.42 0.84723 0.00000 0.00000 11.62 150.79 99 23.08.2022 09:08 venda 50 0.45 0.84458 0.00000 0.00000 100 23.08.2022 18:52 fechar 50 0.45 0.84210 0.00000 0.00000 12.85 163.64 101 25.08.2022 06:04 compra 51 0.49 0.84505 0.00000 0.00000 102 26.08.2022 16:27 fechar 51 0.49 0.84752 0.00000 0.00000 13.66 177.30 103 29.08.2022 12:00 venda 52 0.53 0.85234 0.00000 0.00000 104 29.08.2022 12:00 fechar 52 0.53 0.85231 0.00000 0.00000 0.18 177.48 105 30.08.2022 02:51 compra 53 0.53 0.85400 0.00000 0.00000 106 30.08.2022 13:32 fechar 53 0.53 0.85648 0.00000 0.00000 15.13 192.61 107 30.08.2022 19:00 venda 54 0.58 0.85975 0.00000 0.00000 108 06.09.2022 13:16 fechar 54 0.58 0.85728 0.00000 0.00000 15.86 208.48 109 07.09.2022 10:13 compra 55 0.63 0.86144 0.00000 0.00000 110 07.09.2022 13:48 fechar 55 0.63 0.86390 0.00000 0.00000 17.83 226.31

2022.06.28
Como Detectar o Início de uma Nova Barra no MetaTrader 4: Dicas para Traders
MetaTrader4
Como Detectar o Início de uma Nova Barra no MetaTrader 4: Dicas para Traders

Se você é um trader que utiliza o MetaTrader 4, provavelmente já percebeu que ao receber uma nova cotação, o terminal chama a função padrão OnTick(). No entanto, não existe uma função padrão para saber quando uma nova barra (ou candle) começa. Para detectar isso, é necessário monitorar o horário de abertura da barra mais recente. Assim que esse horário mudar, você saberá que uma nova barra começou e poderá reagir a essa mudança. O código abaixo, compatível tanto com MQL4 quanto com MQL5, ilustra uma maneira de realizar essa detecção: // Manipulador de eventos padrão de tick    void OnTick()    {       // Verifica se há uma nova barra (compatível com MQL4 e MQL5).          static datetime dtBarAtual  = WRONG_VALUE;                 datetime dtBarAnterior = dtBarAtual;                          dtBarAtual  = iTime( _Symbol, _Period, 0 );                 bool     bNovoEventoBarra  = ( dtBarAtual != dtBarAnterior );       // Reage ao evento de nova barra e trata a situação.          if( bNovoEventoBarra )          {             // Detecta se este é o primeiro tick recebido e trata isso.                /* Por exemplo, quando é a primeira vez que é anexado a um gráfico e                   a barra está em algum lugar no meio de seu progresso e                   não é, de fato, o início de uma nova barra. */                if( dtBarAnterior == WRONG_VALUE )                {                   // Faça algo no primeiro tick ou no meio da barra ...                }                else                {                   // Faça algo quando uma barra normal começa ...                };             // Faça algo independentemente da condição acima ...          }          else          {             // Faça algo diferente ...          };       // Faça outras coisas ...    }; No código acima, a variável estática armazena o horário de abertura da barra, mesmo ao retornar da função OnTick(). Diferente de uma variável local comum, ela memoriza seu conteúdo e não o perde ao sair da função. Essa é a chave para detectar uma mudança no horário de abertura da barra atual. É importante ressaltar que, quando o EA é colocado pela primeira vez em um gráfico, o código acima reage como se a barra tivesse acabado de abrir. Essa condição requer um tratamento especial caso precise ser gerenciada de forma diferente.Ah, e não esqueça: todo o código que publico na CodeBase agora está disponível também na aba "Projetos Públicos" do MetaEditor sob o nome "FMIC".

2022.04.24
Primeiro Anterior 1 2 3 4 5 6 7 8 9 Próximo Último