554 lines
22 KiB
INI
554 lines
22 KiB
INI
@var DatabaseHost=cryptoval1.cvtt.vpn
|
|
# @var DatabaseHost=cryptoval1.sheynin.home
|
|
{
|
|
"__DUMMY__": {}
|
|
# ----------------------------- A
|
|
, "ALPACA_PROD": {
|
|
# https://docs.alpaca.markets/reference/
|
|
"exchange_id": "ALPACA"
|
|
, "name": "Alpaca Trading"
|
|
, "type": "EQUITY"
|
|
|
|
, "order_entry": {
|
|
"credentials_key": "ALPACA_PROD"
|
|
, "class": "cvttpy_trading.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
|
|
|
|
# D E P R E C A T E D
|
|
, "REST": {
|
|
"submit_order_url": ["POST", "https://api.alpaca.markets/v2/orders"]
|
|
, "orders_url": ["GET", "https://api.alpaca.markets/v2/orders"]
|
|
, "order_status": ["GET", "https://api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_order_url": ["DELETE", "https://api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_all_url": ["DELETE", "https://api.alpaca.markets/v2/orders"]
|
|
}
|
|
, "ws_url": ["WSS", "wss://api.alpaca.markets/stream"]
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://api.alpaca.markets/stream"
|
|
}
|
|
, "REST": {
|
|
"submit_order_url": ["POST", "https://api.alpaca.markets/v2/orders"]
|
|
, "orders_url": ["GET", "https://api.alpaca.markets/v2/orders"]
|
|
, "order_status": ["GET", "https://api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_order_url": ["DELETE", "https://api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_all_url": ["DELETE", "https://api.alpaca.markets/v2/orders"]
|
|
}
|
|
}
|
|
}
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.alpaca.mkt_data.AlpacaStockFeed"
|
|
, "reconnect_secs": 2.0
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"]
|
|
, "REST": {
|
|
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
|
|
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
|
|
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
|
|
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
|
|
, "assets": ["GET", "https://api.alpaca.markets/v2/assets"]
|
|
# , "assets": ["GET", "https://data.alpaca.markets/v2/assets"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
# "wss://stream.data.alpaca.markets/v2/sip"
|
|
"url": "wss://stream.data.alpaca.markets/v2/iex"
|
|
}
|
|
, "REST": {
|
|
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
|
|
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
|
|
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
|
|
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
|
|
, "assets": ["GET", "https://api.alpaca.markets/v2/assets"]
|
|
# , "assets": ["GET", "https://data.alpaca.markets/v2/assets"]
|
|
}
|
|
}
|
|
}
|
|
, "accounting": {
|
|
"class": "cvttpy_trading.exchanges.alpaca.acct_client.AlpacaAccounting"
|
|
|
|
# D E P R E C A T E D
|
|
, "REST": {
|
|
"balances_url": ["GET", "https://api.alpaca.markets/v2/positions"]
|
|
, "account_info_url": ["GET", "https://api.alpaca.markets/v2/account"]
|
|
, "trades_url": ["GET", "https://api.alpaca.markets/v2/account/activities/FILL"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"balances_url": ["GET", "https://api.alpaca.markets/v2/positions"]
|
|
, "account_info_url": ["GET", "https://api.alpaca.markets/v2/account"]
|
|
, "trades_url": ["GET", "https://api.alpaca.markets/v2/account/activities/FILL"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
, "ALPACA_SNDBX": {
|
|
# https://docs.alpaca.markets/reference/
|
|
"exchange_id": "ALPACA"
|
|
, "name": "Alpaca Trading"
|
|
, "type": "EQUITY"
|
|
|
|
|
|
, "order_entry": {
|
|
"credentials_key": "ALPACA_SANDBOX"
|
|
, "class": "cvttpy_trading.exchanges.alpaca.oe_client.AlpacaOrderEntryClient"
|
|
|
|
# D E P R E C A T E D
|
|
, "REST": {
|
|
"submit_order_url": ["POST", "https://paper-api.alpaca.markets/v2/orders"]
|
|
, "orders_url": ["GET", "https://paper-api.alpaca.markets/v2/orders"]
|
|
, "order_status": ["GET", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_order_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_all_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders"]
|
|
}
|
|
, "ws_url": ["WSS", "wss://paper-api.alpaca.markets/stream"]
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://paper-api.alpaca.markets/stream"
|
|
}
|
|
, "REST": {
|
|
"submit_order_url": ["POST", "https://paper-api.alpaca.markets/v2/orders"]
|
|
, "orders_url": ["GET", "https://paper-api.alpaca.markets/v2/orders"]
|
|
, "order_status": ["GET", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_order_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders/{order_id}"]
|
|
, "cancel_all_url": ["DELETE", "https://paper-api.alpaca.markets/v2/orders"]
|
|
}
|
|
}
|
|
}
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.alpaca.mkt_data.AlpacaMdFeed"
|
|
, "reconnect_secs": 2.0
|
|
|
|
# D E P R E C A T E D
|
|
# , "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/sip"]
|
|
, "ws_url": ["WSS", "wss://stream.data.alpaca.markets/v2/iex"]
|
|
, "REST": {
|
|
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
|
|
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
|
|
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
|
|
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
|
|
, "assets": ["GET", "https://paper-api.alpaca.markets/v2/assets"]
|
|
# , "assets": ["GET", "https://data.alpaca.markets/v2/assets"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://stream.data.alpaca.markets/v2/iex"
|
|
}
|
|
, "REST": {
|
|
"hist_md_bars": ["GET", "https://data.alpaca.markets/v2/stocks/bars"]
|
|
, "hist_md_quotes": ["GET", "https://data.alpaca.markets/v2/stocks/quotes"]
|
|
, "hist_md_trades": ["GET", "https://data.alpaca.markets/v2/stocks/trades"]
|
|
, "latest_trade": ["GET", "https://data.alpaca.markets/v2/stocks/{symbol}/trades/latest"]
|
|
, "assets": ["GET", "https://paper-api.alpaca.markets/v2/assets"]
|
|
}
|
|
}
|
|
}
|
|
, "accounting": {
|
|
"credentials_key": "ALPACA_SANDBOX"
|
|
, "class": "cvttpy_trading.exchanges.alpaca.acct_client.AlpacaAccounting"
|
|
|
|
# D E P R E C A T E D
|
|
, "REST": {
|
|
"balances_url": ["GET", "https://paper-api.alpaca.markets/v2/positions"]
|
|
, "account_info_url": ["GET", "https://paper-api.alpaca.markets/v2/account"]
|
|
, "trades_url": ["GET", "https://paper-api.alpaca.markets/v2/account/activities/FILL"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"balances_url": ["GET", "https://paper-api.alpaca.markets/v2/positions"]
|
|
, "account_info_url": ["GET", "https://paper-api.alpaca.markets/v2/account"]
|
|
, "trades_url": ["GET", "https://paper-api.alpaca.markets/v2/account/activities/FILL"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# ---------------------------- B
|
|
, "BITSTAMP": {
|
|
"exchange_id": "BITSTAMP"
|
|
, "name": "Bitstamp"
|
|
, "type": "SPOT"
|
|
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.bitstamp.mkt_data.BitstampMdFeed"
|
|
, "reconnect_secs": 2
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://ws.bitstamp.net"]
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://ws.bitstamp.net"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
, "BNBFUT": {
|
|
"exchange_id": "BNBFUT"
|
|
, "name": "Binance Futures USD-M"
|
|
, "type": "FUTURES"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
|
, "max_connections": 10
|
|
, "reconnect_secs": 2.0
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://fstream.binance.com/ws"]
|
|
, "REST": {
|
|
# https://fapi.binance.com/fapi/v1/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://fstream.binance.com/ws"
|
|
}
|
|
, "REST": {
|
|
# https://fapi.binance.com/fapi/v1/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
, "BNBSPOT": {
|
|
"exchange_id": "BNBSPOT"
|
|
, "name": "Binance Spot"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
|
, "max_connections": 10
|
|
, "reconnect_secs": 2.0
|
|
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://stream.binance.com/ws"]
|
|
, "REST": {
|
|
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://stream.binance.com/ws"
|
|
}
|
|
, "REST": {
|
|
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
, "BNBSPOT_US": {
|
|
"exchange_id": "BNBSPOT_US"
|
|
, "name": "Binance.US"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
|
, "reconnect_secs": 10
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://stream.binance.us:9443/ws"]
|
|
, "REST": {
|
|
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://stream.binance.us:9443/ws"
|
|
}
|
|
, "REST": {
|
|
# https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000
|
|
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
|
}
|
|
}
|
|
}
|
|
}
|
|
, "COINBASE_AT": {
|
|
"exchange_id": "COINBASE"
|
|
, "name": "Coinbase Advanced Trade"
|
|
, "type": "SPOT"
|
|
|
|
, "order_entry": {
|
|
"credentials_key": "COINBASE_ADV_TRD"
|
|
"class": "cvttpy_trading.exchanges.coinbase.spot.oe_client.CoinbaseSpotOEClient"
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://advanced-trade-ws.coinbase.com"
|
|
}
|
|
, "REST": {
|
|
"open_orders_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/batch"]
|
|
, "submit_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders"]
|
|
, "cancel_order_url": ["POST", "https://api.coinbase.com/api/v3/brokerage/orders/batch_cancel"]
|
|
}
|
|
}
|
|
}
|
|
|
|
, "accounting": {
|
|
"credentials_key": "COINBASE_ADV_RO"
|
|
"class": "cvttpy_trading.exchanges.coinbase.spot.account.CoinbaseSpotAccounting"
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"balances_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/accounts"]
|
|
, "get_trades_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/orders/historical/fills"]
|
|
, "get_transactions_url": ["GET", "https://api.coinbase.com/api/v3/brokerage/transaction_summary"]
|
|
}
|
|
}
|
|
}
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
|
|
|
, "reconnect_secs": 2
|
|
, "max_connections": 10
|
|
, "price_throttle": true
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"products_url": "https://api.exchange.coinbase.com/products"
|
|
},
|
|
"web_socket": {
|
|
"url": "wss://ws-feed.exchange.coinbase.com"
|
|
}
|
|
}
|
|
}
|
|
, "instruments": {
|
|
"credentials_key": "COINBASE_ADV_RO"
|
|
"class": "cvttpy_trading.exchanges.coinbase.spot.market.InstrumentLoader"
|
|
, "api": {
|
|
"REST": {
|
|
"products_url": "https://api.coinbase.com/api/v3/brokerage/products"
|
|
"futures_params": {
|
|
"product_type": "FUTURE",
|
|
"contract_expiry_type": "EXPIRING",
|
|
"expiring_contract_status": "STATUS_UNEXPIRED"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# ---------------------------- G
|
|
, "GEMINI": {
|
|
# https://docs.gemini.com/rest-api
|
|
"exchange_id": "GEMINI"
|
|
, "name": "Gemini"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.gemini.mkt_data.GeminiMdFeed"
|
|
, "reconnect_secs": 1
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS" , "wss://api.gemini.com/v2/marketdata"]
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://api.gemini.com/v2/marketdata"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
, "GEMINI-SNDBX": {
|
|
# https://docs.gemini.com/rest-api
|
|
"exchange_id": "GEMINI"
|
|
, "name": "Gemini"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.gemini.mkt_data.GeminiMdFeed"
|
|
, "reconnect_secs": 1
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS" , "wss://api.sandbox.gemini.com/v2/marketdata"]
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://api.sandbox.gemini.com/v2/marketdata"
|
|
}
|
|
}
|
|
}
|
|
, "order_entry": {
|
|
# D E P R E C A T E D
|
|
"REST": {
|
|
"order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"]
|
|
, "cancel_all_url": ["POST", "https://api.sandbox.gemini.com/v1/order/cancel/all"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"]
|
|
, "cancel_all_url": ["POST", "https://api.sandbox.gemini.com/v1/order/cancel/all"]
|
|
}
|
|
}
|
|
}
|
|
, "accounting": {
|
|
"class": "cvttpy_trading.exchanges.gemini.account.GeminiExchAccounting"
|
|
# D E P R E C A T E D
|
|
, "REST": {
|
|
"open_orders_url": ["POST", "https://api.sandbox.gemini.com/v1/orders"]
|
|
, "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"]
|
|
, "balances_url": ["POST", "https://api.sandbox.gemini.com/v1/balances"]
|
|
, "positions_url": ["POST", "https://api.sandbox.gemini.com/v1/positions"]
|
|
, "trades_url": ["POST", "https://api.sandbox.gemini.com/v1/mytrades"]
|
|
, "symbol_url": ["GET", "https://api.sandbox.gemini.com/v1/symbols/details"]
|
|
, "margin_url": ["POST", "https://api.sandbox.gemini.com/v1/margin"]
|
|
}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"REST": {
|
|
"open_orders_url": ["POST", "https://api.sandbox.gemini.com/v1/orders"]
|
|
, "order_status_url": ["POST", "https://api.sandbox.gemini.com/v1/order/status"]
|
|
, "balances_url": ["POST", "https://api.sandbox.gemini.com/v1/balances"]
|
|
, "positions_url": ["POST", "https://api.sandbox.gemini.com/v1/positions"]
|
|
, "trades_url": ["POST", "https://api.sandbox.gemini.com/v1/mytrades"]
|
|
, "symbol_url": ["GET", "https://api.sandbox.gemini.com/v1/symbols/details"]
|
|
, "margin_url": ["POST", "https://api.sandbox.gemini.com/v1/margin"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# ---------------------------- K
|
|
, "KRAKEN": {
|
|
"exchange_id": "KRAKEN"
|
|
, "name": "KRAKEN"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.kraken.mkt_data.KrakenMdFeed"
|
|
, "max_connections": 10
|
|
, "reconnect_secs": 2.0
|
|
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://ws.kraken.com/v2"]
|
|
, "REST": {}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://ws.kraken.com/v2"
|
|
}
|
|
, "REST": {}
|
|
}
|
|
}
|
|
}
|
|
# ---------------------------- O
|
|
, "OKX": {
|
|
"exchange_id": "OKX"
|
|
, "name": "OKX"
|
|
, "type": "SPOT"
|
|
|
|
, "mktdata" : {
|
|
"class": "cvttpy_trading.exchanges.okx.mkt_data.OkxMdFeed"
|
|
, "max_connections": 10
|
|
, "reconnect_secs": 2.0
|
|
|
|
|
|
# D E P R E C A T E D
|
|
, "ws_url": ["WSS", "wss://ws.okx.com:8443/ws/v5/public"]
|
|
, "REST": {}
|
|
# D E P R E C A T E D
|
|
|
|
, "api": {
|
|
"web_socket": {
|
|
"url": "wss://ws.okx.com:8443/ws/v5/public"
|
|
}
|
|
, "REST": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# , "ALPACA_SIM": {
|
|
# # https://docs.alpaca.markets/reference/
|
|
# "exchange_id": "ALPACA"
|
|
# , "name": "Alpaca Trading"
|
|
# , "type": "EQUITY"
|
|
|
|
|
|
# , "mktdata" : {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
|
# "ws_url": ["WS", "ws://localhost:10180/ws"]
|
|
# }
|
|
|
|
# , "order_entry": {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
|
|
|
# , "REST": {
|
|
# "new_order_url": ["POST", "http://localhost:10182/order"]
|
|
# , "cancel_order_url": ["POST", "http://localhost:10182/cancel"]
|
|
# , "cancel_all_url": ["POST", "http://localhost:10182/cancel_all"]
|
|
# , "open_orders_url": ["GET", "http://localhost:10182/open_orders"]
|
|
# , "order_status_url": ["GET", "http://localhost:10182/order_status"]
|
|
# },
|
|
# "ws_url": ["WSS", "ws://localhost:10181/ws"]
|
|
# }
|
|
# , "accounting": {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
|
# , "REST": {
|
|
# "positions_url": ["GET", "http://localhost:10083/positions"]
|
|
# , "trades_url": ["GET", "http://localhost:10083/trades"]
|
|
# }
|
|
# }
|
|
# }
|
|
|
|
# , "COINBASE_SIM": {
|
|
# "exchange_id": "COINBASE"
|
|
# , "name": "Coinbase Advanced Trade (Simulation)"
|
|
# , "type": "SPOT"
|
|
|
|
|
|
# , "mktdata" : {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
|
# "ws_url": ["WS", "ws://localhost:8080/ws"]
|
|
# }
|
|
|
|
# , "order_entry": {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
|
|
|
# , "REST": {
|
|
# "new_order_url": ["POST", "http://localhost:8181/order"]
|
|
# , "cancel_order_url": ["POST", "http://localhost:8181/cancel"]
|
|
# , "cancel_all_url": ["POST", "http://localhost:8181/cancel_all"]
|
|
# , "open_orders_url": ["GET", "http://localhost:8181/open_orders"]
|
|
# , "order_status_url": ["GET", "http://localhost:8181/order_status"]
|
|
# },
|
|
# "ws_url": ["WSS", "ws://localhost:8180/ws"]
|
|
# }
|
|
# , "accounting": {
|
|
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
|
# , "REST": {
|
|
# "positions_url": ["GET", "http://localhost:8182/positions"]
|
|
# , "trades_url": ["GET", "http://localhost:8182/trades"]
|
|
# }
|
|
# }
|
|
# }
|