В процессе загрузки ресурсов... загрузка...

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

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

img

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

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

  • Модуль по категориям сделок

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

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

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

      img

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

      Мы можем начать с простой структуры, чтобы напечатать количество текущей конфигурации биржи:img

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

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

      Давайте посмотрим на результаты работы этого комбинированного модуля:img

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

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

      img

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

      И еще один модуль для обучения предварительного обучения:imgУсловия суждения могут быть написаны так:img

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

      img

      Проверка результатов:img

      Например, код политики 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. Получить текущие пары на бирже.

      img

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

      imgРезультаты анализа:img

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

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

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

      Например, мы соединяем пример оплаты по последней цене на основе текущих данных о тике, плюс 10 юаней скидки, настраиваем сумму на 0.1 копейки, и печатаем ID заказа.img

      Проверка результатов:img

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

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

      img

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

      img

      Посмотрите, что мы можем увидеть:img

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

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

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

      img

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

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

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

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

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

      img

      Используйте модуль "Просмотр каждого элемента в списке" в модуле "Обратный тип" для просмотра заказов в текущем списке.imgПри прохождении каждый извлеченный заказ присваивается изменчивому модулю order ((создается в типе модуля переменного, как показано ниже:)imgИспользуйте модуль типа инструмента:imgСнять идентификатор заказа, передать в модуль отмены заказа на место отмены заказа, выполнить заказ отмены заказа.

      Проверка выполнена:img

      Описание с помощью политики 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. модуль для получения подробной информации о заказах по идентификатору заказа

      img

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

      img

      Посмотрите на заказы, которые были возвращены после запуска:img

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

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

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

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

      Перезагрузка:imgВ следующем примере выполняется повторное тестирование по этой настройке.

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

        img

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

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

        img

        При конфигурации объекта биржи как фьючерсной биржи, непосредственный доступ к рынку без установки контракта может привести к ошибке:img

        Мы установили контракт на MA909, а метанол - наш главный контракт на данный момент.imgТаким образом, получается текущее значение цены на MA909 в текущем тике.

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

        Использование модулейimg
        Необходимо указать однонаправленность, так как фьючерсы имеют: buy: больше позиций sell: свободный склад closebuy: Плоская многоскладная торговля closesell: Плохой склад Четыре направления (коммерческие фьючерсы еще в двух направлениях: closebuy_today плоский многоголовый позиции, closesell_today плоский пустой головной позиции).

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

        img

        По результатам опроса:img

        Например, код 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
      • Установка модуля

        img

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

        # 注意 : 回测不支持。
        

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

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

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

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

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

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


Связанные

Больше

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

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