Проверка робота для Маркета
Кто знает, как исправить? Вот скрин ошибки и часть кода
Проверка попросту не сделана. Функция вызвана и на том все. В документации все описано и пример использования есть.
AccountFreeMarginCheck
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
double AccountFreeMarginCheck( |
Проверка попросту не сделана. Функция вызвана и на том все. В документации все описано и пример использования есть.
AccountFreeMarginCheck
Возвращает размер свободных средств, которые останутся после открытия указанного ордера по текущей цене на текущем счете.
double AccountFreeMarginCheck( |
Благодарю за помощь, действительно упустил это из документации.
Доработал код
if (AccountFreeMarginCheck(Symbol(), OP_BUY, lot) && GetLastError() != 134) result = OrderSend(Symbol(), OP_BUY, lot, price, orderSlippage(), sl, tp, systemGetName(), SystemMagic, 0, clrBlue);
Жду результата от тестера :)
Благодарю за помощь, действительно упустил это из документации.
Доработал код
if (AccountFreeMarginCheck(Symbol(), OP_BUY, lot) && GetLastError() != 134) result = OrderSend(Symbol(), OP_BUY, lot, price, orderSlippage(), sl, tp, systemGetName(), SystemMagic, 0, clrBlue);
Жду результата от тестера :)
Код лучше не стал, всё так же функция только вызывается, а с результатом вызова ничего не делается. Хоть сравните возвращаемое значение с какой-то суммой, чтоли...
Благодарю за помощь, действительно упустил это из документации.
Доработал код
Жду результата от тестера :)
AccountFreeMarginCheck возвращает не булево значение, а double. Вы же результат работы функции используете в операторе if. При любом значении функции AccountFreeMarginCheck отличном от нуля результат при неявном преобразовании типов будет true.
Более правильным будет написать:
if ((AccountFreeMarginCheck(Symbol(), OP_BUY, lot)>0) && GetLastError() != 134)
....
Теперь понятно почему многие на сервис маркет жалуются.
AccountFreeMarginCheck возвращает не булево значение, а double. Вы же результат работы функции используете в операторе if. При любом значении функции AccountFreeMarginCheck отличном от нуля результат при неявном преобразовании типов будет true.
Более правильным будет написать:
....
Теперь понятно почему многие на сервис маркет жалуются.
Жалуются не только те, кто не может пройти проверку из-за невнимательности. Жалуются также и те, кто сделал код 2 недели назад, он прошел проверку, с тех пор реально мало что изменилось, но новая версия проверку пройти уже не может. И все изменения в новой версии касаются 2 строк и не касаются определения объема!! Со вчерашнего дня вижу ошибку no trading operations, может праздники, и проверка пока отключена?!
Я имел в виду жалобы покупателей. Покупают продукты написанные в "индусском стиле" содержащие вот такие глупые логические ошибки (пример которой можно увидеть выше) из за того что автор или вообще не умеет программировать и не видит разницы между процедурой и функцией или еще только начал изучать язык. Потом на форуме пишут, что маркет превратился в помойку.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день, есть советник, который пробую опубликовать в маркет.
При проверки робота получаю ошибку "not enough money" и рекомендацию по исправлению. Так вот, в коде проверка на FreeMargin имеется, как говорит документация.
Но робот все-равно спотыкается на этот момент.
Кто знает, как исправить? Вот скрин ошибки и часть кода