Изобретатели количественных торговых платформПлощадь стратегииВ то время, когда криптовалютные биржи были в основном используемыми, было много интересных стратегий.rest
Многие стратегии были основаны на API протокола.rest
В то же время, в последнее время появились некоторые биржи.rest
Положение, когда интерфейс не работает, что приводит к невозможности использования политики.websocket
Поддержка интерфейса требует внесения некоторых изменений в код стратегии, что обычно является более сложным (изменение стратегии намного сложнее, чем перепись).
Как не менять стратегию, но использовать ее?websocket
А что насчет интерфейса?
Это вполне иллюстрирует мощную гибкость квантовых платформ для торговли, которые мы можем использовать:
exchange.GetTicker
Функция Hook, полученная с помощью операций.Это означает, что вы не должны менять одну строку кода, а просто позволить стратегии работать с вами.websocket
Данные, отправляемые с помощью интерфейса, работают.
Использование языков кодированияJavaScript
Язык.
Например, мы хотим изменить классическую старую стратегию "Ледокол".
Сначала мы посмотрим на код стратегии, и обнаружим, что эта стратегия управляется рынком тиков, и в основном используется для использования в качестве инструмента.ticker
В данныхBuy
、Sell
、Last
Это очень важно.ticker
Данные получены с помощью API-функции платформы FMZ:exchange.GetTicker
Мы должны быть готовы к тому, что мы можем получить.exchange.GetTicker
ФункцииHook
В этом случае, если вы хотите, чтобы ваша версия была заменена на другую версию, вы можете использовать эту функцию.
Но мы не можем переписать стратегию "Ледяного Разрушителя", это повлияет на стратегию, мы хотим, чтобы она была беспроблемной!
Поэтому нужно, чтобы следующий главный герой вышел на сцену.
init
Совмещение функцийМы создали библиотеку шаблонов под названием:Бесшовный КОНВУС, с пустым исходным кодом.
А затем дайтеБесшовный КОНВУССхема с двумя параметрами
Используется для управления включениемwebsocket
Функция интерфейса, контролирующая конкретный интерфейс, открываемый в отрасли. В данном случае, из-за ограниченного размера, только дляexchange.GetTicker
Интерфейс выполняет операции с крючком.GetTicker
Интерфейс является контрольным параметром в режиме websocket: Hook_GetTicker.
Теперь, когда шаблон создан, вы можете написать в нем конкретные экспорта для посещения.websocket
В этом случае вы можете использовать интерфейс, подписываться на определенные рынки, а затем ждать, пока биржа будет продвигать данные. Конкретный код больше не описывается, см. код SeamlessConnWS (публично опубликованный), API-документация.init
Функции и глобальные переменные_DictConnectCreater
、_ConnMap
:
Код:
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("切换为ws接口只针对 exchange 交易所对象(即第一个添加的交易所对象)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "没有找到实现"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
Как видите, эта модель реализует только две биржи.websocket
Например, в некоторых странах существуют различные системы обработки данных.init
Функция предназначена для того, чтобы использовать стратегию "Ледокол".Бесшовный КОНВУСПосле шаблона, при запуске реального диска, сначала выполняетсяinit
Функция, которая может автоматическиexchange.GetTicker
Использование содержимого функцииwebsocket
Реализация кода интерфейса для обеспечения беспроводного соединенияwebsocket
Попробуйте.
Проще всего!Бесшовный КОНВУСПосле того, как шаблон будет скопирован в свою собственную библиотеку стратегий, его можно использовать только для ссылки на стратегию "Ледокол", например:
Выберите, сохраните, и все.
Создание стратегии "Ледокола" - реальный робот, биржа выбирает бинанЯ не знаю. ОткрытьБесшовный КОНВУСКонтрольные параметры на шаблоне.
Начало:
Для того, чтобы упростить визуализацию данных, я специально выложил 157 строк, а также код для печатного журнала, который выводит данные, отправленные биржей.
Посмотрите, что в журнале роботов:
Таким образом, без изменения одной строки кода политики, реализуется использование интерфейса веб-сокета и политики беспроводного сопряжения.
В данном случае мы используемexchange.GetTicker
Рассказ о стратегии, сделанной функцией интерфейса отрасли, и другие интерфейсы отрасли, напримерexchange.GetDepth
、exchange.GetTrades
、exchange.GetRecords
Это же самое!Бесшовный КОНВУСПосмотрите, что мы можем сделать дальше.
Ссылки на конкретные шаблоныwebsocket
ИспользованиеDial
Функции (см. API-документацию Dial-функции), которые могут быть настроены по мере необходимости.read()
Функция определяет параметры-2
Это означает, что мы возвращаемся.websocket
Последние данные в буферной зоне присоединения принимают данные.
Спасибо за чтение.
congcong009Монго, ты не мог бы дать мне еще одну версию Python?
И невесты тоже.Если вы не хотите, чтобы кто-то узнал, что вы делаете, вы должны быть готовы.
Изобретатели количественного измерения - мечтыХорошо, спасибо за совет.