ошибка при запуске советника. not enough money.

 

Добрый день. Автоматический валидатор выдает при загрузке советника такую ошибку:

2020.07.02 06:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 06:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.22, FreeMargin: -14.53 2020.07.02 06:00:00 not enough money [instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078] 2020.07.02 06:00:00 failed instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078 [No money] 2020.07.02 07:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 07:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.26, FreeMargin: -14.57 2020.07.02 07:00:00 not enough money [instant buy 0.2 EURUSD at 1.12632 sl: 1.12102 tp: 1.13102]

подскажите, как ее убрать?(желательно практическое руководство, куда нажать, мб что-то в код дописать и тд)

Заранее спасибо.

 
Когда валидатор выдаёт ошибку - он сразу даёт ссылку на статью. В статье указаны самые распространённые ошибки.
 
Vladimir Karputov:
Когда валидатор выдаёт ошибку - он сразу даёт ссылку на статью. В статье указаны самые распространённые ошибки.

ссылаясь на инструкцию в статье, нужно увеличить кол-во маржи, то есть депозит увеличить/кредитное плечо. Сделав эти действия, данная ошибка все равно появляется.

Следовательно, что-то делаю не так, какие-то иные практические советы были бы полезны в данном вопросе.

 
Anna Korytina:

ссылаясь на инструкцию в статье, нужно увеличить кол-во маржи, то есть депозит увеличить/кредитное плечо. Сделав эти действия, данная ошибка все равно появляется.

Следовательно, что-то делаю не так, какие-то иные практические советы были бы полезны в данном вопросе.

Работать строго по статье. Как дополнение при расчете маржи немного завышать требования - таким образом оставляя подушку безопасности. 

 
Вот в этой части статьи есть примеры коды и что делать при такой ошибке:
Нехватка средств для проведения торговой операции
Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Anna Korytina:

Добрый день. Автоматический валидатор выдает при загрузке советника такую ошибку:

2020.07.02 06:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 06:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.22, FreeMargin: -14.53 2020.07.02 06:00:00 not enough money [instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078] 2020.07.02 06:00:00 failed instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078 [No money] 2020.07.02 07:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 07:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.26, FreeMargin: -14.57 2020.07.02 07:00:00 not enough money [instant buy 0.2 EURUSD at 1.12632 sl: 1.12102 tp: 1.13102]

подскажите, как ее убрать?(желательно практическое руководство, куда нажать, мб что-то в код дописать и тд)

Заранее спасибо.

Если по-русски, то тупо денег не хватает для открытия ордера на buy с лотом 0.2.
Остальное это косяки советника почему не проверяет маржу и деп и т.д.
 
Anna Korytina:

Добрый день. Автоматический валидатор выдает при загрузке советника такую ошибку:

2020.07.02 06:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 06:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.22, FreeMargin: -14.53 2020.07.02 06:00:00 not enough money [instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078] 2020.07.02 06:00:00 failed instant buy 0.2 EURUSD at 1.12608 sl: 1.12078 tp: 1.13078 [No money] 2020.07.02 07:00:00 current account state: Balance: 210.69, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 0.00, FreeMargin: 210.69 2020.07.02 07:00:00 calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 210.69, Margin: 225.26, FreeMargin: -14.57 2020.07.02 07:00:00 not enough money [instant buy 0.2 EURUSD at 1.12632 sl: 1.12102 tp: 1.13102]

подскажите, как ее убрать?(желательно практическое руководство, куда нажать, мб что-то в код дописать и тд)

Заранее спасибо.

Мне помогло после проверки на нехватку средств, если не хватает, остановить работу советника и вывести Алерт о нехватке средств.
 
Valeriy Yastremskiy:
Мне помогло после проверки на нехватку средств, если не хватает, остановить работу советника и вывести Алерт о нехватке средств.
void OnTick()    // Функция start() раньше называлась
  {

   if(Work==false) // Критическая ошибка
     {
      if(AlertWork==false)   // Если Алерта еще не было
        {  Alert("Critical error. The expert Advisor doesn't work."); AlertWork=true; }
      return;
     }                                  // Выход из ОнТик()

.....
}
 
Valeriy Yastremskiy:
Мне помогло после проверки на нехватку средств, если не хватает, остановить работу советника и вывести Алерт о нехватке средств.

Здесь рабочая часть: остановить работу советника; Алерт - из чёрной магии,- на любителя. 

Просто, алгоритм устроен так, что очередная операция невыполнима; при этом запуск с чистого листа избавляет от "нажитого". 

 
Да уж. Столкнулся с такой ситуацией, что маржа за 1 лот растет прогрессивно. Скажем, открыли сделку 10 лот, всё правильно, советник заранее считает нужную маржу, разрешает отправить ордер. Проверка достаточности средств в функции отправки торговой операции тоже пропускает. Далее, открываем еще одну сделку, скажем 1 лот, а брокер уже за этот дополнительный лот берет маржи как за 10. Советник ордер пропускает, а брокер не открывает и выдаёт No money. Кто-то с таким сталкивался? Как заранее проверить такое?