'MACD Sample.mq5' Предлагаю обсудить алгоритм первого публичного советника разработчиков MQL5

 
Вот, наконец, разработчики представили вполне рабочую версию советника на MQL5. Есть люди, которые хорошо понимают его структуру, есть такие, что не очень.  Предлагаю обсудить, разобрать его работу тут, чтобы не отвлекать метаквотов и не захламлять основную ветку про тестирование. Короче вопросов много, тех кто ответить может, тоже достаточно. Прошу.
 

Вот и мой вопрос.

Не могу понять для чего используются переменные с добавкой adjust

bool CSampleExpert::Init()
  {
//--- initialize common information
   m_symbol.Name(Symbol());              // symbol
   m_trade.SetExpertMagicNumber(12345);  // magic
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10;

   m_adjusted_point=m_symbol.Point()*digits_adjust;
//--- set default deviation for trading in adjusted points
   m_trade.SetDeviationInPoints(3*digits_adjust);
//---
   if(!InitCheckParameters(digits_adjust)) return(false);
   if(!InitIndicators())                   return(false);
//--- ok
   return(true);
  }

К чему это упорядочивание приводит, и почему только для такого количества digits как 3 или 5 ? Для чего это?

 Господа, подключайтесь, можно всем вместе массу вопросов решить!

 

pronych писал(а) >>

Не могу понять для чего используются переменные с добавкой adjust

Подгонка пятизнака под привычный для четырехзнака вид.
 
TheXpert >>:
Подгонка пятизнака под привычный для четырехзнака вид.


    Тогда я действительно чего-то не понимаю. А разве нам не надо в запросе выставлять цену с точностью до digits, и в итоге расчитывать её таким образом, чтоб от количества цифр после запятой это не зависело? Или это только для того чтоб мы не путались, выставляя трелинг и SL в пунктах? Похоже, это просто усложнение для упрощения. ))
 
Ну, это кому как удобнее. Вообще, эта тема чисто к 5-ке отношения не имеет, и это обсуждалось совсем недавно (в очередной раз))). Полистайте - это где-то рядом. Там про 5-й знак в сабже. В т.ч. там был и этот способ, что в примере.
 
pronych >>: Или это только для того чтоб мы не путались, выставляя трелинг и SL в пунктах? Похоже, это просто усложнение для упрощения. ))

ИМХО, это усложнение для усложнения.

 

В советнике реализован учет структуры совокупной позиции, чтобы можно было запускать несколько таких советников независимо друг от друга? Спрашиваю, потому что кода не видел. 

Просьба, приложите код для большей полноценности ветки.

Причина обращения: