Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сергей!
Вот для таких ситуаций и существуют коды возврата торгового сервера.
Пример: Вы проверили наличие свободных средств и получили утвердительный результат.
Отсылаете ордер, а он не был принят (как Вы сказали : "Да мало ли что может произойти "),
так вот торговый сервер вернёт Вам в коде возврата ошибку "Недостаточно средств".
Михаил, Вы правда думаете, что я это не понимаю? :)
Окей, переведу свою фразу и мысль статьи: сначала делаем предварительную проверку, а потом проверяем результат. Я не зацикливаюсь на торговле (для неё да, это коды возврата торгового сервера), т.к. это может быть что угодно:
1) Например файл: сначала проверили, существует ли такой файл, если нет, то создали и записали в него данные. После проверили, что получилось
2) Например граф. объект: сначала проверили, существует ли такой объект. Если нет, то создали, иначе подвинули (если координаты изменились). Потом проверили, что получилось.
и т.д. Почти что угодно, что зависит от чего-то другого и может завершиться неудачей.
Итак, давайте всё таки определимся/подытожим. Ваша основная претензия в том, что не рассмотрены коды возвратов ошибок торгового сервера и возможные реакции программы на них?
По первому - всё это есть в документации.
По второму - мне кажется, что если прочитать статью, то возможные реакции станут очевидны.
Но если Вы со мной не согласны, то самое простое решение - написать статью целиком об этом. Лично я не считаю это столь необходимым, чтобы самому об этом писать. Если для Вас это настолько важно, то пожалуйста, сделайте это. Я уверен, что у Вас получится лучше, чем у меня, ведь у Вас есть явный интерес конкретно к этому.
P.S. я уверен, что MQL4/5 это не только советники. Очевидно, что для Вас это в основном они. Но к примеру за последние два месяца я сделал раза в два больше индикаторов, чем советников. Так что всё очень субъективно.
Сергей!
У меня нет претензий к Вашей статье.
по поводу эффективности логгера... На ЯП java тоже сначала сделали логгер, а потом долго мучались.
В java эту проблему решили с помощью var args, которые недоступны в MQL4/5. В чем проблема ? - сначала мы вызываем функции error.toString() потом конкатенируем все стринги в функции `CLogger::log(string1 + string2 + string3...); ` а лишь в конце проверяем - надо ли полученный стринг печатать.
Что бы я предложил взамен? - ничего нового, то что фактически стало стандартом в той же яве:
`if(CLogger::isLevel(LOG_LEVEL_INFO))
CLogger::log(string1 + string2 + string3);`
конечно в этом случае нужно иметь различные логгеры для записи в файле, printf и прочих.
Всё завязано на один файл только. Что если надо вести два? Что если что-то надо лишь только принтить, а что-то писать в файл? Нет гибкости. Надо не через дефайн делать вызов, а через создание объекта.
Или например, хочу принтить и писать в файл. Или надо отправлять пуш и отправлять емэйл одновременно.