Почему не работает стандартный рассчёт маржи

 
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  
  
         MqlTick tick;
         SymbolInfoTick(Symbol(),tick);
  
  Print("FREE MARGIN="+AccountInfoDouble(ACCOUNT_MARGIN_FREE));
  m_trade.Buy(NormalizeDouble(0.1,2),Symbol(),tick.ask);
  }
Что за бред функция считает на всех парах.Терминал стандартного  MetaQuest
 
Позиции едут в просадку, свободная маржа уменьшается. Кстати, на Вашем счёте сколько свободных средств (при Вашем плече) нужно на открытие одного лота?
 
Vitaly Murlenko #:
Позиции едут в просадку, свободная маржа уменьшается. Кстати, на Вашем счёте сколько свободных средств (при Вашем плече) нужно на открытие одного лота?

да вопрос в том почему не правильные показатели.Но на удивление уже почему то нормально заработало

 
Dz Mak:
Что за бред функция считает на всех парах.Терминал стандартного  MetaQuest

Вы разные числа сравниваете. Строка в логе, которая начинается со слов "calculated account state", где вы подсветили отрицательную маржу - это оценочная маржа после открытия позиции. Разумеется она не равна той марже, которая сейчас есть на счете. Соответствующее число маржи было показано на предыдущей строке лога сверху ("current account state"), но у вас не хватило ширины картинки, чтобы маржа уместилась.

 
Stanislav Korotky #:

Вы разные числа сравниваете. Строка в логе, которая начинается со слов "calculated account state", где вы подсветили отрицательную маржу - это оценочная маржа после открытия позиции. Разумеется она не равна той марже, которая сейчас есть на счете. Соответствующее число маржи было показано на предыдущей строке лога сверху ("current account state"), но у вас не хватило ширины картинки, чтобы маржа уместилась.

Понятно спасибо.Но весь прикол в том ,что при проверке на достатчное количество маржи для ордера, перед его открытием,с использованием функции выше,он сравнивает именно с той маржой которая подсвечена.В итого проверка не работает правильно (стандартная).С этим бредом ещё буду разбираться,не верится что терминал такие приколы иногда может исполнять