Рамочная стратегия и функции API
В стратегиях, написанных вJavaScript
, Python
иcpp
,Sleep()
Функция должна быть вызвана в основной петле этих стратегий. Она будет использоваться для управления скоростью обратного отслеживания. В живой торговле она используется для управления интервалами опроса стратегии, а также для управления частотой запроса доступа к интерфейсу API биржи.
function onTick(){
//Write strategy logic here, and it will be called constantly, such as printing ticker information
Log(exchange.GetTicker())
}
function main(){
while(true){
onTick()
// The function "Sleep" is mainly used to control the polling frequency of cryptocurrency strategies to prevent accessing the exchange API interafce too frequently
Sleep(60000)
}
}
def onTick():
Log(exchange.GetTicker())
def main():
while True:
onTick()
Sleep(60000)
void onTick() {
Log(exchange.GetTicker());
}
void main() {
while(true) {
onTick();
Sleep(60000);
}
}
Основные примеры стратегий криптовалюты:
function onTick(){
// It is just an example; for all the assets will be used to place orders fast during backtest or in live trading, do not implement the example in live trading
exchange.Buy(100, 1)
}
function main(){
while(true){
onTick()
// The pause period can be customized in millisecond (1 second = 1000 milliseconds)
Sleep(1000)
}
}
def onTick():
exchange.Buy(100, 1)
def main():
while True:
onTick()
Sleep(1000)
void onTick() {
exchange.Buy(100, 1);
}
void main() {
while(true) {
onTick();
Sleep(1000);
}
}
Возьмем самый простой пример, если я хочу разместить ордер на покупку с ценой 100 и количеством 1 на бирже каждую секунду, я могу написать это так:
Ниже приведены наиболее часто используемые функции API в разработке и разработке стратегии.Руководство по API квантовой торговой платформы FMZ.
Глобальная функция
Имя функции |
Краткое введение |
Версия |
Возвращает |
номер текущей версии системы |
|
Спать. |
функция сна, |
параметр - это значение миллисекунд для паузы |
|
IsVirtual |
Определить |
Окружающая среда исполнения, возвращает истинное значение для обозначения обратного теста
окружающей среды.
Ѕудьте осторожны.ПочтаОтправьте электронную почту.
Ѕудьте осторожны.Mail_GoАсинхронно.
ВерсияMail
функция.
Ѕудьте осторожны.НастроитьErrorFilterОшибка фильтра
журналы, параметр является строкой регулярных выражений, ошибки журналы
совпадает с этим регулярным выражением не будет загружаться в журналистику
Система.
Ѕыло бы здорово. Ѕыло бы здорово.GetPidЅыть ботом.
Идентификатор процесса.
Ѕудьте осторожны.ПолучитьLastErrorЅыть последней.
сообщение об ошибке.
Ѕудьте осторожны.Получить командуУзнайте стратегию.
команды взаимодействия, настройки управления стратегией взаимодействия могут быть
[управление взаимодействием]
Ѕыло бы здорово. Ѕыло бы здорово.GetMetaЅудьте внимательны.
Мета написан при создании кода регистрации стратегии.
Ѕудьте осторожны.НазначьтеИспользуется для сырого
Доступ к разъемам.
Ѕудьте осторожны.HttpQueryОтправить запрос на Http.
Ѕудьте осторожны.HttpQuery_GoАсинхронно.
ВерсияHttpQuery
функция.
Ѕудьте осторожны.КодироватьЅольшое значение имеет кодирование данных.
функция.
Ѕудьте осторожны.UnixNanoУ вас есть наносекунда.
Временные метки.
Ѕудьте осторожны.UnixЅудьте на втором уровне.
Временные метки.
Ѕудьте осторожны.GetOSОбучение системе
Информация.
Ѕудьте осторожны.MD5Вычислить MD5
Ѕудьте осторожны.DBExecБаза данных.
Функции, которые могут быть использованы для выполнения SQL заявлений и выполнения
Операции базы данных.
Ѕудьте осторожны.UUIDСоздать UUID.
Ѕудьте осторожны.Событие LoopСлушайте события.
и вернуть после любого веб-сокета является читаемым или одновременные задачи, такие какexchange.Go
, HttpQuery_Go
, и т. д. завершены, эта функция
доступен только для торговли в реальном времени.
Ѕудьте осторожны._GПостоянное сохранение данных.
Эта функция реализует сохранную глобальную функцию словаря.
структура - это таблица KV, которая хранится в локальной базе данных докера
файл навсегда
Ѕыло бы здорово. Ѕыло бы здорово._DЅольшая работа. Ѕольшая работа.
Миллисекундный временной штемпель или объект Дата в временной строке.
Ѕыло бы здорово. Ѕыло бы здорово._NФорматирование плавающей запятой
номер, например_N(3.1415, 2)
удалит значение 3.1415 после
два знака за десятичной запятой, и функция возвращает 3,14.
Ѕудьте осторожны._CОпять попробуйте функцию для
Обратите внимание, что, например, допустимость ошибок для
- Да.exchange.GetTicker
функция -_C(exchange.GetTicker)
и не_C(exchange.GetTicker())
|
| _Кросс∙∙Функция перекрестного суждения,_Cross()
значение возвращения функцииs является положительным числом указывает
период восходящего проникновения, отрицательное число указывает на
0 относится к текущей цене
то же самое.
Ѕыло бы здорово. Ѕыло бы здорово.JSONParseАнализ JSON, который может
правильно анализировать JSON строки, содержащие большие значения, будет анализировать большие
значения к типу строки.JSONParse()
функция не поддерживается
в системе обратного тестирования.
Функции журнала
Имя функции |
Краткое введение |
Логотип |
Выходные журналы, поддержка настройки цвета текста журнала, поддержка настройки push, поддержка печати изображений после кодирования base64 |
LogProfit |
Данные о доходах и убытках на выходе, печатные значения доходов и убытков и кривые доходности графиков, основанные на значениях доходов и убытков |
LogProfitReset |
ОчиститеLogProfit выходы функций все журналы прибыли, графики прибыли |
Регистрация |
Выходная информация в строке состояния, поддержка проектирования кнопок управления в строке состояния, поддержка вывода форм |
EnableLog |
Включить или отключить регистрацию информации о заказах |
Диаграмма |
Функции диаграммы, основанные на библиотеке диаграмм Highcharts/Highstocks |
KLineChart |
Функция рисования в стиле языка Пайн, которая используется для настраивания рисования во время выполнения стратегии с использованием стиля рисования языка Пайн. |
Снова загрузить |
Удаление журналов, поддержка сохранения определенного количества недавних журналов через параметры |
Логвакуум |
Восстановить ресурсы SQLite для восстановления места хранения, занятого SQLite при удалении данных после удаления журнала, вызвавLogReset() Функция |
console.log |
Информация об отладке вывода в графе Debug Information на странице торговли в режиме реального времени |
console.error |
Информация об ошибке выводится в столбце Debug Information страницы реального времени торговли |
Функции тикера
Функции транзакций
Имя функции |
Краткое введение |
exchange.Buy |
Подать ордер на покупку, фьючерсные контракты должны обратить внимание на направление транзакции правильно установлено, если направление транзакции и функция транзакции не совпадают, ошибка будет сообщена! |
exchange.Sell |
Подать ордера на продажу, фьючерсные контракты при размещении заказов должны обратить внимание на направление сделки правильно, если направление сделки и функция сделки не совпадают, он будет сообщать об ошибке |
exchange.CreateOrder |
Отправить заказ и указать тип сделки, направление сделки, цену и количество через параметры |
exchange.CancelOrder |
Отменить приказ |
exchange.GetOrder |
Получить информацию о заказе, структура данных являетсяПорядокструктура |
exchange.GetOrders |
Получить незаполненные заказы с помощью структуры данныхПорядокstruct массив (список) |
exchange.GetHistoryOrders |
Получение исторических заказов текущей торговой пары и контракта; поддержка указания конкретных торговых продуктов |
exchange.SetPrecision |
Установите точность цены и количества заказа объекта обмена, после установки система автоматически проигнорирует избыточность данных. |
exchange.SetRate |
Установка обменного курса |
exchange.IO |
Для других вызовов интерфейсов, связанных с объектами обмена |
exchange.Log |
Выпуск, запись журналов транзакций и не размещать заказы |
exchange.Encode |
расчет шифрования подписи |
exchange.Go |
Многопоточные асинхронные функции поддержки |
exchange.GetAccount |
Получить информацию о счете |
exchange.GetAssets |
Запрос информации об активах биржевого счета |
exchange.GetName |
Получить имя объекта обмена |
exchange.GetLabel |
Получить этикетку объекта обмена |
exchange.GetCurrency |
Получить текущую торговую пару |
exchange.SetCurrency |
Переключение торговых пар |
exchange.GetQuoteCurrency |
Получить название валюты текущей торговой пары |
Функции будущего
Имя функции |
Краткое введение |
[exchange.GetPositions ((/syntax-guide#fun_exchange.getpositions) ] [/syntax-guide#fun_exchange.getpositions] [/syntax-guide#fun_exchange.getpositions] [/syntax-guide#fun_exchange.getpositions] [/syntax-guide#fun_exchange.getpositions] |
Получить позиции фьючерсов с помощью структуры данныхПоложениеstruct массив (список) |
exchange.SetMarginLevel |
Установите рычаг |
exchange.SetDirection |
Функция, используемая для настройкиexchange.Buyфункция,exchange.SellФункция для выполнения направления ордера фьючерсного контракта |
exchange.SetContractType |
Укажите код контракта, например:exchange.SetContractType("swap") функция устанавливает код контракта наswap , который устанавливает договор о текущей операции как бессрочный договор |
exchange.GetContractType |
Получить текущий код контракта |
exchange.GetFundings |
Получить данные текущих фьючерсных бирж постоянного контракта финансирования ставки |
Функции сети
Многопроводный JavaScript
FMZ Quant Trading Platform действительно поддерживает многопоточную функциюJavaScript
языковой стратегии с нижней части системы и реализует следующие цели:
Объекты |
Руководство |
Примечания |
прокрутка |
Многопоточный глобальный объект |
Функции членов:Thread , getThread , mainThread , и т.д. |
Нить |
Объект нитки |
Функции членов:peekMessage , postMessage , join , и т.д. |
Закрыть |
Объект блокировки нитей |
Функции членов:acquire , release Они могут быть переданы в среду потока в качестве параметров функции выполнения потока. |
Ведущий |
Объект события |
Функции членов:set , clear , wait , isSet Они могут быть переданы в среду потока в качестве параметра функции выполнения потока. |
ThreadCondition (Условие) |
Объект условия |
Функции членов:notify , notifyAll , wait , acquire , release Они могут быть переданы в среду потока в качестве параметра функции выполнения потока. |
ThreadDict |
Объект словаря |
Функции членов:get , set Они могут быть переданы в среду потока в качестве параметров функции выполнения потока. |
Сынтаксический справочник FMZ Quant Trading Platform:Многопроводный JavaScript
Веб3
Библиотека показателей TA
Имя функции |
Краткое введение |
TA.MACD |
Вычислить средний показатель экспоненциальной сглаженной дивергенции |
TA.KDJ |
Расчет стохастических показателей |
TA.RSI |
Вычислить показатель прочности |
TA.ATR |
Расчет среднего показателя истинной волатильности |
TA.OBV |
Расчет показателей энергетических приливов |
TA.MA |
Расчет показателей скользящей средней |
TA.EMA |
Расчет показателей экспоненциальных средних |
TA.BOLL |
Расчет индикатора полосы Боллинджера |
TA.Alligator |
Вычислить индикатор линии аллигатора |
TA.CMF |
Расчет показателя денежного потока Chaikin |
TA.Highest |
Расчет максимальной цены за период |
TA.Lowest |
Расчет минимальной цены за период |
TA.SMA |
Расчет простых показателей скользящей средней |
Talib Индикатор Библиотека
Библиотека индикаторов talib имеет многочисленные торговые индикаторы, такие как:talib.CDL2CROWSВы можете перейти к руководству по синтаксису для деталей.
Функции входа в стратегию
Библиотеки шаблонов