Aprender e escrever juntos em MQL5 - página 12

 
Quando as variáveis globais são declaradas no EA e depois testadas, as variáveis globais não aparecem em /Service/ -> /Global Variables/ do terminal?
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 

m_a_sim:
Когда объявляются глобальные переменные в советнике, а потом он тестируется, то глобальные переменные не появляются в /Сервис/ -> /Глобальные переменные/ терминала?

Na sua pergunta há uma ligação directa à secção 'Global Variables'. Ver a Nota para esta secção.
 
Yedelkin:
Na sua pergunta há uma ligação directa à secção'Global Variables'. Veja a Nota desta secção.
há uma referência a variáveis globais que são declaradas globalmente, ou seja, não localmente, e refiro-me a variáveis GlobalVariableSet()
 
Qualquer pessoa pode dar-lhe um bom código para calcular o lote, o que depende do risco, ou seja, se fechar num determinado lote, 5% do saldo será perdido (por exemplo). 5% é o risco
 

m_a_sim:
там сылка на глобальные переменные, которые объявлены глобально, т.е. не локально, а я имею ввиду переменные  GlobalVariableSet()

Infelizmente, não posso dizer nada sobre o caso quando as variáveis GlobalVariableSet() são declaradas na EA.
 
m_a_sim:
Se puder dar um código competente para calcular o lote, o que depende do risco, ou seja, ao fechar no L para um determinado lote, perder-se-á (por exemplo) 5% do saldo. 5% é o risco.

Tal questão foi levantada várias vezes no fórum. Se bem me lembro, uma das soluções foi sugerida neste fio na Primavera.

 
Yedelkin:

Esta questão foi levantada várias vezes no fórum. Dê uma vista de olhos através do motor de busca. Se bem me lembro, na Primavera, uma das soluções foi sugerida neste fio.

Encontrei o código de que preciso mas é para mql4, alguém me pode ajudar a modificá-lo para mql5?

extern double ExtMaximumRisk=0.05;             // 5% by default
 
//--- calculate current volume
double CalculateVolume()
  {
   double lot_min =MarketInfo(Symbol(),MODE_MINLOT);
   double lot_max =MarketInfo(Symbol(),MODE_MAXLOT);
   double lot_step=MarketInfo(Symbol(),MODE_LOTSTEP);
   double contract=MarketInfo(Symbol(),MODE_LOTSIZE);
   double vol;
//--- check data
   if(lot_min<0 || lot_max<=0.0 || lot_step<=0.0) 
     {
      Print("CalculateVolume: invalid MarketInfo() results [",lot_min,",",lot_max,",",lot_step,"]");
      return(0);
     }
   if(AccountLeverage()<=0)
     {
      Print("CalculateVolume: invalid AccountLeverage() [",AccountLeverage(),"]");
      return(0);
     }
//--- basic formula
   vol=NormalizeDouble(AccountFreeMargin()*ExtMaximumRisk*AccountLeverage()/contract,2);
//--- additional calculation
//   ...
//--- check min, max and step
   vol=NormalizeDouble(vol/lot_step,0)*lot_step;
   if(vol<lot_min) vol=lot_min;
   if(vol>lot_max) vol=lot_max;
//---
   return(vol);
  }
 
m_a_sim:

Sim encontrei o código de que preciso, mas está em mql4, alguém me pode ajudar a modificá-lo para mql5?

Não, no website mql5.com todos os códigos foram concebidos em MQL5.
 
Yedelkin:
Não, em mql5.com todos os códigos foram concebidos em MQL5.
não é disso que estamos a falar
 
m_a_sim:
Não é disso que estamos a falar.

Estranho. É necessário o código para MQL5, que já deve estar no sítio web. Tudo o que tem de fazer é pesquisar. É exactamente disso que estou a falar.

No entanto, a decisão é sua.