Приветствуем.
Работая с программой TSLab, иногда, а иногда часто), возникают пожелания, в виде необходимости новых блоков, которые в составе софта отсутствуют. Многие сложности, на самом деле решаемы имеющимся функционалом, хотя иногда конечно не обойтись без программирования.
В комментариях к предыдущей статье, попросили добавить блок — месяц года. Просто взять и добавить блок — чаще всего это цикл через 6 рук пройдет от тикета с требованием к реализации, далее принятие решение о срочности и тд и тп. не суть важна в бюрократии, а в том что сделать можно все своими руками!
Итак начнем. В тслаб имеется блок — дата, который транслирует дату в формате ггммдд, его и будем использовать чтобы получить месяцы.
Первый и самый важный шаг — вывести блок дата на график, чтобы узнать о формате, так как в разных блоках могут быть разные вариации написания.
Следующий шаг — построить логику в голове, каким образом достать месяц из данного варианта формата. Прежде всего не воспринимаем это как дату, а принимаем ее за обычную цифру. 161122. Чтобы добраться до месяцев — мне нужно прежде всего исключить год.
Значит мне нужно привести цифру к виду 160000, далее из даты вычитаем ее и получаем остаток — то есть 1122
Чтобы получить такой вариант — достаточно использовать матметод которые уже встроены в редактор формулы. (Math.Truncate(Дата/10000))*10000
Получаем для начала 161122 делим на 10 000 и получится цифра 16,1122, а используемый метод убирает десятичные и остается целое число 16 которое умножив на 10к получим необходимое значение.
Далее процедуру нужно повторить с остатком из разницы на предыдущем шаге. Math.Truncate(Формула1/100) Таким образом мы получаем месяц года в понятном формате 1, 2, 3....12.
Ну, и чтобы не делать такие блоки каждый раз, когда они необходимы, достаточно создать свой собственный индикатор и пользоваться когда он нужен. Ниже скрин как создать индикатор, это всего 6 блоков
Самые «ленивые» же, могут скачать готовый собранный индикатор.))
Пишите так же свои пожелания и трудности, в комментариях. Всегда открытое общение так же в нашем телеграмм канале.
Разные люди ведут блог или один и тот же чел? Почему анонимно?
Не критика, обоснованное пожелание. Примите как лекарство.
Чисто профилактическое — витаминка )
Если формат кубика "Дата" "ггммдд", то достаточно сделать
(Convert.ToInt32(Дата) % 10000 ) / 100
Сделайте пожалуйста кубик "Купить по рынку прямо сейчас наплевать на всё и никаких отложений в Менеджер Команд". Чтобы он срабатывал независимо от настроек Торгового Агента и фаз Луны.
Компания TSLab, оказывается, недостаточно. Если бы всё было так просто, человек с моим опытом не просил бы Вас сделать такой кубик. Понятно, можно и самому написать (теоретически). Но хотелось бы некоторое стандартное решение. Проверенное Вашими тестерами и армией других Пользователей.
ПС Не хотел вдаваться в подробности. В 2-х словах суть проблемы: при каких-то непонятных мне обстоятельствах программа почему-то решает что "Сигнал на открытие позиции пропущен" и несмотря на использование в схеме кубика "Открыть позицию по рынку" позиция не открывается, на графике рисуются желтые маркеры пропущенной сделки и далее меня посылают в… Менеджер Команд, конечно.
Первые несколько раз было смешно. Попытка воспроизвести ситуацию на модельном примере проблему не повторила. Получается, что «специфика исполнения» происходит только во время реальной торговли на реальном боевом алгоритме.
=) Заговор, однако.
Компания TSLab, Вот и нужен кубик, который будет свободен от этих мерехлюндий. Соединение с брокером есть? Есть. Оно рвалось в этот момент? Нет. Статус коннектора не поменялся с зеленого на какой-то иной цвет.
Будьте любезны швырнуть рыночную заявку в рынок.
Носорог, видимо, здесь речь о том, что было бы правильно дать возможность Пользователям самим форматировать числа в элементах управления на Контрольной Панели?
Например, при использовании GridPane (вывод данных в табличном виде) у нас есть возможность указывать формат отображения чисел. Нужна аналогичная возможность для NumericValue и NumericUpDown.
=) Пишем все вместе запрос в техподдержку и со временем эта возможность обязательно появится.
А вот кубик на безусловный вывод заявок в рынок, видимо, придется писать самим. Чувствуется по разговору (по его отсутствию), что проблематика не была до конца понята вышестоящим начальством...
«было бы правильно дать возможность Пользователям самим форматировать числа в элементах управления на Контрольной Панели» — это идеальная формулировка мысли, которую я пытался передать :)