Советники: et4 MTC v1

 

et4 MTC v1:

Универсальный шаблон для написания МТС.

Author: Golden Lion

 
Чувствуется влияние МТ3, применяется уже ненужное округление вместо нормализации, не учтена разница по значащим цифрам после запятой для разных интсрументов, нет обработок ошибок торговых операций , возвращаемых сервером. Не документированы функции. Функцию CheckLevels() лучше было обозвать как isNewCandle() или как-то подобно и задать тип булевый, по которому проверялась бы необходимость работы на каждом новом тике.
 
Rosh wrote:
Чувствуется влияние МТ3, применяется уже ненужное округление вместо нормализации.
Да, нет.
МТ3 тут не причем.
В МТ4 функция нормализации не начинается как все математические функции на Math, и я все время забываю как она называется. ;-)

Rosh wrote:

не учтена разница по значащим цифрам после запятой для разных инструментов
Я ничего кроме EURUSD не использую.
А кроме этого написано же ШАБЛОН, зачем его перегружать? Каждый подправит под свои нужды, я не ставил задачи написать супер-пупер непонятно чего делалку.
Стремился написать полностью прозрачный код, который легко понять начинающему и подстроить под свои нужды.

Rosh wrote:

нет обработок ошибок торговых операций , возвращаемых сервером.
Обработка ошибок очень нетривиальная задача, я думаю, Вы со мной согласитесь. В каждом случае ее нужно решать по своему.
Универсальных вещей для обработки ошибок в ШАБЛОНЕ, просто не может быть.

Rosh wrote:

Не документированы функции.
Я же и говорю, код прозрачный, зачем документировать 4 функции название которых говорит само за себя, а тело пустое ?

Rosh wrote:

Функцию CheckLevels() лучше было обозвать как isNewCandle() или как-то подобно и задать тип булевый, по которому проверялась бы необходимость работы на каждом новом тике.
Не учел, что могут воспринять назначение этой функции вот так прямо - в лоб.
Если внимательно посмотреть, то в момент вызова функции CheckLevels() стоит комментарий //устанавливаем признаки, по которым открываемся
надеялся, что будет понятно, что имелось в виду все связанное с анализом ситуации на рынке и подготовка к выставлению ордеров.
Определение начала свечи это сервисная функция, планировалось, что внутри функции CheckLevels() будут определяться условия на вход и выставляться некие флаги, а уже внутри функции OpenPos() производится только анализ этих флагов и выставление ордеров.
Пример реализации простейшей МТС с помощью этого шаблона можно посмотреть здесь.
http://globeinvestfund.com/phpBB/viewtopic.php?t=11
 
Да я просто выскзал пожелания, надеюсь, ничего обидного не сказал. :(
 
Rosh wrote:
Да я просто выскзал пожелания, надеюсь, ничего обидного не сказал. :(
Какие обиды, наверняка не у Вас одного возникли похожие вопросы, вот я и прокомментировал.
 

ВОт тут (http://codebase.mql4.com/ru/code/8078) возникли вопросы по переведнной версии, цитирую:

Hello goldenlion,

Could you describe in English what each the function means?

thank you in advance