Gerenciar risco ... limite diario

 

Olá amigos!

Procurei e não acho sobre, gostaria de colocar um limite diário de perda ou ganho e o MT não enviar as ordens, queria saber se tem algum plugin ou dentro do MT te isso, como por exemplo quem já viu o gerenciamento de risco do Profit da neológica.

Por exemplo vou operar e meu limite diário é de 60 reais e 100 reais de ganho se chega algum desses valores ele "trava" as ordens e não deixa eu entra novamente no dia!

Alguém pode ajuda?

 
Lucian Fazolo:

Olá amigos!

Procurei e não acho sobre, gostaria de colocar um limite diário de perda ou ganho e o MT não enviar as ordens, queria saber se tem algum plugin ou dentro do MT te isso, como por exemplo quem já viu o gerenciamento de risco do Profit da neológica.

Por exemplo vou operar e meu limite diário é de 60 reais e 100 reais de ganho se chega algum desses valores ele "trava" as ordens e não deixa eu entra novamente no dia!

Alguém pode ajuda?

   Opa, como vai?



   Entonce, cria uma variável no dash: Double MeuBolso = 666;


   Crie um função pra consultar o resultadoDia:


double ResultadoDia()
   double Res = 0; 
   datetime end=TimeCurrent();                 
   datetime start=end-PeriodSeconds(PERIOD_H12); Período
   double profits = 0;
   
 if (HistorySelect(start,end))
 
   for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
   {
     const ulong Ticket = HistoryDealGetTicket(i);
     if(HistoryDealGetInteger(Ticket, DEAL_MAGIC) == m_magic && HistoryDealGetInteger(Ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT){
       profits = profits + HistoryDealGetDouble(Ticket, DEAL_PROFIT);
  
       
    }
       
    }
  return(profits);

  }

       

         Feito isso, segue a missa, verifica o bolso antes de entrar:


          

      if(ResultadoDia() >= MeuBolso) {

          Comment("Satisfeito com o resultado..");     

          return;

        }

  

        Flw!

  

 
ac
 
Aqui deu um erro dizendo que a variável m_magic não foi declarada, qual seria essa variável, faltou esse pedaço do código!
Qual seria o conteudo dessa variavel ?

Obrigado!



//+------------------------------------------------------------------+
//|                                                        Limit.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

double MeuBolso = 666;


int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   

     
        if(ResultadoDia() >= MeuBolso) {

          Comment("Satisfeito com o resultado..");     

          return;

        }   
     
     
  
   
  }
//+------------------------------------------------------------------+



double ResultadoDia(){

   double Res = 0; 
   datetime end = TimeCurrent();                 
   datetime start = end - PeriodSeconds(PERIOD_H12); //Período
   double profits = 0;
   
 if (HistorySelect(start,end))
 
   for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
   {
     const ulong Ticket = HistoryDealGetTicket(i);
     if(HistoryDealGetInteger(Ticket, DEAL_MAGIC) == m_magic && HistoryDealGetInteger(Ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT){
       profits = profits + HistoryDealGetDouble(Ticket, DEAL_PROFIT);
  
       
    }
       
    }
  return(profits);

  }
 
Descubra novos recursos para o MetaTrader 5 com a comunidade e os serviços MQL5
Descubra novos recursos para o MetaTrader 5 com a comunidade e os serviços MQL5
  • www.mql5.com
MQL5: linguagem de estratégias de negociação inseridas no Terminal do Cliente MetaTrader 5. A linguagem permite escrever seus próprios sistemas automáticos de negócios, indicadores técnicos, scripts e bibliotecas de funções
 
Roger TheBad #:
Aqui deu um erro dizendo que a variável m_magic não foi declarada, qual seria essa variável, faltou esse pedaço do código!
Qual seria o conteudo dessa variavel ?

Obrigado!



//+------------------------------------------------------------------+
//|                                                        Limit.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

double MeuBolso = 666;


int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   

     
        if(ResultadoDia() >= MeuBolso) {

          Comment("Satisfeito com o resultado..");     

          return;

        }   
     
     
  
   
  }
//+------------------------------------------------------------------+



double ResultadoDia(){

   double Res = 0; 
   datetime end = TimeCurrent();                 
   datetime start = end - PeriodSeconds(PERIOD_H12); //Período
   double profits = 0;
   
 if (HistorySelect(start,end))
 
   for (int i = HistoryDealsTotal() - 1; i >= 0; i--)
   {
     const ulong Ticket = HistoryDealGetTicket(i);
     if(HistoryDealGetInteger(Ticket, DEAL_MAGIC) == m_magic && HistoryDealGetInteger(Ticket, DEAL_ENTRY) == DEAL_ENTRY_OUT){
       profits = profits + HistoryDealGetDouble(Ticket, DEAL_PROFIT);
  
       
    }
       
    }
  return(profits);

  }
 

Estou usando este codigo mas só mostra valores quando da lucro, quando da prejuizo aparece 0, poreia me ajudar

Razão: