Модуль визуализации для построения торговых стратегий - подробно
-
Тип логического модуля
-
1. Условный модуль
Этот модуль используется для комбинированного условного суждения и может добавлять несколько условных ветвей.
Нажмите на маленький значок «шестеренки», чтобы добавить условные ветви.Пример использования условного модуля объединен со следующим модулем для тестирования.
-
2. Модуль числового сравнения
Этот модуль используется для сравнения двух значений (можно также считать, что этот модуль и модуль значения объединены в модуль выражения) и возвращает логическое значение.
Этот модуль может оценить, являются ли значения с обеих сторон «больше», «меньше», «больше или равно», «меньше или равно», «не равно» или «равно». .
Положения шипов (выемок) по обе стороны раскрывающегося списка опций могут быть встроены в числовые и переменные модули (при условии, что модуль возвращает числовое значение).Пример использования «Условного модуля» и «Модуля сравнения значений» для объединения в пример оценочного суждения:

Как вы можете видеть, в этом примере всего 3 ветви при оценке условий.Так же, как использование операторов if в стратегиях JavaScript.
function main () { var a = 1 var b = 2 if (a > b) { Log("a > b") } else if (a < b) { Log("a < b") } else { Log("a == b") } } -
3. Логический модуль ИЛИ, Логический модуль И
Этот модуль используется для выполнения операции «ИЛИ» или операции «И». Модули, участвующие в операции (которые могут быть модулями, возвращающими логические значения, или модулями, возвращающими числовые значения), встроены в позиции шипа (шипа) на обе стороны раскрывающегося списка опций в середине модуля.
Прежде чем мы конкретно протестируем этот модуль, давайте сначала узнаем о модуле, который представляет логическое значение «истина»/«ложь» (устанавливается с помощью раскрывающегося списка), модуле, который представляет логическое значение «нет», и модуле, который представляет собой пустое значение.
- Пустые модули представляют
nullЗначение, используемое для сравнения, является ли некоторая переменная нулевой. - Булевы модули True/False представляют
true/falseЗначение, используемое для определения логического значения, возвращаемого определенными модулями или комбинациями модулей. - Модуль логического «не» представляет собой
!, используется для выполнения булевой операции НЕ.
Пример теста:
Вы можете видеть, что модули «Логическое ИЛИ, Логическое И» также могут быть вложенными.
Пример объединения вложенных модулей:
Эквивалентный код политики JavaScript:
function main () { var a = 1 var b = 2 Log((true && !false) || (a==b)) Log(null) }!false не является ложным, то есть это истинное значение. Логическое выражение: (true && !false): два истинных значения обрабатываются, и результат — истина.
a==b, очевидно, не равно, поэтому оно ложно.
Истинное значение и ложное значение логически объединяются вместе для получения истинного значения. - Пустые модули представляют
-
4. Модуль тернарной операции
Этот модуль также называется модулем утверждения, и его функция аналогична тернарному оператору в некоторых языках программирования.
Этот модуль также может быть вложенным. Суть модуля тернарной операции также заключается в логике условного суждения, и его функция аналогична функции условного модуля.
Реорганизуйте приведенное выше руководство по условным модулям, используя модуль тернарных операций.
Ниже приведен пример:Вот код политики, написанный на JavaScript:
function main () { var a = 1 var b = 2 Log(a < b ? b : (a > b ? a : "相等")) }Если вам интересно, вы можете настроить значения a и b и провести бэктест.
-
-
Тип модуля математики
Во многих примерах, которые мы приводили ранее, мы в большей или меньшей степени использовали некоторые математические модули.
Далее мы объясним некоторые математические модули, которые мы еще не изучили.-
1. Модуль тригонометрических функций
Обратите внимание, что параметры, указанные для положения шипа (шипа) этого модуля, представляют собой значения угла, а не радиан.
-
2. Числовой модуль Пи
-
3. Модуль случайного числа в определенном диапазоне значений
Этот модуль принимает случайное число в пределах заданного числового диапазона. Положение острия (вогнутости) модуля может напрямую заполнять числовое значение или использовать переменную в качестве начального и конечного значения случайного диапазона.
Как и код стратегии JavaScript:
function main () { var a = 1 var b = 9 Log(_N(a + Math.random() * (b - a), 0)) } -
4. Модуль диапазона предельных значений
Этот модуль ограничит переменные, заполненные в первой позиции шипа (шипа), диапазоном, установленным для второй и третьей позиций шипа (шипа).
Если значение больше максимального значения диапазона, модуль возвращает максимальное значение диапазона. Если значение меньше минимального значения диапазона, модуль возвращает минимальное значение.
Если он находится в этом диапазоне, возвращается значение самой переменной, которая принимает значение положения первого шипа (вогнутости).Как и код стратегии JavaScript:
function main () { var a = 9 Log(Math.min(Math.max(2, a), 5)) } -
5. Модуль остатка
Этот модуль выполняет числовые операции с остатками над числовыми модулями, установленными для позиций шипа (паза).
-
6. Модуль работы со списком
Этот модуль работает на основе модуля списка (вычисляет сумму элементов в списке и т. д.).
Как и код стратегии JavaScript:
function sum (arr) { var ret = 0 for (var i in arr) { ret += arr[i] } return ret } function main () { var b = 2 var a = 1 Log(sum([b,a,b,a,a])) }
-
Пример стратегии визуализации:
- https://www.fmz.cn/strategy/121404
- https://www.fmz.cn/strategy/129895
- https://www.fmz.cn/strategy/123904
- https://www.fmz.cn/strategy/122318
Больше стратегий доступно по адресу: https://www.fmz.cn/square
Другие статьи этой серии
- Модуль визуализации для построения торговых стратегий - продвинутый
- Модуль визуализации для построения торговой стратегии — первый взгляд
Скучное программирование можно легко завершить с помощью строительных блоков. Попробуйте, это очень интересно!
- 1



















