Ошибка компиляции

 

Здравствуйте. При попытке вывода

Print("Свободная маржа счета = ",AccountFreeMargin());

дает ошибку

'AccountFreeMargin' - ambiguous call to overloaded function with the same parameters

Подскажите пожалуйста так как не нашел.

Спасибо. 


 
tradetrade777:

Здравствуйте. При попытке вывода

дает ошибку

'AccountFreeMargin' - ambiguous call to overloaded function with the same parameters

Подскажите пожалуйста так как не нашел.

Спасибо. 


  1. Правильно вставляем код на форуме
  2. Вы ведь в MQL4 пишите?
  3. Больше в коде нигде не объявляли функцию AccountFreeMargin()?
 

extern bool AccountEquityPrint = true;
double AccountEquity();
double AccountFreeMargin();

void OnTick()
  {

   if(AccountEquityPrint==true)
     {
      Print("**************** AccountEquity = ",AccountEquity());
      Print("Свободная маржа счета = ",AccountFreeMargin());
     }
  }
 
tradetrade777:

Это MQL4 код? Если так, то в названии тему, указывайте, пожалуйста.
 
Karputov Vladimir:
Это MQL4 код? Если так, то в названии тему, указывайте, пожалуйста.
думаю отличие в исправленни системной ошибки не будет. Да ето 4-ка. Спасибо
 
tradetrade777:
думаю отличие в исправленни системной ошибки не будет. Да ето 4-ка. Спасибо

Вы пытаетесь переопределить системные функцию AccountFreeMargin. в этой строке:

double AccountFreeMargin();

Это ошибка, о чём Вам компилятор и сообщает.

AccountFreeMargin - Документация на MQL4
  • docs.mql4.com
AccountFreeMargin - Документация на MQL4
 
Всем спасибо нашел ошибку... думал что нужно объявлять тип функции.
 
tradetrade777:
Всем спасибо нашел ошибку... думал что нужно объявлять тип функции.
Нашел он, прям-таки самостоятельно, после того, как Барабашка именно про это и говорил )))
 
Да, таки самостоятельно так как вовсе не понял что такое переопределение функции. и почему не нужно объявлять... пробовал разные варианты вот и вышло. Не кипятитесь попросту и не трольте... Не к чему... 
 
в общем всем спасибо.
 
tradetrade777:
Да, таки самостоятельно так как вовсе не понял что такое переопределение функции. и почему не нужно объявлять... пробовал разные варианты вот и вышло. Не кипятитесь попросту и не трольте... Не к чему... 
Если есть такая MQL4 системная функция (в данном случае это AccountFreeMargin), то Вы не можете в своём коде объявлять функции и переменные с таким-же именем. Потому-что нельзя.
AccountFreeMargin - Документация на MQL4
  • docs.mql4.com
AccountFreeMargin - Документация на MQL4
Причина обращения: