DUVIDA PARA COLOCAR LIMITE DE GAIN/LOSS

 
input string tmpOrigem = "EA_Keltner_WIN$D_M5_Meta_Diaria";//tmpOrigem = comentario de qual local EA foi chamado a função
input double tmpValorMaximoPerda = 0; //tmpValorMaximoPerda = valor máximo desejado como perda máxima
input double tmpValor_Maximo_Ganho =  0; //tmpValor_Maximo_Ganho = valor estipulado de meta do  dia
input bool tmp_placar = true;  //tmp_placar = true exibe no comment o resultado das negociações do dia

ontick
{
   tradenow=1;

   if(funcao_verifica_meta_ou_perda_atingida()){tradenow=0;}

   "Funções de operação do robô"
}

//+------------------------------------------------------------------+
//| Função para meta diária de Profit                                |
//+------------------------------------------------------------------+  
bool funcao_verifica_meta_ou_perda_atingida()  
{
   //tmpOrigem = comentario de qual local EA foi chamado a função
   //tmpValorMaximoPerda = valor máximo desejado como perda máxima
   //tmpValor_Maximo_Ganho = valor estipulado de meta do  dia
   //tmp_placar = true exibe no comment o resultado das negociações do dia
   
   Print("Pesquisa funcao_verifica_meta_ou_perda_atingida (" + tmpOrigem + ")");
   string         tmp_x;
   double         tmp_resultado_financeiro_dia;
   int            tmp_contador;
   MqlDateTime    tmp_data_b;
   
   TimeCurrent(tmp_data_b);
   tmp_resultado_financeiro_dia = 0;
   tmp_x = string(tmp_data_b.year) + "." + string(tmp_data_b.mon) + "." + string(tmp_data_b.day) + " 00:00:01";
   
   HistorySelect(StringToTime(tmp_x),TimeCurrent()); 
      int      tmp_total=HistoryDealsTotal(); 
      ulong    tmp_ticket=0; 
      double   tmp_price; 
      double   tmp_profit; 
      datetime tmp_time; 
      string   tmp_symboll; 
      long     tmp_typee; 
      long     tmp_entry; 
         
   //--- para todos os negócios 
      for(tmp_contador=0;tmp_contador<tmp_total;tmp_contador++) 
        { 
         //--- tentar obter ticket negócios 
         if((tmp_ticket=HistoryDealGetTicket(tmp_contador))>0) 
           { 
            //--- obter as propriedades negócios 
            tmp_price =HistoryDealGetDouble(tmp_ticket,DEAL_PRICE); 
            tmp_time  =(datetime)HistoryDealGetInteger(tmp_ticket,DEAL_TIME); 
            tmp_symboll=HistoryDealGetString(tmp_ticket,DEAL_SYMBOL); 
            tmp_typee  =HistoryDealGetInteger(tmp_ticket,DEAL_TYPE); 
            tmp_entry =HistoryDealGetInteger(tmp_ticket,DEAL_ENTRY); 
            tmp_profit=HistoryDealGetDouble(tmp_ticket,DEAL_PROFIT); 
            //--- apenas para o símbolo atual 
            if(tmp_symboll==Symbol()) tmp_resultado_financeiro_dia = tmp_resultado_financeiro_dia + tmp_profit;

           } 
        } 
   
   if (tmp_resultado_financeiro_dia == 0)
      {
          if (tmp_placar == true) Comment("Placar  0x0");
          return(false); //sem ordens no dia
      }
   else
      {
         if ((tmp_resultado_financeiro_dia > 0) && (tmp_resultado_financeiro_dia != 0))
            {
               if (tmp_placar == true) Comment("Lucro R$" + DoubleToString(NormalizeDouble(tmp_resultado_financeiro_dia, 2),2) );
            }
         else
            {
               if (tmp_placar == true) Comment("Prejuizo R$" + DoubleToString(NormalizeDouble(tmp_resultado_financeiro_dia, 2),2));
            }
         
         if (tmp_resultado_financeiro_dia < tmpValorMaximoPerda)
            {
               Print("Perda máxima alcançada.");
               return(true);
            }
         else
            {
               if (tmp_resultado_financeiro_dia > tmpValor_Maximo_Ganho)
               {
                  Print("Meta Batida.");
                  return(true);
               }
            }    
        }  
   return(false);
}   

Bom dia!!!


Estou com esse codigo para limitar o loss e gain diario,mais quando vou colocar a seguinte parte para executar a erro no tradenow=1;

alguem pode me ajudar a solucionar??


abs

ontick
{
   tradenow=1;

   if(funcao_verifica_meta_ou_perda_atingida()){tradenow=0;}

   "Funções de operação do robô"
}
 
RAFAEL DITTRICH:

Bom dia!!!


Estou com esse codigo para limitar o loss e gain diario,mais quando vou colocar a seguinte parte para executar a erro no tradenow=1;

alguem pode me ajudar a solucionar??


abs

Você não sabe programação, seja MQL5 ou C++, isto é claro pelo seu código...

A ajuda que posso dar é: aprenda a programar, ou contrate alguém que saiba...

;)