¿Quién puede ayudar con el robot, por qué no funciona? - página 5

 
Sergey Gritsay:
Lo más probable es que el compilador esté luchando, pero debería dar una advertencia en lugar de un error.
Acabo de compilar el código de arriba y adjunto una captura de pantalla, bajo#property strict extrañamente no hay errores ni advertencias, pero las variables no deberían coincidir, a menos que por supuesto esté inteligentemente diseñado de esa manera.No entré en la lógica de ello.
 

Entonces es así

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input double  lots       = 0.01;   // Лот
input int     stop_loss      = 10; // Указываем в валюте депозита
input int     take_profit    = 20; // Указываем в валюте депозита
extern int    Slippage = 3;        // Допустимое проскальзываение цены в пунктах
input int     Magic = 16384;       // Уникальный номер эксперта

int            last_bar       = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
// ===== Пересчет под пятизнак =========
   if(Digits()==3 || Digits()==5)
     {
      Slippage           *= 10;
     }   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if (last_bar == Bars) {return;}
   last_bar = Bars;
   if (OrdersTotal() == 0){
          int ticketbuy = OrderSend(Symbol(), OP_BUY, lots ,Ask, Slippage, 0, 0,  "", Magic, 0, clrBlue);
            if(ticketbuy<0)
               Print(Symbol()," OpenPosition. OrderSend Buy fail #",GetLastError());
            else
               Print(Symbol()," OpenPosition. OrderSend Buy successfully");
          int ticketsell = OrderSend(Symbol(), OP_SELL, lots ,Bid, Slippage, 0, 0,  "", Magic, 0, clrRed);
            if(ticketsell<0)
               Print(Symbol()," OpenPosition. OrderSend Sell fail #",GetLastError());
            else
               Print(Symbol()," OpenPosition. OrderSend Sell successfully");      
}
 double profit=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic)
        {
         profit+=OrderProfit()+OrderSwap()+OrderCommission();
        }
     }
 int requot=0;
 if(profit>=take_profit || (-profit)>=stop_loss)
   for(int ii=0;ii<OrdersTotal();ii++)
     {
      if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==_Symbol && OrderMagicNumber()== Magic)
        {
         if(OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrRed))
               requot=0;
            else
              {
               requot++;
              }
         if(requot>10)
              {
               ii++;
               requot=0;
              }
            ii--;
        }
     }
 
  }
//+------------------------------------------------------------------+
 
Vladimir Zubov:

Entonces es así

Gracias. Intentaré comprobarlo mañana....
 
Vladimir Zubov:

Entonces es así

Funciona a través del probador, pero no se abren operaciones en la cuenta real....
 
GIM:
El probador funciona, pero la cuenta real no abre ni una sola operación....
El Asesor Experto tiene algunas entradas en la pestaña de Asesores Expertos, pero en general creo que el EA de la cuenta real está torcido.
 
Sergey Gritsay:
El Asesor Experto tiene algunas entradas en la pestaña de Asesores Expertos, pero en mi opinión está torcido para el dinero real.
¿Dónde tengo que arreglarlo para que funcione?
 
GIM:
¿Dónde hay que arreglarlo para que funcione?
Por todas partes, aún no puedo entender la lógica de este EA tal y como está escrito, se abre en diferentes direcciones a la vez, pero el beneficio de estas dos órdenes siempre será el mismo, sólo cambiará cuando se acumulen los swaps.
 
Sergey Gritsay:
Se abre en diferentes direcciones a la vez, pero el beneficio de estas dos órdenes será siempre el mismo, sólo cambiará cuando se cobren los swaps.
Cuando instalo el EA en el gráfico ajusto que las órdenes se abren sólo en una dirección, en la tendencia y en varios pares, ya sea comprando o vendiendo.
 
GIM:
Cuando instalo un EA en un gráfico ajusto que las órdenes se abran en una sola dirección, en la tendencia y en varios pares, ya sea de compra o de venta, por lo que necesito cerrar todas las operaciones en beneficio total
Lo entiendo, hoy es demasiado tarde para mí, mañana le esbozaré una opción.
 
Sergey Gritsay:
Ya veo, hoy es demasiado tarde para mí, mañana te hago un boceto.
Gracias.