Изучение визуализированных модулей для создания стратегии торговли - это просто знакомство, понимание концепции построения и сборки визуализированных модулей. В следующий раз будет легче научиться использовать другие модули. В этом случае можно комбинировать более сложные функции.
В предыдущих исследованиях и тестах мы уже говорили о нескольких типах модулей, называемых "категориями сделок". Например: Модуль "Обменные акции". Модуль "Обменные опционы на K-линию" Я не знаю.
В этом случае, если вы хотите, чтобы ваш сайт был доступен для всех пользователей, вы можете воспользоваться этой услугой.
При написании стратегии с использованием роботов можно добавить более одного объекта биржи, например, стратегию хеджирования. Например, в случае, если вы хотите посетить рынок, вам может понадобиться пройти через объект биржи (что означает, что вы должны посетить его один раз). На этом этапе необходимо использовать модуль для получения данных обменных пунктов.
Мы можем начать с простой структуры, чтобы напечатать количество текущей конфигурации биржи:
Это похоже на вызов JavaScript-политики, которая звучит так:
function main () {
Log(exchanges.length)
}
Давайте посмотрим на результаты работы этого комбинированного модуля:
Как видите, мы добавили 3 объекта биржи, которые представляют три разных счета биржи, и результатом ретрансляции является выход журналов 3.
При добавлении трех обменных объектов, внизу выводится три варианта. Заранее изучить циклический модуль, в циклическом типе.
И еще один модуль для обучения предварительного обучения:Условия суждения могут быть написаны так:
Мы использовали оборотные модули, чтобы перейти к названиям бирж. Используйте модуль условного определения, чтобы определить, соответствует ли текущий цикл отсчета названию биржи, которую вы хотите напечатать.
Проверка результатов:
Например, код политики 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())
}
}
}
Один из простых примеров - получить пару сделок первого объекта биржи с текущей настройкой и придать значение переменной text ((создать заранее в категории переменных)).
Результаты анализа:
Если вы вызовете JavaScript-политику:
function main () {
var text = exchange.GetCurrency()
Log(text)
}
Этот модуль очень важен для операций с заказами, где первое положение вставляет переменную цены, для определения цены заказа, а также может напрямую вводить фиксированные значения. Второе положение вкладывается в переменную количества, которая используется для указания количества, которое нужно заказывать.
Например, мы соединяем пример оплаты по последней цене на основе текущих данных о тике, плюс 10 юаней скидки, настраиваем сумму на 0.1 копейки, и печатаем ID заказа.
Проверка результатов:
Например, следующий JavaScript-политический код:
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
Log(id)
}
Модуль возвращает все порученные заказы, находящиеся в состоянии невыполнения в текущей транзакционной паре, и возвращает структуру списка (арео), которую можно обрабатывать с помощью модулей типа списка (прохождение операций и т. д.). Например: мы немного изменили пример модуля с заказами на 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"
}
Этот модуль используется для отмены заказов.
В некоторых ситуациях, когда нужно писать стратегию, нужно сделать следующее:
Например, мы можем отменить все заказы, которые были размещены на сайте.
Несомненно, это обязательно будет использовать "модуль снятия", и в то же время, изучая модуль снятия, мы сможем использовать модуль снятия 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))
}
}
Модуль имеет доступ к модулю изменения ID заказа, который возвращает подробную информацию о заказах.
Посмотрите на заказы, которые были возвращены после запуска:
Сравнение результатов выполнения и в примере 5 шт. шт. можно обнаружить, что напечатанный заказ является отдельной информацией о заказах, без[]
В центре скобки упаковка.
Поскольку в примере 5 возвращается список, то в этом примере возвращается отдельная информация о заказе (обретение модуля на основе ID-переменной на месте ввода модуля).
Приведенные выше примеры совпадают с выполнением политики JavaScript:
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
Log(exchange.GetOrder(id))
}
В этом модуле мы учимся поэтапно, тестируя биржи, которые мы настраиваем на товарные фьючерсы.
Перезагрузка:В следующем примере выполняется повторное тестирование по этой настройке.
Модуль состояния связи сервера фьючерсной компании с товарным фьючерсом 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)
}
}
Использование цифровых валют в отношении фьючерсов в основном аналогично использованию товарных фьючерсов в таблице 8 выше
Контрактный код, использующий OKEX, может быть:
BitMEX:
Установка модуля
Например, в случае, если вы используете цифровую валюту, вы можете использовать его для получения финансовой поддержки.
# 注意 : 回测不支持。
Например, в JavaScript-политике:
function main () {
exchange.SetMarginLevel(10)
}
Визуализируйте стратегию парадигмы:
Более подробные стратегии можно найти на:https://www.fmz.com/square
Другие статьи в серии
ЭйлинПосле месяца обучения программированию я не могу написать стратегию, и теперь я полностью зависую от блоков!
Изобретатели количественного измерения - мечтыСпасибо за поддержку, и мы продолжим эту серию. На самом деле, в зависимости от кода JavaScript-политики, соответствующей за каждым парадром, легко овладеть написанием стратегии в JS.