Codebase - как не надо делать индикаторы?
Открываем RMI... https://protrader.org/codebase/indicators/relative...
Конструкция в NextBar() - не нужна. NextBar() всегда вызывается перед OnQuote(). Станно, если бы это было не так.
Метод IsHistoryLoaded() - не нужен. Достаточно проверить, хватает ли баров для расчета моментума и по нему RSI.
Логика в OnPaintChart(...) создает недоступные в настройках индикатора уровни, к тому же выпирающие за правую границу индикатора.
Для построения уровней есть метод SetLevelLine("Upper", 70, Color.DimGray, 1, LineStyle.SimpleChart);
Очевидно, что автор кода PTMC API не знает, примеры, которые идут с PTMC не изучал. А так же код этот никто, кто знает как писать индикаторы для PTMC перед публикацией не проверял.
Зачем тогда он нужен?
Это пример как не надо писать индикаторы.
Ещё вопрос - зачем в Codebase целые проекты / решения?
Какому проценту пользователей это нужно?
Зачем ради файла в один килобайт качать десять мегабайт?
Лучше сделать импорт скриптов в PTMC в один - два клика.
Добрый день Сергей, спасибо за Ваш интерес к нашей платформе!
Не думаю, что публикация кода, в котором для постоения уровня вместо одной строчки
кода используется десять поспособствует популяризации платформы.
Точно такие же начинающие начинающие будут введены в заблуждение.
Тогда уж надо предупреждать, это это не образцовый пример, и публиковать образцовые.
Или комментировать, как можно сделать правильно.
А лучше всё - таки авторам изучить примеры и документацию,
а администрации не публиковать неправильный код.
Здравствуйте, Сергей.
"Конструкция в NextBar() - не нужна. NextBar() всегда вызывается перед OnQuote(). Станно, если бы это было не так. Метод IsHistoryLoaded() - не нужен. Достаточно проверить, хватает ли баров для расчета моментума и по нему RSI." - да, полагаю при должном усердии, их действительно можно опустить. Программирование, как путешествие из точки А в точку Б. Можно пойти короткой дорогой, а можно долго обходить. Проблема молодых специалистов - лишние движения.
"Логика в OnPaintChart(...) создает недоступные в настройках индикатора уровни, к тому же выпирающие за правую границу индикатора." - возможно, я действительно, не достаточно хорошо изучил PTMC API раз метод SetLevelLine выпал из моей памяти. Чтобы не создавать маркеров со значениями уровней, которые закрывали бы маркер основной линии, я решил что лучше чтобы линии уровней выходили за рамки индикатора в направлении шкалы. Логика метода OnPaintChart была порождена желанием создать, в некоторой степени, подобное SetLevelLine поведение.
Я согласен что код не идеален, но одна из идей community - помогать друг-другу создавать действительно качественный продукт. Конструктивная критика и предложения со стороны community помогают мне (нам) стать лучше.