Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1139

 
kuznat399:
¿Existen robots para android?


No hay autotrading en la versión móvil de Metatrader y es poco probable que aparezca en un futuro próximo. Si quieres controlar el robot desde tu teléfono, necesitas un VPS que aloje el terminal con el robot, + un software para el acceso remoto en tu teléfono.
 
¿Puede decirme si la visualización no se muestra en el probador (compilación 1065) - se puede arreglar?
 
Abro diez gráficos semanales de pares de divisas en MT5 y se cargan 800 megabytes de historial de ticks en el terminal. Se carga constantemente, aunque casi no hay cambios en los gráficos. La pregunta es ¿por qué necesito el historial de ticks, si sólo utilizo gráficos semanales? Por cierto, en MT4 los gráficos semanales se abren al instante y sin demora.
 
sober:
Abro diez gráficos semanales de pares de divisas en MT5 y el terminal carga 800 megabytes de historial de ticks. Se carga constantemente, aunque casi no hay cambios en los gráficos. La pregunta es ¿por qué necesito el historial de ticks, si sólo uso gráficos semanales? Por cierto, en MT4 los gráficos semanales se abren al instante sin ningún retraso.


esta es una característica de mt5 - cargar todo en m1 y luego construir el período requerido... ....

y así cada vez, para cada símbolo

 
Hay dos bloques enchufables para MT5 (bloque de señal y colocación de órdenes y bloque de arrastre). Lo tomé en MQL5. He colocado los archivos "MQL5\Include\Expert\Signal" y "MQL5\Include\Expert". Estoy pidiendo ayuda.
 

La idea del EA es comprar o vender cuando el precio toca un nivel horizontal o una línea de tendencia dibujada manualmente. Hice un EA de diferentes EAs de trabajo y el indicador. Pero el EA no funciona. O mejor dicho, sólo abre la VENTA sin ninguna señal en el primer tick. ¿Qué ocurre?

/+------------------------------------------------------------------+

//| |

//| Copyright © 2010, MetaQuotes Software Corp.

//| http://www.mql4.com/ru/users/rustein |

//+------------------------------------------------------------------+

#define MAGIC 131313 //abre el canal de entrada

//---------------------------------------



extern inttern TF=15;


//+------------------------------------------------------------------+

extern int StopLoss = 300;

//--------------------------------------------



extern double TakeProfit = 3000;

//--------------------------------------


extern int Per_MA= 20;



//---- constantes


#define OP_BUY_ 0

#define OP_SELL_ 1



//-------------------------------------------------------------------+

extern double Lots = 0.1;

extern double RiesgoMáximo = 1;

extern double DecreaseFactor = 0;



bool b_1=true, s_1=true;


//+------------------------------------------------------------------+

//| Calcular las posiciones abiertas |

//+------------------------------------------------------------------+

double MA=iMA(NULL,TF,Per_MA,0,0,0,1);





int CalcularPedidosActualizados(símbolo de cadena)

{

int compras=0,ventas=0;

//----

for(int i=0;i<TotalPedidos();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)

{

if(OrderType()==OP_BUY) buys++;

if(OrderType()==OP_SELL) vende++;

}

}

//---- volumen de pedidos de devolución

if(compras>0) return(compras);

Si no es así, return(-sells);

}

//+------------------------------------------------------------------+

//| Calcular el tamaño óptimo del lote |

//+------------------------------------------------------------------+

double LotsOptimized()

{

doble lote=Lotes;

int orders=HistoryTotal(); // total de pedidos del historial

int losses=0; // número de órdenes de pérdidas sin pausa

//---- seleccione el tamaño del lote

//lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,2);

lote=NormalizeDouble(AccountFreeMargin()*MaximumRisk/100/MarketInfo(Symbol(),MODE_TICKVALUE)/StopLoss,2);

//---- calcule el número de órdenes de pérdidas sin interrupción

si(Factor de disminución>0)

{

for(int i=órdenes-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("¡Error en el historial!"); break; }

if(OrderSymbol()!=Symbol() | OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) pérdidas++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,2);

}

//---- devolver el tamaño del lote

if(lot<0.01) lot=0.01;

devolución(lote);

}

//-------------------------------------------------

/* esta parte del indicador

int CheckBreakoutLines(int shift)

{

// Total de objetos

int obj_total = ObjectsTotal();

// Hora del bar

datetime now = Time[shift];

// Iterar

for(int i = obj_total - 1; i >= 0; i--)

{

// Nombre del objeto

string label = ObjectName(i);

// Tipos

int OType = ObjectType(label);

bool trendline = false;

bool hline = false;

// Precio a evaluar

doble cprice = 0;

// Líneas de tendencia

if(OType == OBJ_TREND )

{

bool ray = ObjectGet(label, OBJPROP_RAY);

si(!rayo)

{

datetime x1 = ObjectGet(label, OBJPROP_TIME1);

datetime x2 = ObjectGet(label, OBJPROP_TIME2);

if(x1 < now && x2 < now) continuar;

}

cprice = GetCurrentPriceOfLine(label, shift);

línea de tendencia = true;

} else if(OType == OBJ_HLINE ) {

cprice = ObjectGet(label, OBJPROP_PRICE1);

hline = true;

} si no {

continuar;

}

// Rupturas y falsas rupturas de las líneas de tendencia y de las líneas h

if(MA>cprice &&Ask<cprice)

{

if(trendline) { return(OP_BUY_); } else if(hline) { return(OP_BUY_); }

} else if(MA>cprice &&Ask<cprice) {

if(trendline) { return(OP_SELL_); } else if(hline) { return(OP_SELL_); }

}

}

return(EMPTY_VALUE);

}


double GetCurrentPriceOfLine(string label, int shift)

{

double precio1 = ObjectGet(label, OBJPROP_PRICE1);

double precio2 = ObjectGet(label, OBJPROP_PRICE2);

datetime d1 = ObjectGet(label, OBJPROP_TIME1);

datetime d2 = ObjectGet(label, OBJPROP_TIME2);

int shiftfrom = iBarShift(Symbol(), 0, d1, false);

int shiftto = iBarShift(Symbol(), 0, d2, false);

int lapse = MathAbs(shiftto - shiftfrom);

int distancia = MathAbs(desplazamiento - desplazamientode);

doble pendiente = (precio2 - precio1) / lapso;

doble cpoint = precio1 + (distancia * pendiente);

return(cpoint);

}


//-------------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+

//| Comprueba las condiciones de las órdenes abiertas |

//+------------------------------------------------------------------+

void CheckForOpen()

{

int res;


//--------------------------------------------------------------------+

//--------------------------------------------------------------------+

//---- comprar condiciones

if(OP_BUY_&&b_1)

{

res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-(StopLoss*Point),Ask+TakeProfit*Point," VV",MAGIC,0,Green);

b_1=falso; s_1=verdadero;

volver;

}


//---- condiciones de venta

if(OP_SELL_&&s_1)

{

res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+(StopLoss*Point),Bid-TakeProfit*Point," VV",MAGIC,0,Red);

s_1=falso;b_1=verdadero;

volver;

}

//----

}


//+------------------------------------------------------------------+

//| Función de inicio |

//+------------------------------------------------------------------+

void start()

{

//---- comprobar el historial y el comercio

if(Bars<100 || IsTradeAllowed()==false) return;

//---- calcular las órdenes abiertas por el símbolo actual

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

}


//+------------------------------------------------------------------+

//|---------------------------// END //------------------------------|

//+------------------------------------------------------------------+

Warstein
Warstein
  • www.mql5.com
Профиль трейдера
 
ValerVL35:

La idea del EA es comprar o vender cuando el precio toca un nivel horizontal o una línea de tendencia dibujada manualmente. Hice un EA de diferentes EAs de trabajo y el indicador. Pero el EA no funciona. O mejor dicho, sólo abre la VENTA sin ninguna señal en el primer tick. ¿Qué ocurre?

/+------------------------------------------------------------------+

//| |

//| Copyright © 2010, MetaQuotes Software Corp.

//| http://www.mql4.com/ru/users/rustein |

//+------------------------------------------------------------------+

#define MAGIC 131313 //abre el canal de entrada

//---------------------------------------



extern inttern TF=15;


//+------------------------------------------------------------------+

extern int StopLoss = 300;

//--------------------------------------------



extern double TakeProfit = 3000;

//--------------------------------------


extern int Per_MA= 20;



//---- constantes


#define OP_BUY_ 0

#define OP_SELL_ 1

.....................................

.....................................

//---- comprobar el historial y el comercio

if(Bars<100 || IsTradeAllowed()==false) return;

//---- calcular las órdenes abiertas por el símbolo actual

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

}


//+------------------------------------------------------------------+

//|---------------------------// END //------------------------------|

//+------------------------------------------------------------------+

Cargué el programa en el bloc de notas y borré las líneas en blanco. Se hizo posible cubrir con una mirada. Pulsar el botón SRC y pegar. Esto es lo que surgió. 1) ¿Por qué habría que definir

#define  OP_BUY_  0
#define  OP_SELL_ 1

si ya tenemos OP_BUY=0 y OP_SELL=1

2) La raíz de todo mal está en este fragmento. Una misma condición (MA>cprice &&Ask<cprice) se comprueba dos veces, y se toman decisiones diferentes.

      // Breakouts and false breakouts of trendlines and hlines
      if(MA>cprice &&Ask<cprice)
      {
         if(trendline) { return(OP_BUY_); } else if(hline) { return(OP_BUY_); }
      } else if (MA>cprice &&Ask<cprice) {
        if(trendline) { return(OP_SELL_); } else if(hline) { return(OP_SELL_); }    
      }

3) Después cada rama realiza comprobaciones pero el resultado sigue siendo el mismo

if(trendline) { return(OP_BUY_); } else if(hline) { return(OP_BUY_); }
if(trendline) { return(OP_SELL_); } else if(hline) { return(OP_SELL_); }

En general, la línea anterior puede simplificarse y escribirse como sigue

          if(trendline)return OP_BUY;
          if(hline)    return OP_BUY;
или еще проще
          if(trendline or hline) return OP_BUY;

//+------------------------------------------------------------------+
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                             http://www.mql4.com/ru/users/rustein |
//+------------------------------------------------------------------+
#define  MAGIC  131313 // открытие внутрь канала
//---------------------------------------
extern int TF=15;
extern int    StopLoss          = 300;
extern double TakeProfit = 3000;
extern int Per_MA= 20;
extern double Lots              = 0.1;
extern double MaximumRisk       = 1;
extern double DecreaseFactor    = 0;

//---- constants
#define  OP_BUY_  0
#define  OP_SELL_ 1

bool b_1=true, s_1=true;

//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
 double MA=iMA(NULL,TF,Per_MA,0,0,0,1);
int CalculateCurrentOrders(string symbol)
  {
   int buys=0,sells=0;
//----
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//---- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }

//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break
//---- select lot size
  //lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,2);
   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/100/MarketInfo(Symbol(),MODE_TICKVALUE)/StopLoss,2);

//---- calcuulate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
         //----
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,2);
     }
//---- return lot size
   if(lot<0.01) lot=0.01;
   return(lot);
  }
  //-------------------------------------------------

  /* эта часть из индикатора*/
  int CheckBreakoutLines(int shift)
{
   // Total Objects 
   int obj_total = ObjectsTotal();

   // Time of bar 
   datetime now = Time[shift];

   // Iterate
   for(int i = obj_total - 1; i >= 0; i--)
   {
      // Object name
      string label = ObjectName(i);

      // Types
      int OType = ObjectType(label);
      bool trendline = false;
      bool hline = false;

      // Price to evaluate
      double cprice = 0;

      // Trendlines
      if(OType == OBJ_TREND )
      {
         bool ray = ObjectGet(label, OBJPROP_RAY);
         if(!ray)
         {
            datetime x1 = ObjectGet(label, OBJPROP_TIME1);
            datetime x2 = ObjectGet(label, OBJPROP_TIME2);
            if(x1 < now && x2 < now) continue;
         }
         cprice = GetCurrentPriceOfLine(label, shift);
         trendline = true;
      } else if(OType == OBJ_HLINE ) {
         cprice = ObjectGet(label, OBJPROP_PRICE1);
         hline = true;
      } else {
         continue;
      }

      // Breakouts and false breakouts of trendlines and hlines
      if(MA>cprice &&Ask<cprice)
      {
         if(trendline) { return(OP_BUY_); } else if(hline) { return(OP_BUY_); }
      } else if (MA>cprice &&Ask<cprice) {
        if(trendline) { return(OP_SELL_); } else if(hline) { return(OP_SELL_); }    
      }
     }
   return(EMPTY_VALUE);       
}

double GetCurrentPriceOfLine(string label, int shift)
{
   double price1 = ObjectGet(label, OBJPROP_PRICE1);
   double price2 = ObjectGet(label, OBJPROP_PRICE2);
   datetime d1   = ObjectGet(label, OBJPROP_TIME1);
   datetime d2   = ObjectGet(label, OBJPROP_TIME2);
   int shiftfrom = iBarShift(Symbol(), 0, d1, false);
   int shiftto   = iBarShift(Symbol(), 0, d2, false);
   int lapse = MathAbs(shiftto - shiftfrom);
   int distance = MathAbs(shift - shiftfrom);
   double pendiente = (price2 - price1) / lapse;
   double cpoint = price1 + (distance * pendiente);
   return(cpoint);
}
  //-------------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   int    res;

//--------------------------------------------------------------------+
//---- buy conditions 
 if(OP_BUY_&&b_1)
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-(StopLoss*Point),Ask+TakeProfit*Point," VV",MAGIC,0,Green);
      b_1=false; s_1=true; 
      return;
     }  

//---- sell conditions
     if(OP_SELL_&&s_1)
 {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+(StopLoss*Point),Bid-TakeProfit*Point," VV",MAGIC,0,Red);
        s_1=false;b_1=true;
      return;
     } 
//----
  }

//+------------------------------------------------------------------+
//| Start function                                                   |
//+------------------------------------------------------------------+
void start()
  {
//---- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false) return;

//---- calculate open orders by current symbol
   if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
  }   

//+------------------------------------------------------------------+
//|---------------------------// END //------------------------------|
//+------------------------------------------------------------------+
 
LRA:

Cargué el programa en el bloc de notas y borré las líneas en blanco. Se hizo posible cubrir con una mirada. Pulsar el botón SRC y pegar. Esto es lo que surgió. 1) ¿Por qué habría que definir

si ya tenemos OP_BUY=0 y OP_SELL=1

2) La raíz de todo mal está en este fragmento. Una misma condición (MA>cprice &&Ask<cprice) se comprueba dos veces, y se toman decisiones diferentes.

3) Después cada rama realiza comprobaciones pero el resultado sigue siendo el mismo

La línea anterior puede simplificarse y escribirse como sigue


Gracias por la respuesta, pero sigue abriendo sólo SELL, según veo ya que OP_SELL = 1. Esta condición se cumple siempre. Lo reescribí así

Las órdenes han dejado de abrirse, en mi opinión, int CheckBreakoutLines(int shift) no funciona.

//+------------------------------------------------------------------+
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                             http://www.mql4.com/ru/users/rustein |
//+------------------------------------------------------------------+
#define  MAGIC  131313 // открытие внутрь канала
//---------------------------------------
extern int TF=15;
extern int    StopLoss          = 300;
extern double TakeProfit = 3000;
extern int Per_MA= 20;
extern double Lots              = 0.1;
extern double MaximumRisk       = 1;
extern double DecreaseFactor    = 0;
bool OP_BUY_= false;   
bool OP_SELL_ =false;   

bool b_1=true, s_1=true;

//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
 double MA=iMA(NULL,TF,Per_MA,0,0,0,1);
int CalculateCurrentOrders(string symbol)
  {
   int buys=0,sells=0;
//----
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//---- return orders volume
   if(buys>0) return(buys);
   else       return(-sells);
  }

//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break
//---- select lot size
  //lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,2);
   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/100/MarketInfo(Symbol(),MODE_TICKVALUE)/StopLoss,2);
//---- calcuulate number of losses orders without a break
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
         //----
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,2);
     }
//---- return lot size
   if(lot<0.01) lot=0.01;
   return(lot);
  }
  //-------------------------------------------------

  /* эта часть из индикатора*/
  int CheckBreakoutLines(int shift)
{
   // Total Objects 
   int obj_total = ObjectsTotal();
   // Time of bar 
   datetime now = Time[shift];
   // Iterate
   for(int i = obj_total - 1; i >= 0; i--)
   {
      // Object name
      string label = ObjectName(i);
      // Types
      int OType = ObjectType(label);
      bool trendline = false;
      bool hline = false;
      // Price to evaluate
      double cprice = 0;
      // Trendlines
      if(OType == OBJ_TREND )
      {
         bool ray = ObjectGet(label, OBJPROP_RAY);
         if(!ray)
         {
            datetime x1 = ObjectGet(label, OBJPROP_TIME1);
            datetime x2 = ObjectGet(label, OBJPROP_TIME2);
            if(x1 < now && x2 < now) continue;
         }
         cprice = GetCurrentPriceOfLine(label, shift);
         trendline = true;
      } else if(OType == OBJ_HLINE ) {
         cprice = ObjectGet(label, OBJPROP_PRICE1);
         hline = true;
      } else {
         continue;
      }
      // Breakouts and false breakouts of trendlines and hlines
      if(MA>cprice &&Ask<cprice)
      {OP_BUY_= true;
         if(trendline ||hline)  return (OP_BUY_); 
      } else if (MA<cprice &&Bid>cprice) {OP_SELL_ =true;
        if(trendline ||hline)  return (OP_SELL_);     
      }
     }
   return(EMPTY_VALUE);       
}

double GetCurrentPriceOfLine(string label, int shift)
{
   double price1 = ObjectGet(label, OBJPROP_PRICE1);
   double price2 = ObjectGet(label, OBJPROP_PRICE2);
   datetime d1   = ObjectGet(label, OBJPROP_TIME1);
   datetime d2   = ObjectGet(label, OBJPROP_TIME2);
   int shiftfrom = iBarShift(Symbol(), 0, d1, false);
   int shiftto   = iBarShift(Symbol(), 0, d2, false);
   int lapse = MathAbs(shiftto - shiftfrom);
   int distance = MathAbs(shift - shiftfrom);
   double pendiente = (price2 - price1) / lapse;
   double cpoint = price1 + (distance * pendiente);
   return(cpoint);
}
  //-------------------------------------------------------------------------------------------------------------

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   int    res;

//--------------------------------------------------------------------+
//---- buy conditions 
 if(OP_BUY_&&b_1)
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-(StopLoss*Point),Ask+TakeProfit*Point," VV",MAGIC,0,Green);
      b_1=false; s_1=true; 
      return;
     }  

//---- sell conditions
     if(OP_SELL_ &&s_1)
 {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+(StopLoss*Point),Bid-TakeProfit*Point," VV",MAGIC,0,Red);
        s_1=false;b_1=true;
      return;
     } 
//----
  }

//+------------------------------------------------------------------+
//| Start function                                                   |
//+------------------------------------------------------------------+
void start()
  {
//---- check for history and trading
   if(Bars<100 || IsTradeAllowed()==false) return;
//---- calculate open orders by current symbol
   if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
  }   

//+------------------------------------------------------------------+
//|---------------------------// END //------------------------------|
//+------------------------------------------------------------------+
Warstein
Warstein
  • www.mql5.com
Профиль трейдера
 

Estimados profesionales. ¿Qué debo hacer antes de instalar MT4 o después de hacerlo para que después el historial de cotizaciones se escriba/lea desde cualquier disco excepto el del sistema o NO es posible?

MT4 de todos los corredores de volcar todo a C:\ ~ Users\\AppData\Roaming\MetaQuotes\Terminal\100.......001\history\loads (para cada corredor y para cada su terminal, respectivamente). Dos MT4 en dos brokers para 3-4 pares se comieron 25GB, es decir, toda la memoria libre. También se cargan las cotizaciones necesarias en el probador C:\sers\.......\tester\history.

Por favor, ayuda consejo, sin tener en cuenta la reinstalación de Windows(tengo 7) con reasignación de tamaños de disco. ¿Quizás estoy haciendo algo mal? Si me lo he perdido y ya se ha hablado de ello en algún sitio, por favor, lánzame un enlace...

Gracias de antemano.

 
piranija:

Estimados profesionales. ¿Qué debo hacer antes de instalar MT4 o después de hacerlo para que después el historial de cotizaciones se escriba/lea desde cualquier disco excepto el del sistema o NO es posible?

MT4 de todos los corredores de volcar todo a C:\ ~ Users\\AppData\Roaming\MetaQuotes\Terminal\100.......001\history\loads (para cada corredor y para cada su terminal, respectivamente). Dos MT4 en dos brokers para 3-4 pares se comieron 25GB, es decir, toda la memoria libre. También se cargan las cotizaciones necesarias en el probador C:\sers\.......\tester\history.

Por favor, ayuda consejo, sin tener en cuenta la reinstalación de Windows(tengo 7) con reasignación de tamaños de disco. ¿Quizás estoy haciendo algo mal? Si me lo he perdido y ya se ha hablado de ello en algún sitio, por favor, lánzame un enlace...

Gracias de antemano.

Simplemente copie toda la carpeta del terminal a una unidad que no sea del sistema, cree un acceso directo a ella y escriba el interruptor /portable


Razón de la queja: