Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Файлы внешних блоков, имеющие расширение dll, чтобы быть доступными во вкладке "Пользовательские", просто должны быть скопированы в эту папку. Программа считывает содержимое этой папки и делает его доступным пользователю только в момент своего запуска. Поэтому, если вы скопировали новые блоки в папку Handlers в тот момент, когда программа уже была запущена, просто перезапустите ее и вкладка "Пользовательские" будет пополнена.

Технически файлы, содержащие дополнительные блоки конструктора представляют собой библиотечные файлы с расширением dll. В состав одного файла может входить как один единственный блок, так и целый набор блоков. Наполнение dll-файла целиком зависит от воли его разработчика. Dll-файл получается в результате компиляции программного кода и представляет собой закрытый контейнер, не рассчитанный для внесения каких-либо правок. Если разработчик блока пожелает раскрыть свои карты, он может включить в состав публикуемого блока файл с исходным программным кодом. Если программный код был написан на языке С# (а именно на этом языке написана ТСЛаб), то исходный файл будет иметь расширение cs.

"Внешние" блоки в окне Редактора располагаются в отдельной вкладке "Пользовательские"

Закрытость программно-математического наполнения таких блоков определяется, прежде всего, невозможностью представить все их наполнение в ограниченных визуально-графических  границах таких блоков. Они слишком малы для такого объема информации. Более того, их малый размер как раз и позволяет легко визуально воспринимать всю конструкцию скрипта в целом. В противном случае пришлось бы вспоминать народную поговорку про то, что за деревьями (блоками в данном случае) леса (скрипта) не видно.  Второй момент, который определяет отсутствие доступа через ТСЛаб к наполнению таких блоков – это, как ни странно, их стандартность или очевидность. Зачем спрашивается визуализировать методику расчета какого-либо известного индикатора, если ее можно найти в любом справочнике по техническому анализу? Да и место для размещения конструкции скрипта в окне Редактора хотя и не ограничено, но и его приходится экономить, чтобы свести общую картинку к чему-то, хотя бы относительно поддающему обозрению. Увеличение размеров блоков за счет включения во все из них всего их программно-математического наполнения свести почти на нет всю идею визуального программирования на основе стандартных блоков-подпрограмм.
Именно лаконичность – это одна из самых ценных особенностей этого методического подхода. БЫСТРО собирать инструкцию, не вдаваясь каждый раз в одни и те же детали, оперируя стандартными подпрограммами, БЫСТРО видеть и БЫСТРО понимать увиденное, БЫСТРО находить ошибки – вот основные достоинства такого подхода, которые будут неизбежно похоронены при излишней детализации.

НЕ нашли? Не то? Что вы ищете?

Для открытых блоков – это основная функция. Их используют как раз в ситуациях, когда требуется индивидуальный прием или подход и такие формулы или условия бывают заведомо конкретными и краткими.

Найти внешние блоки с описанием их работы можно на форуме ТСЛаб в ветке "Индикаторы", специально предназначенной для их публикации http://www. tslab. ru/ubb/ubbthreads. php? ubb=postlist&Board=12&page=1. И пусть вас не смущает название ветки. Конечно, в большинстве своем на написание внешнего блока пользователей сподвигает желание воссоздать любимый индикатор, который они полюбили в других подобных программах, но это не значит, что внешний блок, в том числе опубликованный на всеобщее обозрение в этой ветке, может представлять собой только индикатор, а не блок другого технического назначения.

Разделение блоков на внешние и внутренние было создано преднамеренно, чтобы различать элементы конструктора, созданные разработчиками программы ТСЛаб, от творчества продвинутых пользователей программы. Следует понимать, что за корректность работы внешних блоков разработчики не несут никакой ответственности, так как не имеют к их созданию и тестированию никакого отношения.

Блоки-объекты между собой могут соединяются 3 видами связей: (1) несущие логическое значение ИСТИНА или ЛОЖЬ; (2) несущие числовые значения; (3) отображающие графики. Все блоки должны иметь входящие связи. Некоторые блоки должны обязательно иметь исходящие, но для большинства блоков наличие исходящих связей не обязательно, что, впрочем, в таком случае делает эти блоки фактически не участвующими в работе стратегии. То, какие виды связей и в каком количестве использует тот или иной блок, определяется разработчиком блока. Описание блоков, входящих в базовой поставки программы можно найти в справочной системе в разделе "Справочник по элементам визуального программирования". Элементы визуального программирования в данном случае – это и есть блоки. Описание блоков, разработанных пользователями, дается в посте на форуме, созданном специально для публикации каждого конкретного блока.

Соединение блоков между собой происходит методом Drug & Drop, подобно тому, как в операционной системе MS Windows можно подцепить и перенести или скопировать файл из одной папки в другую. В ТСЛаб тот блок, который захватили курсором мышки, будет являться блоком В КОТОРЫЙ будет направлена связь, т. е. подаваться исходная информация. Блок, НА КОТОРЫЙ был наведен блок, будет блоком-источником информации для того блока, который наводится. Если блоки не соединяются между собой, причиной этому может быть одно из следующих обстоятельств:

    блоки имеют разный формат данных (например, один блок требует в качестве исходной информации численное значение, а другой дает логическое); блок имеет ограниченное количество входящих связей (например, блок "Открытие позиции если выше" может иметь только одну входящую связь с логической информацией, задающей условия открытия позиции, и одну входящую с числовой, которая задает уровень котировки, по которой или выше которой будет открываться позиция).

О визуальном конструировании скриптов пока достаточно. Общее представление о процедуре вы уже получили. Особенно нетерпеливые и самостоятельные пользователи, уже сейчас могут перескочить немного вперед и самостоятельно попробовать что-нибудь запрограммировать, ориентируясь на информацию в справочной системе в разделе "Справочник по элементам визуального программирования" и посмотрев видеоролики по адресу http://www. tslab. ru/video/. Здесь же подробно о нюансах и тонкостях визуального программирования в ТСЛаб мы будем говорить несколько позже, после того, как поймем общее устройство и концепцию программы в целом, в главе, целиком и полностью посвященной этой теме. Ведь невозможно сразу говорить обо всем, поэтому приходится придерживаться какой-то логической последовательности изложения, не перескакивая пусть на ОЧЕНЬ востребованные, но методически пока преждевременные для изучения функциональные возможности программы, однако, позволяя себе временами некоторые отступления, содержание которых напрямую связано с рассматриваемой темой.

Оптимизация

Мало создать некую конструкцию из кирпичиков-блоков и убедиться в отсутствии программных и логических ошибок в этой конструкции. Следующим логическим шагом в разработке торговой стратегии будет поиск оптимальных параметров торговой стратегии, который запускается кнопкой Старт на вкладке Оптимизация.

Оптимизацией в ТСЛаб называется процедура проведения непрерывной серии расчетов, целью каждого из которых является получение итоговых параметров торговли для каждой комбинации исходных переменных параметров, индивидуально определяемых пользователем для каждого скрипта и для каждой серии расчетов в отдельности. Итогу каждого отдельного расчета в серии (с указанием соответствующих этим итогам исходным переменным параметрам) представлены в таблице Результатов оптимизации (отдельная закладка в окне скрипта) отдельной строкой.

Исходными данными для собранной модели торговой стратегии будут параметры, как заданные непосредственно в блоках и представляющие из себя в таком случае константы с точки зрения процедуры оптимизации, так и данные, не закрепленные в блоках (т. е. заданные в переменном виде), для которых на вкладке Оптимизация задается определенный интервал значений, в пределах которого с заданным шагом будет происходить перебор комбинаций этих исходных данных. Собственно оптимизацией процесс расчета называется потому, что в конечном итоге пользователь получает набор результатов, в котором он сам выбирает наиболее значимый для себя параметр в качестве основного и выбирает из всего поля данных именно те исходные параметры, которые дали наиболее подходящее значение этого расчетного параметра. Чаще всего в роли переменных выступают значения периодов индикаторов технического анализа и искусственно подбираемые коэффициенты-константы в составе блоков Формула или Логическая формула. Итоги расчетов подаются в виде отдельной таблицы "Результаты оптимизации". Итоги расчетов могут быть сгруппированы в любой момент (даже в процесс расчета) по любому из рассчитываемых параметров, как в порядке убывания значения, так и в порядке его возрастания, простым кляком в заголовок соответствующего столбца. Один кляк будет группировать содержимое таблицы по убыванию нужного параметра, то есть на первом месте в таблице будет строка, содержащая НАИБОЛЬШЕЕ значение параметра, в заголовок которого пришелся щелчок мышью. Повторный кляк сгруппирует таблицу по возрастанию данного параметра, то есть в первой строке будет располагаться строка с параметрами, соответствующими наименьшему значение нужного параметра. Третий кляк по тому же заголовку вернет таблицу в исходное несгруппированное состояние, которое, однако, тоже будет сгруппированным, но уже по крайне правой колонке.

И здесь снова имеются нюансы. В большинстве случаев в крайней правой колонке будет присутствовать тот переменный параметр, который присутствует в окне Оптимизация на последнем месте внизу из числа параметров, включенных галочкой для перебора в процессе расчета, и в случае, если вы не группировали первую колонку в таблице этого окна, клякая по ее заголовку. В противном случае встать крайним справа может любой переменный параметр.

Другим нелогичным фактом в данной ситуациие является то, что перебор параметром или их попадание в негруппированную таблицу Результатов оптимизации (что здесь первично, а что вторично мне лично не известно, да и это не имеет принципиального значения) происходит не всегда в порядке последовательного перебора от меньшего значения к большему, от левой границы интервала, заданного в таблице на закладке Оптимизация, к правой. То есть, если вы задали перебор параметра от 0 до 10 с шагом 1, то вы ожидаете увидеть, что первым появится результат расчета с параметром, равным 0, затем 1, который займет место строки с параметром, равным 0, затем 2 и т. д. На практике заданный интервал часто проходится с перескоками через следующее значение, однако, в конечном итоге пройденными окажутся ВСЕ заданные интервалом и шагом значения параметра.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18