Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1139

 
kuznat399:
Existe algum robô para andróide?


Não há auto-negociação na versão móvel do Metatrader e é improvável que ela apareça num futuro próximo. Se você quiser controlar o robô a partir de seu telefone, você precisa de um VPS que hospedará o terminal com o robô, + software para acesso remoto em seu telefone.
 
Você pode me dizer se a visualização não é exibida no testador (build 1065) - isso pode ser consertado?
 
Abro dez gráficos semanais de pares de moedas em MT5 e 800 megabytes de histórico de carrapatos é carregado no terminal. Ela é constantemente carregada, embora quase não haja mudanças nos gráficos. A questão é por que preciso de histórico de carrapatos, se eu uso apenas gráficos semanais? A propósito, no MT4 os gráficos semanais são abertos instantaneamente e sem demora.
 
sober:
Abro dez gráficos semanais de pares de moedas em MT5 e o terminal carrega 800 megabytes de histórico de carrapatos. Ela é constantemente carregada, embora quase não haja mudanças nos gráficos. A questão é por que preciso de histórico de carrapatos, se eu uso apenas gráficos semanais? A propósito, no MT4 os gráficos semanais abrem instantaneamente sem nenhum atraso.


esta é uma característica do mt5 - carregar tudo no m1 e depois construir o período necessário... ....

e assim a cada vez, para cada símbolo

 
Existem dois blocos de encaixe para MT5 (bloco de colocação de sinal e de pedido e bloco de arrasto). Tomei-o na MQL5. Coloquei os arquivos "MQL5Incluir Sinal de especialista" e "MQL5Incluir Especialista". Estou pedindo ajuda.
 

A idéia da EA é comprar ou vender quando o preço toca um nível horizontal ou uma linha de tendência traçada manualmente. Eu fiz um EA a partir de diferentes EAs e indicadores de trabalho. Mas a EA não funciona. Ou melhor, só abre a SELL sem nenhum sinal no primeiro tique. O que está errado?

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

//| |

//| Copyright © 2010, MetaQuotes Software Corp.

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

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

#define MAGIC 131313 // abrir canal interno

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



TF=15 externo interno;


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

StopLoss int externo = 300;

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



TakeProfit duplo externo = 3000;

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


int externo Per_MA= 20;



//---- constantes


#define OP_BUY_ 0

#define OP_SELL_ 1



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

Lotes duplos externos = 0,1;

duplo externo MaximumRisk = 1;

duplo fator de redução externo = 0;



bool b_1=verdadeiro, s_1=verdadeiro;


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

//| Calcular posições abertas |

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

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





int CalculateCurrentOrders(símbolo de corda)

{

int compra=0,vende=0;

//----

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

{

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

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

{

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

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

}

}

//---- volume de pedidos de devolução

if(compra>0) return(compra);

senão devolve(-sells);

}

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

//| Calcular o tamanho ideal do lote |

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

duplo LotsOptimized()

{

lote duplo=Lotes;

int orders=HistoryTotal(); // histórico total de ordens

int losses=0; // número de ordens de perdas sem intervalo

//---- selecione o tamanho do lote

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

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

//---- calcule o número de ordens de perdas sem uma pausa

if(DiminaseFactor>0)

{

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

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==falso) { Print("Erro na história!"); break; }

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

//----

if(OrderProfit()>0) quebra;

if(OrderProfit()<0) perdas++;

}

if(perdas>1) lote=NormalizarDuplo(lote-lot*losses/DecreaseFactor,2);

}

//---- tamanho do lote de retorno

if(lote<0,01) lote=0,01;

retorno(lote);

}

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

/* esta parte do indicador

int CheckBreakoutLines(int shift)

{

// Total de Objetos

int obj_total = ObjectsTotal();

// Hora do bar

data/hora agora = Hora[turno];

// Iterate

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

{

// Nome do objeto

etiqueta de corda = ObjectName(i);

// Tipos

int OType = ObjectType(etiqueta);

bool trendline = falso;

bool hline = falso;

// Preço a avaliar

duplo cprice = 0;

// Linhas de tendência

if(OType == OBJ_TREND )

{

bool ray = ObjectGet(label, OBJPROP_RAY);

se(!ray)

{

data hora x1 = ObjectGet(etiqueta, OBJPROP_TIME1);

data hora x2 = ObjectGet(etiqueta, OBJPROP_TIME2);

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

}

cprice = GetCurrentPriceOfLine(etiqueta, turno);

linha de tendência = verdadeiro;

} senão se(OType == OBJ_HLINE ) {

cprice = ObjectGet(label, OBJPROP_PRICE1);

hline = verdadeiro;

} senão {

continuar;

}

// Quebras e falsas quebras de linhas de tendência e linhas

if(MA>cprice &&Ask<cprice)

{

if(trendline) { return(OP_BUY_); } senão se(hline) { return(OP_BUY_); }

} senão se (MA>cprice &&Ask<cprice) {

if(trendline) { return(OP_SELL_); } senão se(hline) { return(OP_SELL_); }

}

}

return(EMPTY_VALUE);

}


duplo GetCurrentPriceOfLine(etiqueta de string, int shift)

{

preço duplo1 = ObjectGet(etiqueta, OBJPROP_PRICE1);

preço duplo2 = ObjectGet(etiqueta, OBJPROP_PRICE2);

datatime d1 = ObjectGet(label, OBJPROP_TIME1);

datetime d2 = ObjectGet(label, OBJPROP_TIME2);

int shiftfrom = iBarShift(Símbolo(), 0, d1, falso);

int shiftto = iBarShift(Símbolo(), 0, d2, falso);

int lapse = MathAbs(shiftto - shiftfrom);

int distância = MathAbs(shift - shiftfrom);

pendiente duplo = (preço2 - preço1) / lapso;

duplo cpoint = preço1 + (distância * pendiente);

retorno(cpoint);

}


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

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

//| Verifique as condições de pedidos em aberto |

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

CheckForOpen()

{

int res;


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

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

//---- condições de compra

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=verdadeiro;

retornar;

}


//---- condições de venda

if(OP_SELL_&&s_1)

{

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

s_1=falso;b_1=verdadeiro;

retornar;

}

//----

}


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

//| Função Start |

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

início nulo()

{

//---- verificação de histórico e comércio

if(Bars<100 || IsTradeAllowed()==falso) retorna;

//---- calcular pedidos em aberto pelo símbolo atual

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

}


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

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

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

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

A idéia da EA é comprar ou vender quando o preço toca um nível horizontal ou uma linha de tendência traçada manualmente. Eu fiz um EA a partir de diferentes EAs e indicadores de trabalho. Mas a EA não funciona. Ou melhor, só abre a SELL sem nenhum sinal no primeiro tique. O que está errado?

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

//| |

//| Copyright © 2010, MetaQuotes Software Corp.

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

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

#define MAGIC 131313 // abrir canal interno

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



TF=15 externo interno;


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

StopLoss int externo = 300;

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



TakeProfit duplo externo = 3000;

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


int externo Per_MA= 20;



//---- constantes


#define OP_BUY_ 0

#define OP_SELL_ 1

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

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

//---- verificação de histórico e comércio

if(Bars<100 || IsTradeAllowed()==falso) retorna;

//---- calcular pedidos em aberto pelo símbolo atual

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

}


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

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

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

Carregou o programa no bloco de notas e apagou as linhas em branco. Tornou-se possível cobrir com um relance. Pressionado o botão SRC e colado. Eis o que veio à tona. 1) Por que você precisaria definir

#define  OP_BUY_  0
#define  OP_SELL_ 1

se já tivermos OP_BUY=0 e OP_SELL=1

2) A raiz de todo o mal está neste fragmento. Uma e a mesma condição (MA>cprice &&Ask<cprice) é verificada duas vezes, e decisões diferentes são tomadas.

      // 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) Depois disso, cada filial realiza verificações, mas o resultado ainda é o mesmo

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

De modo geral, a cadeia acima pode ser simplificada e escrita da seguinte forma

          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:

Carregou o programa no bloco de notas e apagou as linhas em branco. Tornou-se possível cobrir com um relance. Pressionado o botão SRC e colado. Eis o que veio à tona. 1) Por que você precisaria definir

se já tivermos OP_BUY=0 e OP_SELL=1

2) A raiz de todo o mal está neste fragmento. Uma e a mesma condição (MA>cprice &&Ask<cprice) é verificada duas vezes, e decisões diferentes são tomadas.

3) Depois disso, cada filial realiza verificações, mas o resultado ainda é o mesmo

A linha acima pode ser simplificada e escrita da seguinte forma


Obrigado pela resposta, mas ainda abre apenas a venda, como eu vejo desde OP_SELL = 1. Esta condição é sempre satisfeita. Eu o reescrevi assim

As ordens deixaram de abrir, em minha opinião, a CheckBreakoutLines(int shift) não 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
Профиль трейдера
 

Prezados Profissionais. O que devo fazer antes de instalar o MT4 ou depois dele para que depois o histórico de cotações seja escrito/lido a partir de qualquer disco, exceto o disco do sistema, ou isso NÃO é possível?

MT4 de todos os corretores descarrega tudo para C:\MAN\AppData\Roaming\MetaQuotes\Terminal\100....... 001history\downloads (para cada corretor e para cada terminal, respectivamente). Dois MT4 em dois corretores para 3-4 pares comeram 25GB, ou seja, toda a memória livre. Também as citações necessárias são carregadas na história do testador C:UUSADORES........

Por favor, ajude a aconselhar, não levando em conta a reinstalação do Windows (eu tenho 7) com a realocação de tamanhos de disco. Talvez eu esteja fazendo algo errado? Se eu perdi e já foi discutido em algum lugar - por favor, atire um link para mim...

Obrigado de antemão.

 
piranija:

Prezados Profissionais. O que devo fazer antes de instalar o MT4 ou depois dele para que depois o histórico de cotações seja escrito/lido a partir de qualquer disco, exceto o disco do sistema, ou isso NÃO é possível?

MT4 de todos os corretores descarrega tudo para C:\MAN\AppData\Roaming\MetaQuotes\Terminal\100....... 001history\downloads (para cada corretor e para cada terminal, respectivamente). Dois MT4 em dois corretores para 3-4 pares comeram 25 GB, ou seja, toda a memória livre. Também as citações necessárias são carregadas na história do testador C:UUSADORES........

Por favor, ajude a não levar em conta a reinstalação do Windows (eu tenho 7) com a realocação de tamanhos de disco. Talvez eu esteja fazendo algo errado? Se eu perdi e já foi discutido em algum lugar - por favor, atire um link para mim...

Obrigado de antemão.

Basta copiar toda a pasta terminal para uma unidade sem sistema, criar um atalho para ela e escrever o interruptor /portátil