Изобретатели вводят в квантовые сделки - от базовых до реальных.

Автор:Доброта, Создано: 2019-06-25 15:48:58, Обновлено: 2023-10-31 21:01:08

Значение человеческого слова. После долгих занятий и самообучения мы научились говорить и понимать, что говорят другие дети. Языков много, включая китайский, английский, французский и другие. Китайский: Здравствуйте, мир Английский: Hello World Французский:Bonjour tout le monde

Если использовать язык программирования и показать "Здравствуйте, мир" на экране компьютера, это выглядит так: Язык C: puts (приветствую мир); Язык Java:System.out.println ((Весь мир, доброе утро)) Язык Python:print (((О, мир, привет)) Вы можете видеть, что компьютерные языки имеют свои собственные конкретные правила, и есть много языков, и эти языковые правила - это классификация языков программирования, о которой мы сегодня должны рассказать всем, и в каждой классификации нам нужно только запомнить самые базовые общие правила, чтобы использовать эти языки программирования и компьютерное общение, чтобы компьютер работал по нашим инструкциям.

Классификация языков программирования

Для того, чтобы упростить сравнение и выбор языка для программирования для количественных сделок, мы рассмотрим классификацию шести наиболее распространенных языков: Python, Matlab/R, C++, Java/C#, EasyLanguage и Visualization (как показано ниже).imgРисунок 3-1 Оценка языков программирования

Мы оцениваем их по функциональному диапазону, скорости выполнения, масштабируемости и сложности обучения. Оценка от 1 до 5, например, 5 баллов в функциональном диапазоне, означает мощную функцию, а 1 балл означает меньшую функцию.

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

Визуализация языка

Визуализированное программирование имеет давнее происхождение и не является чем-то новым. Эта идея программирования, которая, как вы видите, имеет множество модулей управления, которые могут быть использованы для создания логики кода, разработки стратегии торговли, а также для создания блоков.imgРисунок 3-2 Визуализация интерфейсов языков программирования

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

Поскольку основной слой реализации стратегии в этом визуализированном языке переведен в C++, это не имеет большого влияния на скорость выполнения программы. Однако функциональность и масштабируемость слабы, и не может быть разработана слишком сложная, слишком тонкая стратегия сделки.

EasyLanguage

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

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

Питон

На Stackoverflow посещаемость основного языка программирования в последние годы практически не изменилась, только Python все время демонстрирует тенденцию к росту. Python используется для веб-разработки, машинного обучения, глубокого обучения, анализа данных и т. д.

Список базовых структур данных и словариев, очень мощные и в основном удовлетворяющие потребности в представлении данных. Если требуется более быстрая, функциональная и более полная структура данных, рекомендуется использовать NumPy и SciPy, две библиотеки, которые в основном называются стандартными библиотеками научного вычисления Python.

Для финансовой инженерии более целевой библиотекой является Pandas, которая имеет две структуры данных, Series и DataFrame, и очень подходит для обработки временных последовательностей.

С точки зрения скорости, Python находится в середине потока, немного медленнее, чем C++, и быстрее, чем EasyLanguage, главным образом потому, что Python - это динамический язык, который обычно работает быстро в чисто Python языке.

В качестве языка-разработчика, Python является достойным первым в области расширяемых производительностей, кроме того, что он может широко взаимодействовать с другими языками, а также расширять API, которые очень просты в использовании.

MATLAB/R

Далее следуют языки Matlab и R, которые в основном ориентированы на анализ данных. Авторы языка много работали над разработкой научных операций в грамматическом плане, которые характеризуются врожденной поддержкой количественных операций с сделками. Однако их применение ограничено, и они обычно используются для анализа данных и стратегической проверки.

Кроме того, они имеют относительно низкую скорость и масштабируемость, поскольку языки Matlab и R работают на уникальных языковых виртуальных машинах. С точки зрения производительности, их виртуальные машины намного хуже, чем Java и C#. Но они также относительно просты в изучении, поскольку их грамматика ближе к математическим формулам.

C++

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

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

Java/C#

Java/C# являются статическими языками, которые работают на виртуальных машинах. В отличие от C++, они не имеют пересечения матриц, не имеют корэдампов, не могут выбрасывать необычно точные позиции в местах ошибочного кода, не имеют автоматического механизма рециклирования мусора, не беспокоятся о утечке памяти и т. д. Поэтому они также легче, чем C++, учитывая сложность грамматики.

Но с точки зрения функциональности, они не могут быть реализованы, как в C++, с оптимизацией основы системы сделок. С точки зрения расширения производительности, они слабее по сравнению с C++, поскольку их расширение требует перехода через мост C, а оба языка сами по себе работают на виртуальной машине, поэтому при расширении функциональных модулей требуется больше прохода через стену для реализации.

Подведение итогов

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

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

Домашнее задание

1. Какие преимущества имеет Python как язык количественных сделок? 2) Попробуйте написать несколько распространенных API на языке Mac для ваших изобретателей?

Следующая часть

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

3.2 Быстрое знакомство с языком

Аннотация

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

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

Полная стратегия

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

Большое предложение: если в настоящее время нет позиций, и цена закрытия больше, чем краткосрочная средняя линия, и цена закрытия больше, чем долгосрочная средняя линия, и краткосрочная средняя линия больше, чем долгосрочная средняя линия, и долгосрочная средняя линия выше;

Открытие акций: если в настоящее время нет позиций, и цена закрытия меньше, чем средняя краткосрочная, и цена закрытия меньше, чем средняя долгосрочная, и средняя краткосрочная меньше, чем средняя долгосрочная, и средняя долгосрочная снижается;

Многоголовые позиции: если в настоящее время у вас много заказов, и цена закрытия меньше, чем длительный средний, или длительный средний меньше, чем длительный средний, или длительный средний снижается.

Плохое положение: если в настоящее время имеется пустой заказ, и цена закрытия больше, чем длительный средний, или короткий средний больше, чем длительный средний, или длительный средний выше;

Если написать его в коде на языке Ma, это выглядит так:imgСхема 3 - 3 Полный пример языка Мая

Для написания полной стратегии количественной торговли обычно требуется несколько шагов: получение данных, вычисление данных, логическое вычисление, покупка-продажа заказа. Как показано выше, в целом коде используется только один API для получения базовых данных, т.е. клавиши CLOSE в первой и второй строках; затем строки 1 - 9 являются частью вычисления данных; наконец, строки 11 - 14 являются частью логического вычисления и заказа.

Обратите внимание, что фиолетовый код - это переменные; в первой строке до девятой строки - зеленый знак: = * * - это знаки присвоения, а после завершения вычисления данных на правом боку знака присвоения данные присваиваются переменным на левом; оранжевый код - это API, например, в первой строке вызов MA ((пространственная линия) требует передачи двух параметров, параметры передачи можно понять как настройки, то есть при вызове MA необходимо установить тип MA; красный знак - * AND * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Основные данные

Основные данные (открытие, максимум, минимум, закрытие, объем) являются неотъемлемой частью количественной торговли. Для получения последних базовых данных в стратегии необходимо просто вызвать API инструмента количественной оценки изобретателя. Если вы хотите получить исторические базовые данные, вы можете использовать кнопку REF, например: REF ((CLOSE, 1) - это цена закрытия вчерашнего дня.

Переменные

Переменные - это переменные числа, имена переменных можно понимать как коды, и их наименование поддерживает формат китайских букв, букв, цифр, ссылок, но длина должна быть контролирована в пределах 31 символа. Названия переменных не могут повторяться друг с другом, не могут повторяться с именами параметров, не могут повторяться с именами функций (API), и каждое предложение должно заканчиваться отметкой.imgРисунок 3-4 Типы данных на марийском языке

Присвоение значения

Назначение переменных - это присвоение значения правой стороны знака назначения переменным левой стороны. Всего четыре знака назначения, которые позволяют контролировать, отображаются ли числа на графике, а также определять, где они отображаются.imgРисунок 3-5 Присвоение языковых переменных

Типы данных

В китайском языке существует множество типов данных, наиболее распространенными из которых являются типы чисел, типы строк, типы буров. Типы чисел - это числа, включая целые числа, дроби, положительные отрицательные числа и т. д., такие как: 1, 2, 3, 1.1234, 2.23456...; типы строк можно понимать как слова, китайские и английские цифры, все они могут быть строками, например:

Отношения

Относительные операторы, как и их название, являются операторами, используемыми для сравнения отношений между двумя значениями.imgРисунок 3-6 Операторы на языке Маск

Логические операторы

Логические операции могут соединять отдельные формулировки типа Бура в целое, наиболее часто используемые являются бура и бура и бура OR и бура OR. Предположим, что есть два значения типа Бура, а именно, бура закрытия больше, чем цена открытия и бура закрытия больше, чем цена упрощения, мы можем составить их в один бура, например: бура закрытия больше, чем цена упрощения и бура закрытия больше, чем цена упрощения или бура закрытия больше, чем цена упрощения.imgСхема 3-7 Логические операции в языке Маэ

Обратите внимание: Ключевое условие - это то, когда все условия для ключи являются ключевыми. OR является во всех условиях, при условии, что любое из условий является , окончательное условие является . Оригинальное название этого языка - AND. Оригинальное название этого языка - .

Операторы с расчётом

Не существует никакой разницы между распространенными математическими операторами (+,-,*,/) и математикой, изучаемой в начальных классах, как показано ниже:imgСхема 3-8 Марийский язык

Приоритеты

Если есть выражение 100* ((10-1) / ((10+5), какой шаг программы вычисляется первым? Средняя школа математики говорит нам: если это однообразные операции, обычно вычисляется в порядке слева направо. Если есть как добавление, так и вычитание, сначала умножают, затем подсчитывают и вычитают. Если есть скобки, то предварительно подсчитывают в скобках. Если соответствует закону операций, можно уменьшить с помощью закона операций.imgДиаграмма 3-9 Приоритеты операций с математическими операциями в малых языках

Режим выполнения

В языке Mac, в котором изобретатель использует инструменты для количественного измерения, программа выполняет два типа режима: режим закрытия и режим реального времени; режим закрытия указывает на то, что в настоящее время сигнал K-линии создан, и сразу же выполняет транзакцию, когда начинается нижний корень K-линии; режим реального времени указывает на то, что в настоящее время сигнал K-линии создан, и сразу же выполняет транзакцию.

Внутренняя стратегия

В случае внутридневных стратегий, когда конец требует выравнивания, необходимо использовать функцию времени выравнивания TIME. Функция выше секундной циклы, ниже суточной циклы, отображается в виде четырехзначного числа, т.е.: HHMM ((1450 14:50).imgРисунок 3-10 Функции времени в языке Ma

Классификация моделей

imgСхема 3-11 Классификация моделей языков

Модели в языке Мая классифицируются двумя типами: нефильтрованные модели и фильтрованные модели. Это хорошо понятно: нефильтрованные модели позволяют последовательно появляться сигналам открытия или тихого положения, что позволяет реализовать функции повышения и понижения.

Подведение итогов

Это краткое представление о языке Ma, после которого можно будет программировать стратегию количественной торговли. Если вам нужно составить более сложную стратегию, обратитесь к документации API-инструмента для количественной торговли Ma, или напрямую обратитесь к официальному сервису.

Следующая часть

Дневная торговля также является моделью торговли, которая не оставляет запасы на ночь, поэтому она не подвергается риску волатильности рынка, и может быть своевременно скорректирована, если возникнут неблагоприятные условия.

Домашнее задание

1, попробуйте написать API для получения базовых данных на маском языке с помощью инструментов квантования изобретателя. 2, в каких формах значения переменных отображаются на графике?

3.3 Как реализовать стратегию на языке май

Аннотация

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

Стратегический модуль

Подумайте, как вы соедините робот с кусками LEGO? Вы никогда не сможете соединить его сверху вниз или сверху вверх в один кусок. Любой, кто имеет немного общего понимания, знает, что голова, руки, ноги, крылья и т. д. должны быть соединены, чтобы собрать полный робот.

Этапный рост

Раздельный рост - это процент разницы между ценой закрытия корневой линии K и ценой закрытия предыдущих N циклов. Например, вычислить, какой был рост последних 10 этапов линии K, можно написать следующим образом:imgСхема 3-12 Увеличение уровня марийского языка

Высокий уровень инноваций

Реинновационный максимум - это максимальная цена за N циклов, когда корень K больше. Например, вычислить, когда корень K больше максимальной цены за последние 10 K циклов, можно написать:imgРисунок 3-13 Маэ язык снова инновационный

Нападение

Нападение объема может быть понято как рост цены и резкое увеличение объема сделок. Например: если цена закрытия корневой линии K равна 1,5 раза цене закрытия предыдущей 10-й K-линии, то это увеличение на 50% в течение 10 дней; объем сделок превышает средний показатель последних 10 K-линий в 5 раз.imgРисунок 3-14 Мая язык наступает

Уменьшенное распределение

Тонкое распределение означает, что цены сохраняются в пределах определенной величины в течение ближайшего периода. Например: если разница между максимальной ценой за 10 циклов и минимальной ценой за 10 циклов меньше 0,05 или около того, кроме ценой закрытия корневой линии K.imgРисунок 3-15 Мая язык в узком порядке

Упорядоченные многоголовые

Упорядоченный многоголовый ряд делится на многоголовый и пустой ряд, K-линия на 510203060 подкрепляет упорядоченный многоголовый ряд вверх, многоголовый ряд означает, что рыночная тенденция является сильным повышением.imgРисунок 3-16 Уравнительное множественное расположение

Высокие точки и их местоположение

Для получения предыдущей вершины, а также расположения этой вершины, можно получить ее непосредственно через API инструмента количественного измерения изобретателя.imgРисунок 3-17 Ранние пики Мая

Перепрыгивание через пустоту

При появлении перелома можно предположить, что уже началось ускорение тренда в направлении первоначального перелома. Код можно написать так:imgРисунок 3-18

Часто используемые технические показатели

Движущаяся средняя

imgРисунок 3-19

С точки зрения статистики, средняя линия - это среднее число цен в день, это траектория с тенденционными ценами. Средняя линия является техническим инструментом, часто используемым большинством аналитиков. С технической точки зрения, она влияет на психологические ценовые факторы технических аналитиков.imgРисунок 3-20 Расчет различных показателей в марийском языке

БОЛЛ

imgРисунок 3-21 BOLL

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

Среди всех технических показателей BOLL является одним из самых сложных, в котором вводится концепция стандартного расхождения в статистике, которая включает в себя расчеты средней линии (MB), верхней линии (UP) и нижней линии (DN).imgДиаграмма 3-22 Марийский язык

MACD

imgРисунок 3-23 MACD

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

imgРисунок 3-24 Марийский язык MACD показатель

Это наиболее распространенные стратегии в разработке количественных торговых стратегий, и, конечно, намного больше, чем это. С помощью примеров вышеперечисленных модулей вы также можете вручную реализовать несколько наиболее часто используемых торговых модулей в субъективной торговле.

Составление стратегии

На рынке валютных инструментов широко распространенная стратегия прорыва - HANS123, которая использует высокие и низкие точки линии N-K после короткого открытия, как критерий для определения сигналов, вызванных торговлей.

Стратегическая логика

Встреча событий, которые произошли в прошлом месяце, была очень интересной. Высокий уровень = 30 минут после начала; Нижняя трасса = низкая точка через 30 минут после открытия; Когда цены прорываются вверх, покупают и открывают позиции. Когда цены падают вниз по траектории, продаются открытые позиции. Стратегия внутридневного трейдинга, предзакрытие;

Код стратегии

imgРисунок 3-25 Код стратегии языка

Подведение итогов

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

Следующая часть

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

Домашнее задание

Попробуйте реализовать несколько наиболее часто используемых вами модулей в субъективной торговле. 2, попытаться реализовать алгоритм показателей KDJ с помощью языка Ma в инструментах квантования изобретателя.

3.4 Быстрое введение в визуализацию программирования

Аннотация

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

Полная стратегия

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

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

Если описать эту стратегию в визуальном языке, то она выглядит вот так:imgДиаграмма 3-26 Визуализация языкового интерфейса

Как показано выше, весь процесс разработки стратегии заключается в следующем: настройка совокупности рынков, получение K-линейной матрицы, получение 50-циклической средней стоимости на корневой K-линии, получение закрывающейся цены на корневой K-линии, получение матрицы хранения, определение состояния хранения, определение того, является ли цена закрытия больше или меньше средней линии, выполнение открытой или тихой позиции.

Здесь необходимо обратить внимание на концепцию матричных матриц, которые являются одной из важных структур данных для любого языка программирования. Матрицы похожи на контейнеры, в которых можно хранить ряд значений.imgРисунок 3-27 K-линейные матрицы

Код на рисунке выше представляет собой K-линейный массив, который состоит из 3 данных: данные верхнего корня K-линии, данные верхнего корня K-линии, данные корня K-линии.imgСсылки на диаграммы на рисунке 23-28

Второй вариант (строка 5), потому что в реальности есть сотни и тысячи корней данных K-строки, и новые K-строки постоянно увеличиваются. Таким образом, можно сначала получить длину массива, аarr.length означает получить длину этого массива, затем минус 1, то есть данные последнего K-строка. Если вы хотите получить данные по корню K-строки, минус 2, то вы можете получить длину массива.

Если вы внимательно посмотрите, вы увидите, что все эти данные включены в козырь, и вы, вероятно, знаете, что в них соответствует: время, цена открытия, максимальная цена, минимальная цена, цена закрытия, объем торгов. Если вы хотите получить цену закрытия на корневой линии K, просто добавьте козырь.imgСсылки на диаграммы на рисунках 3 - 29

Почему нужно использовать визуализированный язык?

С учетом вышесказанного, давайте сначала напишем программу в Java, которая будет выводить hello, worldhelp, чтобы получить ощущение традиционного программирования, как показано ниже:imgРисунок 3-30

Просто выпустить строку hello world! в программе, и вы напишете 5 строк кода. Я считаю, что большинство новичков знают только слова hello, world, в скобках. Поэтому, не зная, как начать, лучше всего использовать визуальное программирование в качестве входа.

Что такое визуализация?

Визуализированное программирование имеет давнее происхождение и не является чем-то новым. Эта идея программирования, которая, как вы видите, имеет множество модулей управления, которые могут быть использованы для создания логики кода, разработки стратегии торговли, а также для создания блоков.imgРисунок 33-31

Как показано выше, та же программа, в blockly визуализированной программировании, выполняется всего одной строкой кода. Это значительно снижает барьер программирования, особенно для тех трейдеров, которые не знают программирования. Это отличный опыт работы.

Какие особенности визуализированного языка

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

Количественное визуализирование программного обеспечения разработчиками, которое также осуществляется с помощью инструмента визуализации blockly, выпущенного Google.imgРисунок 33-32

В количественном визуализированном интерфейсе разработчиков встроены сотни общих торговых модулей, которые будут поддерживать новые идеи и новые приложения, которые будут совместно развиваться и поддерживаться разработчиками.

Хотя грамматика проста, она не теряет своей производительности. Она почти удовлетворяет большинству простых разработок количественных торговых стратегий. Она не уступает обычным языкам программирования, таким как Python, JavaScript и другие, как функциональность и скорость. В будущем она будет поддерживать логически сложные финансовые приложения.

Как использовать

imgРисунок 33-33

Написать программу hello, world

imgРисунок 33-34

Запустить, напечатать "Привет, мир"

imgРисунок 33-35

Подведение итогов

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

Следующая часть

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

Домашнее задание

1, в которых изобретатели количественно визуализируют интерфейсы программирования, используют API и понимают их значение. 2, с помощью визуализированного языка получать последние цены на открытие и экспортировать их в журналы.

3.5 Как реализовать стратегию с помощью визуализированного языка

Аннотация

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

Стратегический модуль

Этапный рост

Раздельный рост - это процент разницы между ценой закрытия корневой линии K и ценой закрытия предыдущих N циклов. Например, вычислить, какой был рост последних 10 этапов линии K, можно написать следующим образом:imgРисунок 33-36

Вышеуказанный код показывает, что для выполнения компьютера требуется полный логический цикл, например, для вычисления прогресса на последних 10 этапах K-строки необходимо разбить его на следующие шаги: Сначала компьютер должен четко знать, какую разновидность вы хотите торговать, например, метанол, и установить код контракта на: MA888. После установки кода контракта можно получить данные K-линии этого контракта.

С K-линейными данными можно извлечь из них подробные данные о любой из K-линий. Для того, чтобы оценить рост на этапе статистики, необходимо сначала получить две цены закрытия линии K, например: цена закрытия линии K в верхней коренной части и цена закрытия линии K на 11-й коренной части.

Наконец, на основе этих двух K-линий, вычислить коэффициент увеличения этапов. Каждая из следующих стратегий имеет такие характеристики, как логический цикл и условия, которые определяются свойствами.

Нападение

Нападение объема может быть понято как рост цены и резкое увеличение объема сделок. Например: если цена закрытия корневой линии K равна 1,5 раза цене закрытия предыдущей 10-й K-линии, то это увеличение на 50% в течение 10 дней; объем сделок превышает средний показатель последних 10 K-линий в 5 раз.imgРисунок 33-37

Перепрыгивание через пустоту

При появлении перелома можно предположить, что уже началось ускорение тренда в направлении первоначального перелома. Код можно написать так:imgРисунок 33-38

Часто используемые технические показатели

Средний EMA

С точки зрения статистики, средняя линия - это среднее число цен в день, это траектория с тенденционными ценами. Средняя линия является техническим инструментом, часто используемым большинством аналитиков. С технической точки зрения, она влияет на психологические ценовые факторы технических аналитиков.imgРисунок 33-39

MACD

MACD использует быстрое (краткосрочное) и медленное (долгосрочное) движущиеся средние линии и их признаки, а также их агрегацию и разделение для двойного гладкого расчета. MACD, разработанный по принципу движущихся средних, устраняет недостатки частого выпуска ложных сигналов движущимися средними, а также сохраняет эффект движущихся средних. Таким образом, MACD обладает такими характеристиками, как равнолинейная тенденция, стабильность и стабильность.imgРисунок 3-40

Индекс KDJ

Индекс KDJ объединяет в себе идеи движения, сильные и слабые показатели, а также движущиеся средние, которые используются для измерения степени изменения цены акций от нормального диапазона цен. В качестве показателя рассматриваются не только цены закрытия, но и последние максимумы и минимумы, что позволяет избежать слабости истинной величины колебаний, учитывая только цены закрытия.imgРисунок 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% текущего доступного баланса, то продажа на балансе;

Предусмотренные условия

  • Современный рынок
  • Текущие активы
  • Общая стоимость
  • Недостаток активов

Создание стратегии

Первый шаг в стратегии визуализации

Мы вычислили четыре предпосылки для стратегии торговли и придали значения каждой из них.imgРисунок 3-42

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

Визуализируйте стратегию написания

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

То есть, если активы меньше, чем 5% отрицательного доступного баланса, то они покупаются, а если активы больше, чем 5% доступного баланса, то они продаются; как показано ниже:imgРисунок 3-43

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

Это означает, что программа должна постоянно проверять, выполняются ли условия политики, если это касается выполнения покупки или продажи.imgРисунок 3-44

Стратегическая рецензия

Визуализация стратегии ничем не отличается от стратегии, написанной в других языках программирования, она также поддерживает несколько циклов, точные тесты исторических данных, и, конечно же, поддерживает внутренние и зарубежные товаровые фьючерсы и цифровые валюты.imgРисунок 3-45

На данный момент, полная стратегия торговли еще не готова. Для того, чтобы позаботиться о сторонах, эта стратегия была размещена на Strategy Square, где можно было бы скопировать исследование прямо.

Конец

Закон 10 000 часов всегда существует, но для нулевых трейдеров невозможно потратить 10 000 часов на повторное вступление. Таким образом, вам нужна лестница, а для нулевых трейдеров квантование визуализированного программирования является лестницей быстрого входа.

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

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

Следующая часть

С точки зрения профессионализма количественных сделок, как язык Мая, так и язык визуализации являются переходными языками в мир количественных сделок. Их языковые особенности также определяют ограничения в разработке стратегий количественных сделок, некоторые из которых маловероятны.

Домашнее задание

1, Попробуйте реализовать показатели Брин-Бенда с помощью визуализированного языка. 2. Попробуйте выполнить торговую стратегию с помощью модуля торговли в этом разделе.

Глава 4: Стратегия реализации транзакций в основных языках программирования

4.1 Быстрое знакомство с языком JavaScript

Аннотация

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

Почему нужно изучать язык JavaScript

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

Кроме того, язык JavaScript более лаконичный и элегантный, чем язык визуализации, например: язык визуализации содержит 10 строк кода, которые можно написать в JavaScript, возможно, 5 строк. В некоторых отношениях, язык визуализации является просто текстовой версией JavaScript, и его код выполняется и логика почти такая же, как у JavaScript. Если вы изучаете язык визуализации, то изучение JavaScript будет очень легким.

Описание языка JavaScript

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

Полная стратегия

Чтобы помочь вам быстро понять основные знания этого раздела, перед тем, как дать краткое представление об изобретателях языка Quantified JavaScript, давайте сначала ознакомимся с концепцией существительных слов в этом разделе.

Большое предложение: если в настоящее время нет позиций, и 5-циклическая средняя большая, чем 20-цикличная средняя.Открытие акций: если в настоящее время нет позиций, и 5-циклическая средняя меньше 20-циклической средней.Многоголовые позиции: если в настоящее время имеется несколько заказов, и 5-циклическая средняя линия меньше 20-цикличной средней линии.Плохое положение: если в настоящее время имеется пустой заказ, и 5-циклическая средняя линия больше 20-цикличной средней линии.

Если написать его в языке JavaScript, он выглядит так:imgРисунок 4-1

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

Идентификаторы

В JavaScript все ((variables, function names, and operators) различают по размеру, т.е. variable name test и variable name Test - это две разные переменные. Идентификатор ((name of variable, function, attribute, function parameter) должен быть первым символом буквы, запятой ((_)) доллара, ($) символа, а затем может быть цифрой, как показано на рисунке:imgРисунок 4-2

Комментарии

Комментарии включают однострочные и блоковые комментарии. Однострочные комментарии начинаются с двух скоб, блоковые комментарии - с скоб и звездочкой./) начинается со звездочкой и скобкой (((/) В конце, следующий рисунок:imgРисунок 4 - 3

Словарь

Каждое предложение имеет заканчивание с запятой; хотя это не обязательно, мы рекомендуем никогда не оставлять его без внимания.imgРисунок 4-4

Переменные

Переменные могут хранить любой тип данных, при создании переменных используется оператор var, который следует за именем переменных. При определении переменных также можно установить значение переменных. После создания переменных снова устанавливается значение переменных без использования оператора var, как показано на рисунке ниже:imgРисунок 4-5

Данные

В JavaScript существует пять типов данных: undefined, null, boolean, number, string, как показано на рисунке ниже:imgРисунок 4-6

Undefined имеет только одно значение, а именно специальную букву undefined, которая представляет собой значение, которое еще не установлено. Например, мы определяем только одну переменную и не устанавливаем значения для этой переменной, то значение этой переменной будет букву undefined.

Null имеет только одно значение, это специальный null-лист, который представляет собой значение, которое установлено на пустоту. Например, если мы сначала создаем переменную, а затем настроим значение переменной на null-лист, то обратный запрос вернет значение переменной в null-лист.

Булеан имеет два значения, то есть - true и false, - true и false. Обратите внимание, что true и false обозначаются в малых буквах.

Number - это типы чисел, включающие: положительные, отрицательные, целые, дроби и т. д. Кроме того, NaN - это специальное число, которое специально обозначает случаи, когда число не возвращается, например:

String можно понимать как тексты, содержащие китайский и английский языки, которые можно составить с помощью одно- или двухцифровых знаков.

Объекты

Объекты можно понимать как контейнер, в котором хранятся различные данные, в котором соответствуют свойства и значения. Этот контейнер можно создать заранее с помощью оператора new.imgРисунок 4-7.

Масштабы

Матрица также является контейнером для хранения различных типов данных, только элементы в контейнере расположены в порядке от левого к правому, первый элемент - 0, второй элемент - 1, и так далее. Кроме того, матрицы JavaScript могут хранить любой тип данных, как показано на рисунке:imgРисунок 4-8

Функции

Функции в JavaScript не отличаются по своей сути от функций, которые мы изучаем в средней школе, и вы можете понять, что передается, а что выводится с помощью вычислений функций, как показано на следующей схеме:imgРисунок 4-9

Операторы

В JavaScript существует множество операторов, а именно: арифметические операторы, сравнительные операторы, логические операторы. В них арифметические операторы - это математические операции с добавлением и сокращением умножения, сравнительные операторы могут сравнивать два значения меньше или меньше, логические операторы в основном имеют: логический и, логический или, логический не; как показано ниже:imgРисунок 4-10 Следует отметить: && означает логическое соотношение, что означает и . . И&& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и& и&

Приоритеты

Если есть выражение 100* ((10-1) / ((10+5), какой шаг программы вычисляется первым? Средняя школа математики говорит нам: если это однообразные операции, обычно вычисляется слева направо; 2) если есть как добавление, так и вычитание, сначала умножается; 3) если есть скобки, предшествующие скобкам; 4) если соответствует закону операций, можно уменьшить с помощью закона операций. Приоритет языка JavaScript также такой же, как в следующей диаграмме:imgРисунок 4-11

Условные предложения

Обычно, когда вы пишете код, вам всегда нужно выполнять разные действия для разных решений. Вы можете использовать условия в коде для выполнения этой задачи. В JavaScript мы можем использовать следующие условия: if - Используется для выполнения кода только при условии true if...else - выполняет код при условии true и выполняет другой код при условии false if...else if...else - используется для выбора одного из нескольких блоков кода для выполнения switch statement - используется для выбора одного из нескольких блоков кода для выполнения

if-слова

Код выполняется только при условии, что указанное условие является true. Используйте малую букву if. Использование большой буквы ((IF) создает ошибку JavaScript!imgРисунок 4-12#

if...else фраза

Исполнение кода при условии true, выполнение другого кода при условии false, как показано на рисунке:imgРисунок 4-13

for цикл

Иногда, когда нам нужно получить данные K-линий за последние несколько дней, нам нужно получить их из K-линейных массивов, в зависимости от их местоположения. Для этого очень удобно использовать цикл for, как показано на рисунке:imgРисунок 4-14

while цикл

Мы все знаем, что рынок постоянно меняется, и если вы хотите получить самые последние K-линейные массивы, вам нужно постоянно выполнять один и тот же код снова и снова, тогда используйте цикл whilex, который всегда будет получать самые последние K-линейные массивы, если условие указано как true.imgРисунок 4-15

break и continue

Цикл имеет предварительные условия, и только при условии, что это условие является истинным, цикл начинает повторяться, и цикл заканчивается, пока это условие не является ложным. Однако break-заявления могут сразу выйти из цикла в процессе выполнения цикла; continue-заявления могут прервать один цикл, а затем продолжить следующий цикл, как показано ниже:imgРисунок 4-16

return-слова

return-заявление прекращает выполнение функции и возвращает значение функции. return-заявление может появиться только в теле функции, и если оно появится в любом другом месте в коде, это вызовет синтаксическую ошибку!imgРисунок 4 - 17

Архитектура стратегии CTA

В инструментах для количественного определения изобретателей, где будет очень удобно написать политику в языке JavaScript, официально встроен стандартный пакет политических рамок, как показано на рисунке ниже:imgРисунок 4-18

Помимо того, что код на рисунке выше является стандартной стратегической структурой, которая может быть изменена, остальные являются фиксированными форматами. Наибольшее преимущество использования рамки для написания стратегии заключается в том, что вам нужно просто написать логику стратегии.

Подведение итогов

Это быстрое введение в язык JavaScript, после которого можно будет программировать количественные стратегии торговли. Если вам нужно написать более сложные стратегии, обратитесь к документации API языка JavaScript.

Следующая часть

Дневная торговля также является моделью торговли, которая не сохраняет позиции в течение ночи, поэтому риски волатильности рынка низки, и можно вовремя скорректировать, если возникает неблагоприятная ситуация. После изучения этого раздела введение языка JavaScript, в следующем разделе мы возьмём вас с собой, чтобы написать действенную стратегию количественной торговли в течение дня.

Домашнее задание

1, попробуйте получить исторические данные K-линий с помощью языка JavaScript в инструменте квантования изобретателей. 2. Попробуйте написать стратегический код в начале этого раздела и написать комментарий.

4.2 Как реализовать стратегические сделки в JavaScript

Аннотация

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

Стратегическое описание

Также называемая Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands, Bollinger Bands. Это один из наиболее часто используемых технических индикаторов, изобретенный Джоном Боллинджером в 1980-х годах. Теоретически, цены всегда колеблются вокруг значения в определенном диапазоне.

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

Поскольку используется концепция стандартного разрыва, ширина БОЛЛ-панеля динамически корректируется в зависимости от скорого колебания цен; небольшие колебания означают, что БОЛЛ-панель становится узким; большие колебания означают, что БОЛЛ-панель становится широким. Когда БОЛЛ-панель становится узким, это означает, что цена постепенно возвращается к нормальному уровню. Когда БОЛЛ-панель становится узким, это означает, что ситуация начинает меняться.

Методы расчета показателей ленты Брин

Среди всех технических показателей, метод расчета ленты Бринга является одним из самых сложных, который вводит в статистику концепцию стандартного отклонения, связанную с расчетом средней линии (MB), верхней линии (UP) и нижней линии (DN).

Средняя линия= простой движущийся средний за N периодов времениПоезда= средняя орбита + стандартное отклонение в K × N временных интервалахПоезда= средний тракт − стандартное отклонение в K × N временных интервалахimgРисунок 4-19

Стратегическая логика

В данном уроке мы будем использовать один из самых простых методов использования линии Брин. То есть, когда цена проходит через траекторию снизу вверх, то есть проходит через линию давления вверх, мы считаем, что многосторонние силы усиливаются, что уже сформировалась волна пик, и что был создан сигнал покупки;


Связанные

Больше

Hailhydra2Хорошая статья!

Куантизация пустотыотметка