Футу ценные бумаги
Он поддерживает FutuNN прямую торговлю и демонстрационную торговлю, вам нужно скачатьFutuOpenD
Приложение.
При примененииFutuOpenD
Чтобы получить доступ к демо-трейдингу, некоторые коды акций не поддерживаются, поэтому вы не можете торговать, но мобильное приложение FutuOpenD может торговать демо.
Для настройки обменных объектов, работающихFutuOpenD
программное обеспечение и т.д. на FMZ Quant, пожалуйста, обратитесь кДокумент описания конфигурации Futu Securities.
Частота вызовов интерфейсов
ДляGetOrder
, GetOrders
, GetPositions
, GetAccount
использование функцийКэшированные данныепо умолчанию, так что нет ограничения на частоту звонков.
Когда появятся новые данные,FutuOpenD
будет автоматически обновлять данные, иКэшированные данныебудут обновляться синхронно.
Вexchange.IO("refresh", true)
функция может быть вызвана для отключения кэширования, еслиотключить кэшированиетогда частота звонков:максимум 10 запросов в 30 секунд, превышение предела частоты будет сообщать об ошибке.
Код акций
Например:600519.SH
В коде стратегии используетсяexchange.SetContractType()
функция для установки кода акций, например:
function main() {
var info = exchange.SetContractType("600519.SH") // Set to stock 600519.SH, namely Kweichow Moutai, and the account will be switched to the China mainland market
Log(info)
Log(exchange.GetAccount()) // The currently set stock is Kweichow Moutai. At this time, call the GetAccount function to obtain the account assets, which are the account assets of the China mainland market
Log(exchange.GetTicker()) // Obtain the current price information of Kweichow Moutai stock
}
def main():
info = exchange.SetContractType("600519.SH")
Log(info)
Log(exchange.GetAccount())
Log(exchange.GetTicker())
void main() {
auto info = exchange.SetContractType("600519.SH");
Log(info);
Log(exchange.GetAccount());
Log(exchange.GetTicker());
}
Функции для определения направления сделкиexchange.SetDirection
, функции размещения заказовexchange.Buy
/exchange.Sell
...
Функция выводаexchange.CancelOrder
и функции порядка запросаexchange.GetOrder
используются так же, как и на рынке фьючерсов.
Формат данных информации о счете:
Определить рынок с использованиемTrdMarket
чтобы отличитьHong Kong Market
, United States Market
, иChina Mainland Market
.
Выдержки изFutu API
документация:
const (
TrdMarket_TrdMarket_Unknown TrdMarket = 0 //Unknown Trading Market
TrdMarket_TrdMarket_HK TrdMarket = 1 //Hong Kong Trading Market
TrdMarket_TrdMarket_US TrdMarket = 2 //United States Trading Market
TrdMarket_TrdMarket_CN TrdMarket = 3 //China Mainland Trading Market
TrdMarket_TrdMarket_HKCC TrdMarket = 4 //Hong Kong A-share Trading Market
TrdMarket_TrdMarket_Futures TrdMarket = 5 //Futures Trading Market
)
Получить информацию о счете,exchange.GetAccount()
функция возвращает:
{
"Info": [{
"Header": {
... // omit
"TrdMarket": 1 // In the Info raw information, market ID, indicates that the account assets are used for trading in the Hong Kong market
},
"Funds": { // Information on the account's assets in that market
...
}
}, ...],
"Stocks": 0,
"FrozenStocks": 0,
"Balance": 1000000, // Asset values in the current market
"FrozenBalance": 0
}
FutuOpenD
Различить по регионам на основе зарегистрированныхИПАдрес
Существуют ограничения на доступ к рыночным данным для учетных записей, зарегистрированных с неконтинентальных IP-адресов, которые можно найти в официальной документацииFutuOpenD
.
Фьючерсы_Binance
Он поддерживает режим двойной позиции фьючерсов Binance; вы можете использоватьexchange.IO
перейти:
function main() {
var ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true")
// ret : {"code":200,"msg":"success"}
Log(ret)
}
def main():
ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=false")
Log(ret)
void main() {
auto ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true");
Log(ret);
}
Он поддерживает переключение между перекрещенной позицией/изолированной позицией:
function main() {
exchange.SetContractType("swap")
exchange.IO("cross", true) // Switch to crossed position
exchange.IO("cross", false) // Switch to isolated position
}
def main():
exchange.SetContractType("swap")
exchange.IO("cross", True)
exchange.IO("cross", False)
void main() {
exchange.SetContractType("swap");
exchange.IO("cross", true);
exchange.IO("cross", false);
}
Он поддерживает переключение на унифицированный режим учетной записи Binance:
function main() {
exchange.IO("unified", true) // Switch to unified account mode
exchange.IO("unified", false) // Switch to commom mode
}
def main():
exchange.IO("unified", True)
exchange.IO("unified", False)
void main() {
exchange.IO("unified", true);
exchange.IO("unified", false);
}
Он поддерживает настройку режима STP для спотовых/фьючерсных ордеров Binance:
function main() {
// "NONE" indicates that STP mode is disabled, other parameters are: "EXPIRE_TAKER", "EXPIRE_MAKER", "EXPIRE_BOTH"
exchange.IO("selfTradePreventionMode", "NONE")
}
def main():
exchange.IO("selfTradePreventionMode", "NONE")
void main() {
exchange.IO("selfTradePreventionMode", "NONE");
}
Фьючерсы_HuobiDM
exchange.IO("signHost", "")
чтобы установить пустую строку.
Использованиеexchange.IO("signHost", "https://aaa.xxx.xxx")
изменить адрес базиса Huobi Futures, участвующего в проверке подписи.
Использованиеexchange.IO("base", "https://bbb.xxx.xxx")
илиexchange.SetBase("https://bbb.xxx.xxx")
чтобы изменить базовый адрес интерфейса платформы.XXX_USDT
, используйте функциюexchange.SetContractType("swap")
установить код контракта наswap
Вечный контракт, с использованиемexchange.IO("cross", true)
может переключиться наUSDT
- маржинальный вечный контракт в режиме перекрестной позиции.exchange.IO("cross", false)
Первоначальный по умолчанию - режим изолированного положения.exchange.IO("dual", true)
перейти на двунаправленное положение и использоватьexchange.IO("dual", false)
перейти в однонаправленное положение.Хьюби
Переключайтесь на специальные торговые пары:
Он поддерживает токены Huobi, такие как:LINK*(-3)
; код, определенный биржей:link3susdt
, который записывается, когда торговая платформа FMZ Quant устанавливает торговую паруLINK3S_USDT
- Да.
Также в стратегии можно переключать торговые пары:
function main() {
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
}
def main():
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
void main() {
exchange.SetCurrency("LINK3S_USDT");
Log(exchange.GetTicker());
}
Фьючерсы_OKX(Фьючерсы_OKCoin/Future_OKEX)
exchange.IO("simulate", true)
Если вы хотите переключиться на реальную среду торговли, используйтеexchange.IO("simulate", false)
Первоначальный по умолчанию - это среда торговли в режиме реального времени.exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
для перехода на режим изолированного положения исходным параметром является режим перекрещенного положения.exchange.IO("dual", true)
перейти на двунаправленное положение и использоватьexchange.IO("dual", false)
перейти в однонаправленное положение.OKX ((OKCoin/OKEX)
exchange.IO("simulate", true)
Если вы хотите переключиться на живую торговую среду, используйтеexchange.IO("simulate", false)
для перехода на прямую торговлю первоначальным параметром является среда прямой торговли.Фьючерсы_Бибокс
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти на режим изолированного положения; исходный по умолчанию режим перекрестного положения.GetOrders
иGetTrades
функции не поддерживаются.Фьючерсы_Bitget
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.exchange.IO("dual", true)
переключаться на двунаправленное положение иexchange.IO("dual", false)
перейти в однонаправленное положение.Фьючерсы_MEXC
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.Фьючерсы_GateIO
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.exchange.IO("dual", true)
переключаться на двунаправленное положение иexchange.IO("dual", false)
перейти в однонаправленное положение.exchange.IO("unified", true)
для смены единых счетов;exchange.IO("unified", false)
перейти на не унифицированные счета.Ворота
exchange.IO("unified", true)
для смены унифицированных счетов;exchange.IO("unified", false)
перейти на не унифицированные счета.Фьючерсы_Bybit
exchange.IO("cross", true)
перейти на режим перекрестного положения, использоватьexchange.IO("cross", false)
Использоватьexchange.IO("unified", true)
чтобы перейти на единый интерфейс маржи, использоватьexchange.IO("unified", false)
чтобы вернуться к нормальному контрактному интерфейсу.exchange.IO("unified", true)
перейти на единый интерфейс маржи, иexchange.IO("unified", false)
перейти на общий контрактный интерфейс.exchange.IO("dual", true)
переключаться на двунаправленное положение иexchange.IO("dual", false)
перейти в однонаправленное положение.Фьючерсы_Pionex
exchange.IO("cross", true)
перейти на режим перекрестного положения, использоватьexchange.IO("cross", false)
Использоватьexchange.IO("dual", true)
перейти на двунаправленные позиции иexchange.IO("dual", false)
перейти на однонаправленные позиции.exchange.IO("dual", true)
переключаться на двунаправленное положение иexchange.IO("dual", false)
перейти в однонаправленное положение.Фьючерсы_BitMEX
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.BitMEX
Bitfinex
Фьючерсы_Phemex
exchange.IO("dual", true)
переключаться на двунаправленное положение иexchange.IO("dual", false)
перейти в однонаправленное положение.Рюкзак Он поддерживает настройку режима STP для спит-ордеров Backpack:
function main() {
// "Allow" means to allow self-dealing, "RejectTaker" "RejectMaker" "RejectBoth" "Allow"
exchange.IO("selfTradePreventionMode", "Allow")
}
def main():
exchange.IO("selfTradePreventionMode", "Allow")
void main() {
exchange.IO("selfTradePreventionMode", "Allow");
}
Фьючерсы_CoinEx
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.Фьючерсы_Aevo
xxx
, использоватьexchange.IO("signingKey", "xxx")
Заметьте, что signingKey имеет ограничение по времени.exchange.IO
Функция возвращает публичный ключ signingKey.Фьючерс_Кракен
multi-collateral
Контракт биржи Futures_Kraken поддерживает настройки перекрестной позиции, изолированной позиции и рычага.
Использованиеexchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.Фьючерсы_Криптовалюта
accountId
:
Использованиеexchange.IO("accountId", "xxx")
чтобы установить расчет.Близнецы
exchange.IO("subAccount", "xxx")
чтобы сменить субсчета.Фьючерсы_Aevo
Id
Описание:
Заказ на обменId
Состоит из фактическихId
Время и фактический порядокId
Они разделены английскими запятой.exchange.GetOrder(Id)
Поскольку временная метка заказа в данных, возвращенных биржей, изменится с состоянием заказа, если вам нужно записать заказId
и другую информацию на местном уровне, пожалуйста, разделите фактический заказId
record.Фьючерсы_dYdX
exchange.IO("simulate", true)
Если вы хотите переключиться на основную сетевую среду, используйтеexchange.IO("simulate", false)
, первоначальным по умолчанию является основная сетевая среда.exchange.IO("limitFee", 0.001)
Установите ставку сбора, по умолчанию 0.001.exchange.IO("secondsOfValidity", 60 * 60 * 24 * 28)
устанавливает срок действия. По умолчанию 60 * 60 * 24 * 28.Фьючерсы_WOO
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.exchange.IO("dual", true)
перейти на двунаправленное положение и использоватьexchange.IO("dual", false)
перейти в однонаправленное положение.Фьючерсы_KuCoin
exchange.IO("cross", true)
перейти на режим перекрестного положения и использоватьexchange.IO("cross", false)
перейти в режим изолированного положения.