Значение человеческого слова. После долгих занятий и самообучения мы научились говорить и понимать, что говорят другие дети. Языков много, включая китайский, английский, французский и другие. Китайский: Здравствуйте, мир Английский: Hello World Французский:Bonjour tout le monde
Если использовать язык программирования и показать "Здравствуйте, мир" на экране компьютера, это выглядит так: Язык C: puts (приветствую мир); Язык Java:System.out.println ((Весь мир, доброе утро)) Язык Python:print (((О, мир, привет)) Вы можете видеть, что компьютерные языки имеют свои собственные конкретные правила, и есть много языков, и эти языковые правила - это классификация языков программирования, о которой мы сегодня должны рассказать всем, и в каждой классификации нам нужно только запомнить самые базовые общие правила, чтобы использовать эти языки программирования и компьютерное общение, чтобы компьютер работал по нашим инструкциям.
Для того, чтобы упростить сравнение и выбор языка для программирования для количественных сделок, мы рассмотрим классификацию шести наиболее распространенных языков: Python, Matlab/R, C++, Java/C#, EasyLanguage и Visualization (как показано ниже).Рисунок 3-1 Оценка языков программирования
Мы оцениваем их по функциональному диапазону, скорости выполнения, масштабируемости и сложности обучения. Оценка от 1 до 5, например, 5 баллов в функциональном диапазоне, означает мощную функцию, а 1 балл означает меньшую функцию.
Но для каждого языка оценки, в основном, для применения в области количественных сделок, и с индивидуальным субъективным компонентом.
Визуализированное программирование имеет давнее происхождение и не является чем-то новым. Эта идея программирования, которая, как вы видите, имеет множество модулей управления, которые могут быть использованы для создания логики кода, разработки стратегии торговли, а также для создания блоков.Рисунок 3-2 Визуализация интерфейсов языков программирования
Как показано выше, те же процедуры выполняются с помощью нескольких строк кода в программировании для визуализации квантовой торговой платформы. Это значительно снижает барьеры программирования, особенно для трейдеров, которые не знают программирования. Это отличный опыт работы.
Поскольку основной слой реализации стратегии в этом визуализированном языке переведен в C++, это не имеет большого влияния на скорость выполнения программы. Однако функциональность и масштабируемость слабы, и не может быть разработана слишком сложная, слишком тонкая стратегия сделки.
Так называемый язык EasyLanguage - это язык программирования, уникальный для некоторых коммерческих программ для количественной торговли. Несмотря на то, что эти языки также имеют некоторые объективно-ориентированные характеристики, они используются в основном в виде сценариев. На грамматике, также очень близко к нашему естественному языку, для новичков в количественной торговле использование EasyLanguage является более подходящим вариантом для введения.
Скриптологический язык не имеет проблем с выполнением резюме стратегии и реального диска в своем конкретном программном обеспечении, но часто имеет ограничения в расширении, например, разработчики стратегии не могут вызывать внешние API.
На Stackoverflow посещаемость основного языка программирования в последние годы практически не изменилась, только Python все время демонстрирует тенденцию к росту. Python используется для веб-разработки, машинного обучения, глубокого обучения, анализа данных и т. д.
Список базовых структур данных и словариев, очень мощные и в основном удовлетворяющие потребности в представлении данных. Если требуется более быстрая, функциональная и более полная структура данных, рекомендуется использовать NumPy и SciPy, две библиотеки, которые в основном называются стандартными библиотеками научного вычисления Python.
Для финансовой инженерии более целевой библиотекой является Pandas, которая имеет две структуры данных, Series и DataFrame, и очень подходит для обработки временных последовательностей.
С точки зрения скорости, Python находится в середине потока, немного медленнее, чем C++, и быстрее, чем EasyLanguage, главным образом потому, что Python - это динамический язык, который обычно работает быстро в чисто Python языке.
В качестве языка-разработчика, Python является достойным первым в области расширяемых производительностей, кроме того, что он может широко взаимодействовать с другими языками, а также расширять API, которые очень просты в использовании.
Далее следуют языки Matlab и R, которые в основном ориентированы на анализ данных. Авторы языка много работали над разработкой научных операций в грамматическом плане, которые характеризуются врожденной поддержкой количественных операций с сделками. Однако их применение ограничено, и они обычно используются для анализа данных и стратегической проверки.
Кроме того, они имеют относительно низкую скорость и масштабируемость, поскольку языки Matlab и R работают на уникальных языковых виртуальных машинах. С точки зрения производительности, их виртуальные машины намного хуже, чем Java и C#. Но они также относительно просты в изучении, поскольку их грамматика ближе к математическим формулам.
C++ - это универсальный язык программирования, который поддерживает множество моделей программирования, таких как процессуальное программирование, абстракция данных, объектно-ориентированное программирование, универсальное программирование и дизайнерские модели. С языком C++ можно реализовать все функции, которые вы хотите реализовать, но самый большой недостаток такого мощного языка заключается в очень высокой сложности обучения, такой как шаблоны, указатели, утечки памяти и т. д.
В настоящее время C++ остается предпочтительным языком программирования для больших объемов, высокочастотных транзакций, по одной простой причине: особенности языка C++ более близки к нижней части компьютера и являются наиболее эффективным инструментом для разработки высокопроизводительных ретроспективных и исполнительных систем для обработки большого количества данных.
Java/C# являются статическими языками, которые работают на виртуальных машинах. В отличие от C++, они не имеют пересечения матриц, не имеют корэдампов, не могут выбрасывать необычно точные позиции в местах ошибочного кода, не имеют автоматического механизма рециклирования мусора, не беспокоятся о утечке памяти и т. д. Поэтому они также легче, чем C++, учитывая сложность грамматики.
Но с точки зрения функциональности, они не могут быть реализованы, как в C++, с оптимизацией основы системы сделок. С точки зрения расширения производительности, они слабее по сравнению с C++, поскольку их расширение требует перехода через мост C, а оба языка сами по себе работают на виртуальной машине, поэтому при расширении функциональных модулей требуется больше прохода через стену для реализации.
Однако, в свою очередь, количественные языки программирования не важны, важны идеи. Изобретатели количественных языков и визуализированных языков, как стукающих на порог количественного ввода, совершенно не имеют никаких проблем, и после ввода улучшение требует постоянных попыток исследования в сочетании с различными рыночными условиями.
Создайте свою стратегию, торгуйте своими мыслями. С этой точки зрения, количественная торговля остается в центре торговых идей. Как количественный трейдер, вам нужно не только владеть базовой грамматикой и функциями платформы для написания стратегии, но и реализовать торговые идеи в реальной жизни.
1. Какие преимущества имеет Python как язык количественных сделок? 2) Попробуйте написать несколько распространенных API на языке Mac для ваших изобретателей?
Уверен, что после вышеперечисленного о языках программирования вы уже знаете, как выбирать, поэтому в следующих нескольких главах мы будем разрабатывать целенаправленные стратегии количественного обучения в соответствии с классификацией языков программирования.
Что такое язык Мая? Язык Мая представляет собой набор программируемых функций, расширенных из ранних показателей технологий. Он объединяет алгоритмы в одну функцию, требующую от пользователя простого вызова одной строки функции, как сложные кирпичные кирпичи, для реализации стратегической логики.
Он использует модель построения "маленький грамматик, большие функции", что значительно повышает эффективность написания, более 100 слов в других языках, а в маском языке обычно можно написать не более 10 слов.
Чтобы помочь вам быстро понять основные знания этого раздела, прежде чем дать краткое представление о языке квантовых измерений изобретателей, давайте сначала ознакомимся с концепцией существительных слов в этом разделе.
Большое предложение: если в настоящее время нет позиций, и цена закрытия больше, чем краткосрочная средняя линия, и цена закрытия больше, чем долгосрочная средняя линия, и краткосрочная средняя линия больше, чем долгосрочная средняя линия, и долгосрочная средняя линия выше;
Открытие акций: если в настоящее время нет позиций, и цена закрытия меньше, чем средняя краткосрочная, и цена закрытия меньше, чем средняя долгосрочная, и средняя краткосрочная меньше, чем средняя долгосрочная, и средняя долгосрочная снижается;
Многоголовые позиции: если в настоящее время у вас много заказов, и цена закрытия меньше, чем длительный средний, или длительный средний меньше, чем длительный средний, или длительный средний снижается.
Плохое положение: если в настоящее время имеется пустой заказ, и цена закрытия больше, чем длительный средний, или короткий средний больше, чем длительный средний, или длительный средний выше;
Если написать его в коде на языке Ma, это выглядит так:Схема 3 - 3 Полный пример языка Мая
Для написания полной стратегии количественной торговли обычно требуется несколько шагов: получение данных, вычисление данных, логическое вычисление, покупка-продажа заказа. Как показано выше, в целом коде используется только один API для получения базовых данных, т.е. клавиши CLOSE в первой и второй строках; затем строки 1 - 9 являются частью вычисления данных; наконец, строки 11 - 14 являются частью логического вычисления и заказа.
Обратите внимание, что фиолетовый код - это переменные; в первой строке до девятой строки - зеленый знак: = * * - это знаки присвоения, а после завершения вычисления данных на правом боку знака присвоения данные присваиваются переменным на левом; оранжевый код - это API, например, в первой строке вызов MA ((пространственная линия) требует передачи двух параметров, параметры передачи можно понять как настройки, то есть при вызове MA необходимо установить тип MA; красный знак - * AND * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Основные данные (открытие, максимум, минимум, закрытие, объем) являются неотъемлемой частью количественной торговли. Для получения последних базовых данных в стратегии необходимо просто вызвать API инструмента количественной оценки изобретателя. Если вы хотите получить исторические базовые данные, вы можете использовать кнопку REF, например: REF ((CLOSE, 1) - это цена закрытия вчерашнего дня.
Переменные - это переменные числа, имена переменных можно понимать как коды, и их наименование поддерживает формат китайских букв, букв, цифр, ссылок, но длина должна быть контролирована в пределах 31 символа. Названия переменных не могут повторяться друг с другом, не могут повторяться с именами параметров, не могут повторяться с именами функций (API), и каждое предложение должно заканчиваться отметкой.Рисунок 3-4 Типы данных на марийском языке
Назначение переменных - это присвоение значения правой стороны знака назначения переменным левой стороны. Всего четыре знака назначения, которые позволяют контролировать, отображаются ли числа на графике, а также определять, где они отображаются.Рисунок 3-5 Присвоение языковых переменных
В китайском языке существует множество типов данных, наиболее распространенными из которых являются типы чисел, типы строк, типы буров. Типы чисел - это числа, включая целые числа, дроби, положительные отрицательные числа и т. д., такие как: 1, 2, 3, 1.1234, 2.23456...; типы строк можно понимать как слова, китайские и английские цифры, все они могут быть строками, например:
Относительные операторы, как и их название, являются операторами, используемыми для сравнения отношений между двумя значениями.Рисунок 3-6 Операторы на языке Маск
Логические операции могут соединять отдельные формулировки типа Бура в целое, наиболее часто используемые являются бура и бура и бура OR и бура OR. Предположим, что есть два значения типа Бура, а именно, бура закрытия больше, чем цена открытия и бура закрытия больше, чем цена упрощения, мы можем составить их в один бура, например: бура закрытия больше, чем цена упрощения и бура закрытия больше, чем цена упрощения или бура закрытия больше, чем цена упрощения.Схема 3-7 Логические операции в языке Маэ
Обратите внимание:
Ключевое условие - это то, когда все условия для ключи являются ключевыми.
Не существует никакой разницы между распространенными математическими операторами (
Если есть выражение 100* ((10-1) / ((10+5), какой шаг программы вычисляется первым? Средняя школа математики говорит нам: если это однообразные операции, обычно вычисляется в порядке слева направо. Если есть как добавление, так и вычитание, сначала умножают, затем подсчитывают и вычитают. Если есть скобки, то предварительно подсчитывают в скобках. Если соответствует закону операций, можно уменьшить с помощью закона операций.Диаграмма 3-9 Приоритеты операций с математическими операциями в малых языках
В языке Mac, в котором изобретатель использует инструменты для количественного измерения, программа выполняет два типа режима: режим закрытия и режим реального времени; режим закрытия указывает на то, что в настоящее время сигнал K-линии создан, и сразу же выполняет транзакцию, когда начинается нижний корень K-линии; режим реального времени указывает на то, что в настоящее время сигнал K-линии создан, и сразу же выполняет транзакцию.
В случае внутридневных стратегий, когда конец требует выравнивания, необходимо использовать функцию времени выравнивания
Схема 3-11 Классификация моделей языков
Модели в языке Мая классифицируются двумя типами: нефильтрованные модели и фильтрованные модели. Это хорошо понятно: нефильтрованные модели позволяют последовательно появляться сигналам открытия или тихого положения, что позволяет реализовать функции повышения и понижения.
Это краткое представление о языке Ma, после которого можно будет программировать стратегию количественной торговли. Если вам нужно составить более сложную стратегию, обратитесь к документации API-инструмента для количественной торговли Ma, или напрямую обратитесь к официальному сервису.
Дневная торговля также является моделью торговли, которая не оставляет запасы на ночь, поэтому она не подвергается риску волатильности рынка, и может быть своевременно скорректирована, если возникнут неблагоприятные условия.
1, попробуйте написать API для получения базовых данных на маском языке с помощью инструментов квантования изобретателя. 2, в каких формах значения переменных отображаются на графике?
В предыдущей статье мы рассказали вам о предпосылках реализации стратегии торговли с точки зрения знакомства с языком Ma, базовой грамматики, способа выполнения модели, классификации модели и т. д. В этой статье мы продолжим предыдущее содержание, чтобы помочь вам реализовать действенную внутридневную количественную стратегию торговли.
Подумайте, как вы соедините робот с кусками LEGO? Вы никогда не сможете соединить его сверху вниз или сверху вверх в один кусок. Любой, кто имеет немного общего понимания, знает, что голова, руки, ноги, крылья и т. д. должны быть соединены, чтобы собрать полный робот.
Раздельный рост - это процент разницы между ценой закрытия корневой линии K и ценой закрытия предыдущих N циклов. Например, вычислить, какой был рост последних 10 этапов линии K, можно написать следующим образом:Схема 3-12 Увеличение уровня марийского языка
Реинновационный максимум - это максимальная цена за N циклов, когда корень K больше. Например, вычислить, когда корень K больше максимальной цены за последние 10 K циклов, можно написать:Рисунок 3-13 Маэ язык снова инновационный
Нападение объема может быть понято как рост цены и резкое увеличение объема сделок. Например: если цена закрытия корневой линии K равна 1,5 раза цене закрытия предыдущей 10-й K-линии, то это увеличение на 50% в течение 10 дней; объем сделок превышает средний показатель последних 10 K-линий в 5 раз.Рисунок 3-14 Мая язык наступает
Тонкое распределение означает, что цены сохраняются в пределах определенной величины в течение ближайшего периода. Например: если разница между максимальной ценой за 10 циклов и минимальной ценой за 10 циклов меньше 0,05 или около того, кроме ценой закрытия корневой линии K.Рисунок 3-15 Мая язык в узком порядке
Упорядоченный многоголовый ряд делится на многоголовый и пустой ряд, K-линия на 5
Для получения предыдущей вершины, а также расположения этой вершины, можно получить ее непосредственно через API инструмента количественного измерения изобретателя.Рисунок 3-17 Ранние пики Мая
При появлении перелома можно предположить, что уже началось ускорение тренда в направлении первоначального перелома. Код можно написать так:Рисунок 3-18
Рисунок 3-19
С точки зрения статистики, средняя линия - это среднее число цен в день, это траектория с тенденционными ценами. Средняя линия является техническим инструментом, часто используемым большинством аналитиков. С технической точки зрения, она влияет на психологические ценовые факторы технических аналитиков.Рисунок 3-20 Расчет различных показателей в марийском языке
Рисунок 3-21 BOLL
BOLL, также называемый индикатором Блинн-Бенд, использует статистические принципы, чтобы сначала рассчитать средний траекторий на основе N-дневного движущегося среднего, а затем рассчитать верхний и нижний траектории на основе стандартного разрыва. Когда BOLL-канал становится шире, это означает, что цена постепенно возвращается к среднему значению. Когда BOLL-канал становится шире, это означает, что на рынке начинается изменение, если цена идет вверх по траектории, это означает увеличение покупательской силы, если цена идет вниз по траектории, это означает увеличение продажной силы.
Среди всех технических показателей BOLL является одним из самых сложных, в котором вводится концепция стандартного расхождения в статистике, которая включает в себя расчеты средней линии (MB), верхней линии (UP) и нижней линии (DN).Диаграмма 3-22 Марийский язык
Рисунок 3-23 MACD
MACD использует быстрое (краткосрочное) и медленное (долгосрочное) движущиеся средние линии и их признаки, а также их агрегацию и разделение для двойного гладкого расчета. MACD, разработанный по принципу движущихся средних, устраняет недостатки частого выпуска ложных сигналов движущимися средними, а также сохраняет эффект движущихся средних. Таким образом, MACD обладает такими характеристиками, как равнолинейная тенденция, стабильность и стабильность.
Рисунок 3-24 Марийский язык MACD показатель
Это наиболее распространенные стратегии в разработке количественных торговых стратегий, и, конечно, намного больше, чем это. С помощью примеров вышеперечисленных модулей вы также можете вручную реализовать несколько наиболее часто используемых торговых модулей в субъективной торговле.
На рынке валютных инструментов широко распространенная стратегия прорыва - HANS123, которая использует высокие и низкие точки линии N-K после короткого открытия, как критерий для определения сигналов, вызванных торговлей.
Встреча событий, которые произошли в прошлом месяце, была очень интересной. Высокий уровень = 30 минут после начала; Нижняя трасса = низкая точка через 30 минут после открытия; Когда цены прорываются вверх, покупают и открывают позиции. Когда цены падают вниз по траектории, продаются открытые позиции. Стратегия внутридневного трейдинга, предзакрытие;
Рисунок 3-25 Код стратегии языка
Выше мы изучили концепцию стратегического модуля, а также через несколько часто используемых примеров стратегического модуля, знакомство с методами программирования инструментов количественного определения изобретателей, можно сказать, что умение писать стратегические модули, повышение программируемого логического мышления, является ключевым шагом к прогрессивному количественному определению торговли.
Возможно, некоторые из вас будут смущены, потому что не понимают сложный код. Не спешите, мы все уже подумали о том, что в инструментах для количественного измерения изобретателей есть еще один язык программирования, более подходящий для использования маленькими и белыми пользователями, это визуализированное программирование.
Попробуйте реализовать несколько наиболее часто используемых вами модулей в субъективной торговле. 2, попытаться реализовать алгоритм показателей KDJ с помощью языка Ma в инструментах квантования изобретателя.
Многие субъективные трейдеры, заинтересованные в количественных сделках, начинают с уверенностью, но после изучения базовых грамматики традиционных языков программирования, операций с данными, структуры данных, логического контроля и т. д.
Чтобы помочь вам быстро понять основные знания этого раздела, прежде чем дать краткое представление о языке программирования для количественной визуализации, давайте посмотрим, как выглядит стратегия, написанная в языке визуализации, и получим начальное представление о понятии имени в этом разделе.
Большое предложение: если в настоящее время нет позиций, и цена закрытия больше средней отметки 50 циклов.Открытие акций: если в настоящее время нет позиций, и цена закрытия меньше 50-цикличной средней линии.Многоголовые позиции: если в настоящее время имеется несколько заказов, и цена закрытия меньше средней отметки в 50 циклов.Плохое положение: если в настоящее время имеется пустой заказ, и цена закрытия больше средней отметки в 50 циклов.
Если описать эту стратегию в визуальном языке, то она выглядит вот так:Диаграмма 3-26 Визуализация языкового интерфейса
Как показано выше, весь процесс разработки стратегии заключается в следующем: настройка совокупности рынков, получение K-линейной матрицы, получение 50-циклической средней стоимости на корневой K-линии, получение закрывающейся цены на корневой K-линии, получение матрицы хранения, определение состояния хранения, определение того, является ли цена закрытия больше или меньше средней линии, выполнение открытой или тихой позиции.
Здесь необходимо обратить внимание на концепцию матричных матриц, которые являются одной из важных структур данных для любого языка программирования. Матрицы похожи на контейнеры, в которых можно хранить ряд значений.Рисунок 3-27 K-линейные матрицы
Код на рисунке выше представляет собой K-линейный массив, который состоит из 3 данных: данные верхнего корня K-линии, данные верхнего корня K-линии, данные корня K-линии.Ссылки на диаграммы на рисунке 23-28
Второй вариант (строка 5), потому что в реальности есть сотни и тысячи корней данных K-строки, и новые K-строки постоянно увеличиваются. Таким образом, можно сначала получить длину массива, аarr.length означает получить длину этого массива, затем минус 1, то есть данные последнего K-строка. Если вы хотите получить данные по корню K-строки, минус 2, то вы можете получить длину массива.
Если вы внимательно посмотрите, вы увидите, что все эти данные включены в козырь, и вы, вероятно, знаете, что в них соответствует: время, цена открытия, максимальная цена, минимальная цена, цена закрытия, объем торгов. Если вы хотите получить цену закрытия на корневой линии K, просто добавьте козырь.Ссылки на диаграммы на рисунках 3 - 29
С учетом вышесказанного, давайте сначала напишем программу в Java, которая будет выводить hello, worldhelp, чтобы получить ощущение традиционного программирования, как показано ниже:Рисунок 3-30
Просто выпустить строку hello world! в программе, и вы напишете 5 строк кода. Я считаю, что большинство новичков знают только слова hello, world, в скобках. Поэтому, не зная, как начать, лучше всего использовать визуальное программирование в качестве входа.
Визуализированное программирование имеет давнее происхождение и не является чем-то новым. Эта идея программирования, которая, как вы видите, имеет множество модулей управления, которые могут быть использованы для создания логики кода, разработки стратегии торговли, а также для создания блоков.Рисунок 33-31
Как показано выше, та же программа, в blockly визуализированной программировании, выполняется всего одной строкой кода. Это значительно снижает барьер программирования, особенно для тех трейдеров, которые не знают программирования. Это отличный опыт работы.
blockly - это не игрушка для программирования, а настоящий редактор, а не та операционная система, которая маскируется под редактор, и поддерживает многие базовые элементы программирования, такие как: переменные, функции, матрицы, и легко расширяемые пользовательские блоки, с помощью которых вы можете выполнять сложные задачи программирования.
Количественное визуализирование программного обеспечения разработчиками, которое также осуществляется с помощью инструмента визуализации blockly, выпущенного Google.Рисунок 33-32
В количественном визуализированном интерфейсе разработчиков встроены сотни общих торговых модулей, которые будут поддерживать новые идеи и новые приложения, которые будут совместно развиваться и поддерживаться разработчиками.
Хотя грамматика проста, она не теряет своей производительности. Она почти удовлетворяет большинству простых разработок количественных торговых стратегий. Она не уступает обычным языкам программирования, таким как Python, JavaScript и другие, как функциональность и скорость. В будущем она будет поддерживать логически сложные финансовые приложения.
Рисунок 33-33
Рисунок 33-34
Рисунок 33-35
Выше мы начали с полной стратегии визуализации, а затем с описания и характеристик визуализированного языка, а затем с использования визуализированного языка в инструментах количественного измерения изобретателей, а также с примерами, написанными с помощью фразы hello world. Однако необходимо напомнить, что визуализированное программирование является хорошим входом в количественные сделки, но в настоящее время на инструментах количественного измерения изобретателей открыты только ограниченные интерфейсы API.
Визуализация не сильно отличается от базового языка программирования, и даже в некоторых местах она является универсальной. Изучение визуализации является еще одним шагом от обучения программированию. В следующем разделе мы рассмотрим более подробные уроки визуализации, включая то, как написать часто используемые модули количественной торговли с помощью языка визуализации на инструментах квантования изобретателей, и как разработать полную стратегию внутридневного торговли.
1, в которых изобретатели количественно визуализируют интерфейсы программирования, используют API и понимают их значение. 2, с помощью визуализированного языка получать последние цены на открытие и экспортировать их в журналы.
В предыдущем разделе мы рассказали о знакомствах и особенностях визуализированного языка программирования, примерах hello world, а также о том, как разработчики планируют стратегию в количественных торговых инструментах. В этом разделе мы продолжим, начиная с обычных стратегических модулей и технических индикаторов, а затем перейдя к стратегической логике, чтобы помочь вам поэтапно реализовать полную стратегию внутридневного торговли.
Раздельный рост - это процент разницы между ценой закрытия корневой линии K и ценой закрытия предыдущих N циклов. Например, вычислить, какой был рост последних 10 этапов линии K, можно написать следующим образом:Рисунок 33-36
Вышеуказанный код показывает, что для выполнения компьютера требуется полный логический цикл, например, для вычисления прогресса на последних 10 этапах K-строки необходимо разбить его на следующие шаги:
Сначала компьютер должен четко знать, какую разновидность вы хотите торговать, например, метанол, и установить код контракта на:
С K-линейными данными можно извлечь из них подробные данные о любой из K-линий. Для того, чтобы оценить рост на этапе статистики, необходимо сначала получить две цены закрытия линии K, например: цена закрытия линии K в верхней коренной части и цена закрытия линии K на 11-й коренной части.
Наконец, на основе этих двух K-линий, вычислить коэффициент увеличения этапов. Каждая из следующих стратегий имеет такие характеристики, как логический цикл и условия, которые определяются свойствами.
Нападение объема может быть понято как рост цены и резкое увеличение объема сделок. Например: если цена закрытия корневой линии K равна 1,5 раза цене закрытия предыдущей 10-й K-линии, то это увеличение на 50% в течение 10 дней; объем сделок превышает средний показатель последних 10 K-линий в 5 раз.Рисунок 33-37
При появлении перелома можно предположить, что уже началось ускорение тренда в направлении первоначального перелома. Код можно написать так:Рисунок 33-38
С точки зрения статистики, средняя линия - это среднее число цен в день, это траектория с тенденционными ценами. Средняя линия является техническим инструментом, часто используемым большинством аналитиков. С технической точки зрения, она влияет на психологические ценовые факторы технических аналитиков.Рисунок 33-39
MACD использует быстрое (краткосрочное) и медленное (долгосрочное) движущиеся средние линии и их признаки, а также их агрегацию и разделение для двойного гладкого расчета. MACD, разработанный по принципу движущихся средних, устраняет недостатки частого выпуска ложных сигналов движущимися средними, а также сохраняет эффект движущихся средних. Таким образом, MACD обладает такими характеристиками, как равнолинейная тенденция, стабильность и стабильность.Рисунок 3-40
Индекс KDJ объединяет в себе идеи движения, сильные и слабые показатели, а также движущиеся средние, которые используются для измерения степени изменения цены акций от нормального диапазона цен. В качестве показателя рассматриваются не только цены закрытия, но и последние максимумы и минимумы, что позволяет избежать слабости истинной величины колебаний, учитывая только цены закрытия.Рисунок 3-41
Бенджамин Грэхем, наставник Уоррена Баффета, в своей книге "Умные инвесторы" упомянул о динамически балансирующей модели торговли акциями и облигациями.
Эта модель торговли очень проста: Положите 50% средств в фонды акций и оставшиеся 50% - в фонды облигаций, то есть пополам по акциям и облигациям.
В соответствии с фиксированными интервалами времени или изменениями на рынке, перебалансируя активы, соотношение активов акций и облигаций возвращается к первоначальному 1:1. Вот вся логика всей стратегии, включая когда покупать и сколько покупать.
В этом подходе волатильность облигационных фондов очень мала, намного ниже, чем волатильности акций, поэтому здесь облигации рассматриваются как "референтные", т.е. облигации используются для измерения того, слишком много или слишком мало зарабатывают акции.
Если цены на акции растут и их рыночная стоимость превышает рыночную стоимость облигаций, то, когда их рыночная стоимость превышает установленный порог, общая позиция пересчитывается, продаются акции и покупаются облигации, что приводит к возвращению рыночной стоимости облигаций к первоначальному соотношению 1:1.
Напротив, снижение цен на акции приводит к тому, что их рыночная стоимость становится меньше, чем рыночная стоимость облигаций, и когда их рыночная стоимость превышает установленный порог, общая позиция реорганизуется, покупаются акции и продаются облигации, что возвращает рыночную стоимость облигаций к первоначальному соотношению 1:1.
Таким образом, динамически уравновешенное соотношение между акциями и облигациями достаточно, чтобы насладиться плодами роста акций и уменьшить волатильность активов.
В соответствии с текущей стоимостью BTC, баланс счета содержит 5000 иен наличными и 0,1 BTC, то есть первоначальное соотношение денежных средств к рыночной стоимости BTC составляет 1:1.
Если цена BTC выросла до ¥6000, то есть рыночная стоимость BTC больше баланса счета, и разница между ними превышает установленный порог, продать ((6000-5000) / 6000/2 монет.
Если цена BTC упадет до ¥ 4000, то есть рыночная стоимость BTC меньше баланса счета, и разница между ними превышает установленный порог, купить ((5000-4000)/4000/2 монет.
Таким образом, независимо от того, повышается ли BTC или понижается, баланс счета всегда динамически сохраняется на уровне рыночной стоимости BTC. Если BTC понижается, покупают, а когда возвращаются, продают, как обычно.
Условия покупки: если текущая стоимость хранения минус текущий доступный баланс меньше минус 5% текущего доступного баланса, то открыть позицию купить.Условия продажи: если текущая рыночная стоимость хранения минус текущий доступный баланс превышает 5% текущего доступного баланса, то продажа на балансе;
Мы вычислили четыре предпосылки для стратегии торговли и придали значения каждой из них.Рисунок 3-42
Следует отметить, что общая рыночная стоимость монет - это общая рыночная стоимость текущего количества монет, которое рассчитывается таким образом, что текущее количество монет умножено на текущую последнюю цену.
После выполнения предварительного назначения необходимых условий необходимо написать логику транзакций. Это также не так сложно, как предполагается. Все, что нужно сделать, это выразить эту стратегическую логику в виде блоков кода.
То есть, если активы меньше, чем 5% отрицательного доступного баланса, то они покупаются, а если активы больше, чем 5% доступного баланса, то они продаются; как показано ниже:Рисунок 3-43
Вся стратегия, кажется, написана, но помните, что программа выполняется сверху вниз, а когда она будет выполнена, она остановится. Но наша стратегия торговли - это не однократное выполнение условий торговли, а повторное выполнение цикла.
Это означает, что программа должна постоянно проверять, выполняются ли условия политики, если это касается выполнения покупки или продажи.Рисунок 3-44
Визуализация стратегии ничем не отличается от стратегии, написанной в других языках программирования, она также поддерживает несколько циклов, точные тесты исторических данных, и, конечно же, поддерживает внутренние и зарубежные товаровые фьючерсы и цифровые валюты.Рисунок 3-45
На данный момент, полная стратегия торговли еще не готова. Для того, чтобы позаботиться о сторонах, эта стратегия была размещена на Strategy Square, где можно было бы скопировать исследование прямо.
Закон 10 000 часов всегда существует, но для нулевых трейдеров невозможно потратить 10 000 часов на повторное вступление. Таким образом, вам нужна лестница, а для нулевых трейдеров квантование визуализированного программирования является лестницей быстрого входа.
С помощью визуализированного программирования вам не нужно запоминать названия грамматики и методов, просто просмотрите модуль функций и найдите то, что вы хотите. Именно в этом и заключается первоначальная цель изобретателей количественного программирования, чтобы помочь большему числу новичков в количественном программировании снизить порог вступления, повысить интерес к количественному программированию, и каждый может стать количественным трейдером!
Однако, в общем, визуализация программирования в качестве количественного ввода не является проблемой, но имеет свои ограничения, такие как невозможность разработки слишком сложной и тонкой стратегии торговли.
С точки зрения профессионализма количественных сделок, как язык Мая, так и язык визуализации являются переходными языками в мир количественных сделок. Их языковые особенности также определяют ограничения в разработке стратегий количественных сделок, некоторые из которых маловероятны.
1, Попробуйте реализовать показатели Брин-Бенда с помощью визуализированного языка. 2. Попробуйте выполнить торговую стратегию с помощью модуля торговли в этом разделе.
Будучи будущей звездой количественных сделок, вам не может быть достаточно изучить простой язык. Маэ язык и визуализация, разработанные изобретателями количественных инструментов, хотя и могут ввести вас, но из-за их языковых особенностей есть много ограничений в разработке стратегии.
В сравнении с языками визуализации, язык JavaScript обладает более высокой производительностью и эффективностью выполнения. И в области разработки стратегий язык JavaScript гораздо более гибкий, чем язык визуализации. Например, если вы хотите разработать стратегию набора, то с помощью языка визуализации это невозможно, поскольку он имеет ограниченные модули и не поддерживает стратегии, подобные стратегии набора, а язык JavaScript может легко победить.
Кроме того, язык JavaScript более лаконичный и элегантный, чем язык визуализации, например: язык визуализации содержит 10 строк кода, которые можно написать в JavaScript, возможно, 5 строк. В некоторых отношениях, язык визуализации является просто текстовой версией JavaScript, и его код выполняется и логика почти такая же, как у JavaScript. Если вы изучаете язык визуализации, то изучение JavaScript будет очень легким.
JavaScript является официальным языком программирования высшего уровня. Он подходит как вводный язык для обучения программированию, так и как рабочий язык для повседневного развития. Он является одним из самых перспективных и перспективных компьютерных языков, до сих пор обладающим непоколебимым доминированием на браузерной стороне.
Чтобы помочь вам быстро понять основные знания этого раздела, перед тем, как дать краткое представление об изобретателях языка Quantified JavaScript, давайте сначала ознакомимся с концепцией существительных слов в этом разделе.
Большое предложение: если в настоящее время нет позиций, и 5-циклическая средняя большая, чем 20-цикличная средняя.Открытие акций: если в настоящее время нет позиций, и 5-циклическая средняя меньше 20-циклической средней.Многоголовые позиции: если в настоящее время имеется несколько заказов, и 5-циклическая средняя линия меньше 20-цикличной средней линии.Плохое положение: если в настоящее время имеется пустой заказ, и 5-циклическая средняя линия больше 20-цикличной средней линии.
Если написать его в языке JavaScript, он выглядит так:Рисунок 4-1
Код, изображенный выше, представляет собой полную количественную стратегию торговли, написанную на языке JavaScript. Он может работать на диске и автоматически размещать заказы. С точки зрения количества кода, язык проще, чем визуализированный язык. Процесс разработки всей стратегии заключается в установке разновидности рынка, получении данных K-линий, получении информации о хранении, вычислении логики торговли, размещении заказов.
В JavaScript все ((variables, function names, and operators) различают по размеру, т.е. variable name test и variable name Test - это две разные переменные. Идентификатор ((name of variable, function, attribute, function parameter) должен быть первым символом буквы, запятой ((_)) доллара, ($) символа, а затем может быть цифрой, как показано на рисунке:Рисунок 4-2
Комментарии включают однострочные и блоковые комментарии. Однострочные комментарии начинаются с двух скоб, блоковые комментарии - с скоб и звездочкой./) начинается со звездочкой и скобкой (((/) В конце, следующий рисунок:Рисунок 4 - 3
Каждое предложение имеет заканчивание с запятой; хотя это не обязательно, мы рекомендуем никогда не оставлять его без внимания.Рисунок 4-4
Переменные могут хранить любой тип данных, при создании переменных используется оператор var, который следует за именем переменных. При определении переменных также можно установить значение переменных. После создания переменных снова устанавливается значение переменных без использования оператора var, как показано на рисунке ниже:Рисунок 4-5
В JavaScript существует пять типов данных: undefined, null, boolean, number, string, как показано на рисунке ниже:Рисунок 4-6
Undefined имеет только одно значение, а именно специальную букву undefined, которая представляет собой значение, которое еще не установлено. Например, мы определяем только одну переменную и не устанавливаем значения для этой переменной, то значение этой переменной будет букву undefined.
Null имеет только одно значение, это специальный
Булеан имеет два значения, то есть - true и false, - true и false. Обратите внимание, что true и false обозначаются в малых буквах.
Number - это типы чисел, включающие: положительные, отрицательные, целые, дроби и т. д. Кроме того, NaN - это специальное число, которое специально обозначает случаи, когда число не возвращается, например:
String можно понимать как тексты, содержащие китайский и английский языки, которые можно составить с помощью одно- или двухцифровых знаков.
Объекты можно понимать как контейнер, в котором хранятся различные данные, в котором соответствуют свойства и значения. Этот контейнер можно создать заранее с помощью оператора new.Рисунок 4-7.
Матрица также является контейнером для хранения различных типов данных, только элементы в контейнере расположены в порядке от левого к правому, первый элемент - 0, второй элемент - 1, и так далее. Кроме того, матрицы JavaScript могут хранить любой тип данных, как показано на рисунке:Рисунок 4-8
Функции в JavaScript не отличаются по своей сути от функций, которые мы изучаем в средней школе, и вы можете понять, что передается, а что выводится с помощью вычислений функций, как показано на следующей схеме:Рисунок 4-9
В JavaScript существует множество операторов, а именно: арифметические операторы, сравнительные операторы, логические операторы. В них арифметические операторы - это математические операции с добавлением и сокращением умножения, сравнительные операторы могут сравнивать два значения меньше или меньше, логические операторы в основном имеют: логический и, логический или, логический не; как показано ниже:Рисунок 4-10
Следует отметить:
Если есть выражение 100* ((10-1) / ((10+5), какой шаг программы вычисляется первым? Средняя школа математики говорит нам: если это однообразные операции, обычно вычисляется слева направо; 2) если есть как добавление, так и вычитание, сначала умножается; 3) если есть скобки, предшествующие скобкам; 4) если соответствует закону операций, можно уменьшить с помощью закона операций. Приоритет языка JavaScript также такой же, как в следующей диаграмме:Рисунок 4-11
Обычно, когда вы пишете код, вам всегда нужно выполнять разные действия для разных решений. Вы можете использовать условия в коде для выполнения этой задачи. В JavaScript мы можем использовать следующие условия: if - Используется для выполнения кода только при условии true if...else - выполняет код при условии true и выполняет другой код при условии false if...else if...else - используется для выбора одного из нескольких блоков кода для выполнения switch statement - используется для выбора одного из нескольких блоков кода для выполнения
Код выполняется только при условии, что указанное условие является true. Используйте малую букву if. Использование большой буквы ((IF) создает ошибку JavaScript!Рисунок 4-12#
Исполнение кода при условии true, выполнение другого кода при условии false, как показано на рисунке:Рисунок 4-13
Иногда, когда нам нужно получить данные K-линий за последние несколько дней, нам нужно получить их из K-линейных массивов, в зависимости от их местоположения. Для этого очень удобно использовать цикл for, как показано на рисунке:Рисунок 4-14
Мы все знаем, что рынок постоянно меняется, и если вы хотите получить самые последние K-линейные массивы, вам нужно постоянно выполнять один и тот же код снова и снова, тогда используйте цикл whilex, который всегда будет получать самые последние K-линейные массивы, если условие указано как true.Рисунок 4-15
Цикл имеет предварительные условия, и только при условии, что это условие является истинным, цикл начинает повторяться, и цикл заканчивается, пока это условие не является ложным. Однако break-заявления могут сразу выйти из цикла в процессе выполнения цикла; continue-заявления могут прервать один цикл, а затем продолжить следующий цикл, как показано ниже:Рисунок 4-16
return-заявление прекращает выполнение функции и возвращает значение функции. return-заявление может появиться только в теле функции, и если оно появится в любом другом месте в коде, это вызовет синтаксическую ошибку!Рисунок 4 - 17
В инструментах для количественного определения изобретателей, где будет очень удобно написать политику в языке JavaScript, официально встроен стандартный пакет политических рамок, как показано на рисунке ниже:Рисунок 4-18
Помимо того, что код на рисунке выше является стандартной стратегической структурой, которая может быть изменена, остальные являются фиксированными форматами. Наибольшее преимущество использования рамки для написания стратегии заключается в том, что вам нужно просто написать логику стратегии.
Это быстрое введение в язык JavaScript, после которого можно будет программировать количественные стратегии торговли. Если вам нужно написать более сложные стратегии, обратитесь к документации API языка JavaScript.
Дневная торговля также является моделью торговли, которая не сохраняет позиции в течение ночи, поэтому риски волатильности рынка низки, и можно вовремя скорректировать, если возникает неблагоприятная ситуация. После изучения этого раздела введение языка JavaScript, в следующем разделе мы возьмём вас с собой, чтобы написать действенную стратегию количественной торговли в течение дня.
1, попробуйте получить исторические данные K-линий с помощью языка JavaScript в инструменте квантования изобретателей. 2. Попробуйте написать стратегический код в начале этого раздела и написать комментарий.
В предыдущей статье мы рассказали вам о предпосылках для реализации стратегии торговли с точки зрения введения языка JavaScript, базовой грамматики, структуры стратегии CTA и т. Д. В этой статье мы продолжим то, что мы рассказали, с помощью часто используемых стратегий модулей, технических показателей, шаг за шагом, чтобы помочь вам реализовать действенную внутридневную количественную стратегию торговли.
Также называемая Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands. Это один из наиболее часто используемых технических индикаторов, изобретенный Джоном Боллинджером в 1980-х годах. Теоретически, цены всегда колеблются вокруг значения в определенном диапазоне.
Он рассчитывается с помощью статистических принципов, в которых сначала рассчитывается стандартное расхождение цен на фоне фонового фона за определенный период времени, а затем - стандартное расхождение цен на фоне фонового фона с добавлением/уменьшением стандартного расхождения в два раза по прямой линии. Основной формат - полоса, состоящая из трёх трасс (средний, верхний и нижний трассы). Средний трасс представляет собой среднюю стоимость цены, а верхний и нижний трассы - линии давления и линии поддержки.
Поскольку используется концепция стандартного разрыва, ширина БОЛЛ-панеля динамически корректируется в зависимости от скорого колебания цен; небольшие колебания означают, что БОЛЛ-панель становится узким; большие колебания означают, что БОЛЛ-панель становится широким. Когда БОЛЛ-панель становится узким, это означает, что цена постепенно возвращается к нормальному уровню. Когда БОЛЛ-панель становится узким, это означает, что ситуация начинает меняться.
Среди всех технических показателей, метод расчета ленты Бринга является одним из самых сложных, который вводит в статистику концепцию стандартного отклонения, связанную с расчетом средней линии (MB), верхней линии (UP) и нижней линии (DN).
Средняя линия= простой движущийся средний за N периодов времениПоезда= средняя орбита + стандартное отклонение в K × N временных интервалахПоезда= средний тракт − стандартное отклонение в K × N временных интервалахРисунок 4-19
В данном уроке мы будем использовать один из самых простых методов использования линии Брин. То есть, когда цена проходит через траекторию снизу вверх, то есть проходит через линию давления вверх, мы считаем, что многосторонние силы усиливаются, что уже сформировалась волна пик, и что был создан сигнал покупки;
Hailhydra2Хорошая статья!
Куантизация пустотыотметка