Визуализация модуля построения стратегии сделок - прогресс

Автор:Изобретатели количественного измерения - мечты, Создано: 2019-07-17 10:22:20, Обновлено: 2023-10-24 21:40:50

可视化模块搭建交易策略–进阶

Визуализация модулей для создания стратегии торговли

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

  • ## Модуль категории транзакций

В предыдущих изучениях и тестах мы уже обращались к нескольким модулям "категории сделок". Например: Модуль "Обменные акции". Модуль "Обменные опционы на K-линию" Я не знаю.

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

  • 1, количество экспонатов

    可视化模块搭建交易策略–进阶

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

    Мы можем начать с простой структуры, чтобы напечатать количество текущей конфигурации биржи:可视化模块搭建交易策略–进阶

    Это похоже на вызов JavaScript-политики, которая звучит так:

    function main () {
        Log(exchanges.length)
    }
    

    Давайте посмотрим на результаты работы этого комбинированного модуля:可视化模块搭建交易策略–进阶

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

  • 2, получение названия биржи

    可视化模块搭建交易策略–进阶

    При добавлении трех обменных объектов, внизу выводится три варианта. Заранее изучить циклический модуль, в циклическом типе.可视化模块搭建交易策略–进阶

    И еще один модуль для обучения предварительного обучения:可视化模块搭建交易策略–进阶Условия суждения могут быть написаны так:可视化模块搭建交易策略–进阶

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

    可视化模块搭建交易策略–进阶

    Проверка результатов:可视化模块搭建交易策略–进阶

    Например, код политики JavaScript:

    function main () {
        for (var i = 1 ; i <= exchanges.length ; i++) {
            if (i == 1) {
                Log(exchanges[0].GetName())
            } else if (i == 2) {
                Log(exchanges[1].GetName())
            } else {
                Log(exchanges[2].GetName())
            }
        }
    }
    
  • 3. Получить текущие пары на бирже.

    可视化模块搭建交易策略–进阶

    Один из простых примеров - получить пару сделок первого объекта биржи с текущей настройкой и придать значение переменной text ((создать заранее в категории переменных)).

    可视化模块搭建交易策略–进阶Результаты анализа:可视化模块搭建交易策略–进阶

    Если вы вызовете JavaScript-политику:

    function main () {
        var text = exchange.GetCurrency()
        Log(text)
    }
    
  • 4, модуль под заказ

    可视化模块搭建交易策略–进阶Этот модуль очень важен для операций с заказами, где первое положение вставляет переменную цены, для определения цены заказа, а также может напрямую вводить фиксированные значения. Второе положение вкладывается в переменную количества, которая используется для указания количества, которое нужно заказывать.

    Например, мы соединяем пример оплаты по последней цене на основе текущих данных о тике, плюс 10 юаней скидки, настраиваем сумму на 0.1 копейки, и печатаем ID заказа.可视化模块搭建交易策略–进阶

    Проверка результатов:可视化模块搭建交易策略–进阶

    Например, следующий JavaScript-политический код:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
        Log(id)
    }
    
  • 5. Получить модуль текущей сделки на заказ

    可视化模块搭建交易策略–进阶

    Модуль возвращает все порученные заказы, находящиеся в состоянии невыполнения в текущей транзакционной паре, и возвращает структуру списка (арео), которую можно обрабатывать с помощью модулей типа списка (прохождение операций и т. д.). Например: мы немного изменили пример модуля с заказами на 4 квадрата, чтобы изменить цену на 10 долларов, добавленную при заказе, на минус 10 долларов. Заказ не будет оформлен сразу, а будет находиться в зависимости от глубины покупки (т. е. купить один, купить два, купить N в некотором диапазоне), так что заказ будет находиться в зависимости от объема покупки, ожидая оформления. Затем мы используем модуль "Получить текущую сделку на заказ" для получения списка заказов, которые находятся в состоянии PENDING ("ожидания выполнения"). Чтобы избежать обработки заказов в последующем процессе, что повлияет на последнее наблюдение, мы выполняем модуль "Получить текущую сделку на порученный заказ", печатаем список заказов и сразу же останавливаем процесс с помощью модуля "Выбросить исключения".

    可视化模块搭建交易策略–进阶

    Посмотрите, что мы можем увидеть:可视化模块搭建交易策略–进阶

    Следующая покупка будет стоить меньше, чем 10 долларов США, поэтому сделка не состоится сразу. Затем получают заказы, которые ожидают оформления, и распечатывают их. Наконец, выбросить исключение и остановить процесс.

    В результате, все модули, которые были собраны вместе, как будто бы вызывали JavaScript-политику:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        Log(exchange.GetOrders())
        throw "stop"
    }
    
  • 6, отменить модуль заказа

    可视化模块搭建交易策略–进阶

    Этот модуль используется для отмены заказов.

    В некоторых ситуациях, когда нужно писать стратегию, нужно сделать следующее:

    Например, мы можем отменить все заказы, которые были размещены на сайте.

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

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

    可视化模块搭建交易策略–进阶

    Используйте модуль "Просмотр каждого элемента в списке" в модуле "Обратный тип" для просмотра заказов в текущем списке.可视化模块搭建交易策略–进阶При прохождении каждый извлеченный заказ присваивается изменчивому модулю order ((создается в типе модуля переменного, как показано ниже:)可视化模块搭建交易策略–进阶Используйте модуль типа инструмента:可视化模块搭建交易策略–进阶Снять идентификатор заказа, передать в модуль отмены заказа на место отмены заказа, выполнить заказ отмены заказа.

    Проверка выполнена:可视化模块搭建交易策略–进阶

    Описание с помощью политики JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        var id2 = exchange.Buy(_C(exchange.GetTicker).Last - 12, 0.2)
        Log(id2)
        var orders = exchange.GetOrders()
        Log(orders)
        for (var i in orders) {
            var order = orders[i]
            Log(exchange.CancelOrder(order.Id))
        }
    }
    
  • 7. модуль для получения подробной информации о заказах по идентификатору заказа

    可视化模块搭建交易策略–进阶

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

    可视化模块搭建交易策略–进阶

    Посмотрите на заказы, которые были возвращены после запуска:可视化模块搭建交易策略–进阶

    Сравнение результатов выполнения и в примере 5 шт. шт. можно обнаружить, что напечатанный заказ является отдельной информацией о заказах, без[]В центре скобки упаковка. Поскольку в примере 5 возвращается список, то в этом примере возвращается отдельная информация о заказе (обретение модуля на основе ID-переменной на месте ввода модуля).

    Приведенные выше примеры совпадают с выполнением политики JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(exchange.GetOrder(id))
    }
    
  • 8. Фьючерсный модуль

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

    Перезагрузка:可视化模块搭建交易策略–进阶В следующем примере выполняется повторное тестирование по этой настройке.

    • Модуль состояния связи сервера фьючерсной компании с товарным фьючерсом CTP

    可视化模块搭建交易策略–进阶

    Фьючерсы на товарные товары имеют время открытия и время закрытия рынка, а во время закрытия рынка не подключаются.

    • Настройка модуля контракта

    可视化模块搭建交易策略–进阶

    При конфигурации объекта биржи как фьючерсной биржи, непосредственный доступ к рынку без установки контракта может привести к ошибке:可视化模块搭建交易策略–进阶

    Мы установили контракт на MA909, а метанол - наш главный контракт на данный момент.可视化模块搭建交易策略–进阶Таким образом, получается текущее значение цены на MA909 в текущем тике.

    • Настройка однонаправленного модуля для торговли фьючерсами

    Использование модулей可视化模块搭建交易策略–进阶
    Необходимо указать однонаправленность, так как фьючерсы имеют: buy: больше позиций sell: свободный склад Closebuy: Плоская многоскладная торговля closesell: Плохой склад Четыре направления (коммерческие фьючерсы еще в двух направлениях: closebuy_today плоский многоголовый позиции, closesell_today плоский пустой головной позиции).

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

    可视化模块搭建交易策略–进阶

    По результатам опроса:可视化模块搭建交易策略–进阶

    Например, код JavaScript-политики:

      function main () {
          while (true) {
              if (exchange.IO("status")) {
                  exchange.SetContractType("MA909")
                  Log(exchange.GetTicker().Last)
                  exchange.SetDirection("buy")
                  Log(exchange.Buy(1000, 1))
                  throw "stop"
              } else {
                  Log("未连接商品期货前置机")
              }
              Sleep(1000)
          }
      }
    
  • 9. Модуль торговли фьючерсами цифровых валют

    Использование цифровых валют в отношении фьючерсов в основном аналогично использованию товарных фьючерсов в таблице 8 выше

    • Контрактный код, использующий OKEX, может быть:

      • this_week: Эта неделя
      • next_week: следующая неделя
      • квартал: квартал
      • swap: постоянный
    • BitMEX:

      • XBTUSD
      • ETHUSD
    • Установка модуля

    可视化模块搭建交易策略–进阶

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

      # 注意 : 回测不支持。
    

    Например, в JavaScript-политике:

      function main () {
          exchange.SetMarginLevel(10)
      }
    

Визуализируйте стратегию парадигмы:

Более подробные стратегии можно найти на:https://www.fmz.com/square

Другие статьи в серии

Это скучное программирование, которое можно легко выполнить с помощью блоков, попробуйте, это очень интересно!


Содержание

Больше информации

ЭйлинПосле месяца обучения программированию я не могу написать стратегию, и теперь я полностью зависую от блоков!

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