についてexchange.IO()
交換オブジェクトに関連する他のインターフェース呼び出しに使用されます.
についてexchange.IO()
機能は交換オブジェクトに関連する他のインターフェースに呼び出し,成功した呼び出しで要求された応答データを返します.失敗した呼び出しでは null を返します.
文字列,数, bool,オブジェクト,配列,null,およびシステムによってサポートされる他の種類
exchange.IO(k,... args)
についてk
パラメータは,オプション値でコールタイプを設定するために使用されます."api"
, "currency"
, "base"
, "trade_margin"
, "trade_normal"
, "public_base"
, "mbase"
, selfTradePreventionMode
, simulate
, cross
, dual
, unified
そしてこれからも
k
本当
文字列
拡張されたパラメータ,特定のコールシナリオに従って通過,arg
複数のパラメータが通過できます.exchange.IO()
パラメータの数と種類は,異なる機能に対応します. パラメータの数と種類は,exchange.IO()
機能は不確定です
アルグ
本当
文字列,数, bool,オブジェクト,配列,null,その他のシステムでサポートされるタイプ
function main() {
var arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
// Call exchange.IO to access the exchange's bulk order interface directly
var ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", JSON.stringify(arrOrders))
Log(ret)
}
import json
def main():
arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", json.dumps(arrOrders))
Log(ret)
void main() {
json arrOrders = R"([
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
])"_json;
auto ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", arrOrders.dump());
Log(ret);
}
システムを使用exchange.IO("api", httpMethod, resource, params, raw)
呼び出しのフォームexchange.IO()
FMZプラットフォームに追加されていない機能を拡張することができます. 交換のAPIインターフェースを理解し,関連するドキュメントを最初に確認する必要があります.POST
対応するパラメータを記入する限り,FMZが既に下に処理しているパラメータを暗号化,署名,検証する心配する必要はありません.OKX 交換所パラメーターを使用します.raw
順序パラメータを表示するには:
var amount = 1
var price = 10
var basecurrency = "ltc"
function main () {
// Note that both amount.toString() and price.toString() have a ' character on the left and right side
var message = "symbol=" + basecurrency + "&amount='" + amount.toString() + "'&price='" + price.toString() + "'&side=buy" + "&type=limit"
var id = exchange.IO("api", "POST", "/v1/order/new", message)
}
amount = 1
price = 10
basecurrency = "ltc"
def main():
message = "symbol=" + basecurrency + "&amount='" + str(amount) + "'&price='" + str(price) + "'&side=buy" + "&type=limit"
id = exchange.IO("api", "POST", "/v1/order/new", message)
void main() {
auto amount = 1.0;
auto price = 10.0;
auto basecurrency = "ltc";
string message = format("symbol=%s&amount=\"%.1f\"&price=\"%.1f\"&side=buy&type=limit", basecurrency, amount, price);
auto id = exchange.IO("api", "POST", "/v1/order/new", message);
}
キー値がparams
パラメータ (つまり,Http リクエスト パラメータ) は文字列で,パラメータ値を包むためにパラメータ値の周りに単一の引数で (つまり,符号 ') 書き込む必要があります.
function main() {
var ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC");
Log(ret);
}
ベースアドレスを切り替える操作を省略できる.exchange.SetBase()
機能)
function main(){
var ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT");
Log(ret);
}
パラメータなしの呼び出しの例raw
:
function main() {
// For example, if you set the current trading pair of the exchange object to BTC_USDT at the beginning of the live trading, print the current trading pair tickers
Log(exchange.GetTicker())
// Switch the trading pair to LTC_BTC
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
}
def main():
Log(exchange.GetTicker())
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
void main() {
Log(exchange.GetTicker());
exchange.IO("currency", "LTC_BTC");
Log(exchange.GetTicker());
}
コードで設定された取引ペアを切り替えるように,現在の交換の取引ペアを切り替える直接取引の作成時にまたはバックテストで.
function main () {
// exchanges[0] is the first exchange object added when the live trading is created
exchanges[0].IO("base", "https://api.huobi.pro")
}
def main():
exchanges[0].IO("base", "https://api.huobi.pro")
void main() {
exchanges[0].IO("base", "https://api.huobi.pro");
}```
For example, the default base address when the exchange object is wrapped is ```https://api.huobipro.com```, and when you need to switch to ```https://api.huobi.pro```, use the following code to switch:
```javascript
function main() {
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
}
def main():
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
void main() {
exchange.SetBase("https://api.bitfinex.com");
exchange.IO("mbase", "https://api-pub.bitfinex.com");
}
取引先のインターフェースと取引インターフェースの異なるベースアドレスを持つ取引所では,例えば,Bitfinex Futuresには2つのアドレスがあり,一つは ticker インターフェース,もう一つは取引インターフェースです.Bitfinex futuurs はプライベート インターフェースのベースアドレスを使用して切り替えます.exchange.SetBase("xxx")
Bitfinexの先物取引は,公開インターフェースのベースアドレスをexchange.IO("mbase", "xxx")
.
I. 暗号通貨中心の取引所では,パラメータが均一にカプセル化されていない他のAPIインターフェース呼び出しk
に設定"api"
:
exchange.IO("api", httpMethod, resource, params, raw)
POST
, GET
などURL
.についてexchange.IO("api", httpMethod, resource, params, raw)
呼び出しが失敗してエラーが発生した場合,関数呼び出しは交換インターフェースにアクセスし null を返します.
真の取引のみをサポートしますexchange.IO("api", httpMethod, resource, params, raw)
function.
II. 取引対を切り替える場合,パラメータはk
設定されています."currency"
:
exchange.IO("currency", currency)
通貨: パラメータは,単一の上文字形式の文字列タイプで,下文字で区切ります.baseCurrency
からquoteCurrency
例えばBTC_USDT
.
ETH_BTC
切り替えるだけですLTC_BTC
しないLTC_USDT
.exchange.IO("currency", currency)
取引相手を切り替える(III) 仮想通貨スポット取引所オブジェクトのレバレッジアカウントモードを切り替えるために使用する:
k
設定されています."trade_margin"
スポットレバレッジアカウントモードに切り替える.オーダーと口座資産の取得は,取引所のスポットレバレッジインターフェイスにアクセスします.
取引所が,即日レバレッジにおいて,完全なリマージと孤立したリマージを区別する場合,以下を用います.exchange.IO("trade_super_margin")
利回り口座の全保安金に切り替える,およびexchange.IO("trade_margin")
利回り口座の利回り分担に切り替えるk
設定されています."trade_normal"
通常のスポット口座モードに戻る.ローバー付き口座モデル間の切り替えをサポートするスポット取引所:
交換 | 特別注意事項 |
---|---|
OKX | レバレッジアカウントモードの取引ペアは通常のものとは異なります.一部の取引ペアはそれらを持たない可能性があります.exchange.IO("trade_super_margin") レバレッジ付き口座の全ポジションに切り替えて使用するexchange.IO("trade_margin") 位置から位置に切り替える.trade_normal 通常のスポットモードに切り替える.exchange.IO("tdMode", "cross") 直接レバレッジモードを指定する. |
ハウビー | ハーバードアカウントモードの取引ペアは通常のペアとは異なります.一部の取引ペアはそうでない場合があります. Huobi ハーバードアカウントにはフルポジションとポジションごとに位置があります.trade_margin レバレッジ口座のポジションごとに切り替えるtrade_super_margin レバレッジアカウントの完全なポジションに切り替える.trade_normal 通常の通貨対通貨モードに切り替える |
バイナンス | レバレッジされた口座モードは,ポジションごとにポジションとフルポジションに分けられる.trade_margin 位置から位置に切り替え,使用trade_super_margin フルポジションに切り替えるには,trade_normal 通常の通貨対通貨モードに切り替える |
ゲート | レバレッジされた口座モードは,ポジションごとにポジションとフルポジションに分けられる.trade_margin 位置から位置に切り替え,使用trade_super_margin フルポジションに切り替えるには,trade_normal 通常の通貨対通貨モードに切り替える |
アセンデックス | 使用exchange.IO("trade_margin") レバレッジアカウントモードに切り替えるexchange.IO("trade_normal") 普通のアカウントモードに戻る |
ワオ | 使用exchange.IO("trade_margin") レバレッジアカウントモードに切り替えるexchange.IO("trade_normal") 普通のアカウントモードに戻る |
コインエックス | 使用exchange.IO("trade_margin") レバレッジ付き口座モードに切り替えるexchange.IO("trade_normal") 普通のアカウントモードに戻る |
他のスイッチ機能:チェックしてくださいexchange.IO()
の関数他のスイッチ機能ユーザーガイドで
{@fun/NetSettings/exchange.SetBase exchange.SetBase}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@var EXCHANGE_OP_IO_CONTROL}, {@var EXCHANGE_OP_IO_CONTROL}, {@fun/NetSettings/exchange.SetBase exchange.SetBase}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@var EXCHANGE_OP_IO_CONTROL}, {@var EXCHANGE_OP_IO_CONTROL}, {@var EXCHANGE_OP_IO_CONTROL}, {@var EXCHANGE_OP_IO_CONTROL}
exchange.SetRate exchange.Log