Cácexchange.GetPositions()
chức năng được sử dụng để có được thông tin vị trí;GetPositions()
hàm là một hàm thành viên của đối tượng trao đổi {@var/EXCHANGE exchange}.GetPositions()
chức năng nhận được thông tin vị trí của tài khoản trao đổi gắn liền với đối tượng trao đổiexchange
Mục đích của các chức năng thành viên (các phương pháp)exchange
đối tượng chỉ liên quan đếnexchange
và sẽ không được lặp lại ở đây.
Cácexchange.GetPositions()
hàm trả về một mảng cấu trúc {@struct/Position Position} nếu yêu cầu dữ liệu thành công, và nó trả về giá trị null nếu yêu cầu dữ liệu thất bại.
{@struct/Position Position} mảng, giá trị không
trao đổi.GetPositions ((() trao đổi.GetPositions (bản biểu tượng)
Các thông sốsymbol
được sử dụng để thiết lậpBiểu tượng giao dịchhoặcphạm vi ký hiệu giao dịchđể được thẩm vấn.
Nếusymbol
Nếu tham số không được truyền, mặc định là yêu cầu dữ liệu vị trí của tất cả các biểu tượng trong phạm vi kích thước của cặp giao dịch hiện tại và mã hợp đồng.
biểu tượng sai chuỗi
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for (var symbol of arrSymbol) {
exchange.CreateOrder(symbol, "buy", -1, 1)
exchange.CreateOrder(symbol, "sell", -1, 1)
}
var defaultPositions = exchange.GetPositions()
var swapPositions = exchange.GetPositions("USDT.swap")
var futuresPositions = exchange.GetPositions("USDT.futures")
var btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap")
var tbls = []
var arr = [defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions]
var tblDesc = ["defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"]
for (var index in arr) {
var positions = arr[index]
var tbl = {type: "table", title: tblDesc[index], cols: ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"], rows: [] }
for (var pos of positions) {
tbl.rows.push([pos.Symbol, pos.MarginLevel, pos.Amount, pos.FrozenAmount, pos.Price, pos.Profit, pos.Type, pos.ContractType, pos.Margin])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// Print out the information once and then return to prevent the order from being executed during the subsequent backtest and affecting data observation
return
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for symbol in arrSymbol:
exchange.CreateOrder(symbol, "buy", -1, 1)
exchange.CreateOrder(symbol, "sell", -1, 1)
defaultPositions = exchange.GetPositions()
swapPositions = exchange.GetPositions("USDT.swap")
futuresPositions = exchange.GetPositions("USDT.futures")
btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap")
tbls = []
arr = [defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions]
tblDesc = ["defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"]
for index in range(len(arr)):
positions = arr[index]
tbl = {"type": "table", "title": tblDesc[index], "cols": ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"], "rows": []}
for pos in positions:
tbl["rows"].append([pos["Symbol"], pos["MarginLevel"], pos["Amount"], pos["FrozenAmount"], pos["Price"], pos["Profit"], pos["Type"], pos["ContractType"], pos["Margin"]])
tbls.append(tbl)
LogStatus("`" + json.dumps(tbls) + "`")
return
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"};
for (const auto& symbol : arrSymbol) {
exchange.CreateOrder(symbol, "buy", -1, 1);
exchange.CreateOrder(symbol, "sell", -1, 1);
}
auto defaultPositions = exchange.GetPositions();
auto swapPositions = exchange.GetPositions("USDT.swap");
auto futuresPositions = exchange.GetPositions("USDT.futures");
auto btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap");
json tbls = R"([])"_json;
std::vector<std::vector<Position>> arr = {defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions};
std::string tblDesc[] = {"defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"};
for (int index = 0; index < arr.size(); index++) {
auto positions = arr[index];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"],
"rows": []
})"_json;
tbl["title"] = tblDesc[index];
for (const auto& pos : positions) {
json arrJson = R"([])"_json;
arrJson.push_back(pos.Symbol);
arrJson.push_back(pos.MarginLevel);
arrJson.push_back(pos.Amount);
arrJson.push_back(pos.FrozenAmount);
arrJson.push_back(pos.Price);
arrJson.push_back(pos.Profit);
arrJson.push_back(pos.Type);
arrJson.push_back(pos.ContractType);
arrJson.push_back(pos.Margin);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
Sử dụng các đối tượng trao đổi tương lai để đặt lệnh thị trường cho nhiều cặp giao dịch và mã hợp đồng khác nhau.
Hợp đồng tương lai tiền điện tử khác với hợp đồng tương lai tiền điện tử, chỉ có khái niệm hợp lý về vị trí.các cặp giao dịch, mã hợp đồngVui lòng tham khảo các hàm {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}
TrongGetPositions
chức năng, các kịch bản sử dụng của tham số biểu tượng được tóm tắt như sau:
Phân loại đối tượng Exchange | biểu tượng Parameter | Phạm vi truy vấn | Nhận xét |
---|---|---|---|
Tiền tương lai | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các sản phẩm giao dịch trong phạm vi kích thước cặp giao dịch và mã hợp đồng hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT và mã hợp đồng là swap, tất cả các hợp đồng vĩnh viễn dựa trên USDT sẽ được truy vấn.GetPositions("USDT.swap") |
Tiền tương lai | Xác định sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm hợp đồng vĩnh viễn dựa trên USDT của một BTC cụ thể | Đối với các đối tượng giao dịch tương lai, định dạng biểu tượng tham số là: sự kết hợp củacặp giao dịchvàmã hợp đồngđược xác định bởi nền tảng FMZ, được tách bởi các ký tự". . |
Tiền tương lai | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng vĩnh viễn dựa trên USDT | - |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các hợp đồng quyền chọn trong phạm vi kích thước cặp giao dịch hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT, hợp đồng được thiết lập thành hợp đồng quyền chọn, ví dụ, hợp đồng quyền chọn Binance: BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định sản phẩm giao dịch cụ thể | truy vấn hợp đồng tùy chọn được chỉ định | Ví dụ, đối với Binance Futures Exchange, tham số biểu tượng là: BTC_USDT.BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng quyền chọn dựa trên USDT | - |
TrongGetPositions
chức năng, đối tượng giao dịch tương lai
phạm vi kích thước truy vấn được tóm tắt như sau:
biểu tượng Parameter | Định nghĩa phạm vi yêu cầu | Nhận xét |
---|---|---|
USDT.swap | Phạm vi hợp đồng vĩnh viễn dựa trên USDT. | Đối với |
kích thước không được hỗ trợ bởi giao diện API trao đổi, một lỗi sẽ được báo cáo và một giá trị null sẽ được trả về khi gọi.
USDT.futures. USDT dựa trên hợp đồng giao hàng.
USD.swap. hợp đồng.
USD.futures. phạm vi giao hàng dựa trên tiền tệ hợp đồng.
USDT.option. USDT-based options contract range.
USD.option. Tùy chọn dựa trên đồng tiền.
USDT.futures_combo Một loạt các sự kết hợp CFD. Futures_Deribit Exchange.
USD.futures_ff. phạm vi của hợp đồng giao dịch ký quỹ hỗn hợp. Futures_Kraken Exchange.
USD.swap_pf. Futures_Kraken Exchange.
Tương thích vớiexchange.GetPosition()
gọi,GetPosition
là chính xác giống nhưGetPositions
.
Khi tài khoản được đại diện bởi đối tượng trao đổiexchange
không có vị trí trongphạm vi truy vấnhoặcCác công cụ giao dịch cụ thể, cácexchange.GetPositions()
hàm trả về một mảng trống, ví dụ:[]
.
{@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}
Cácexchange.SetMarginLevel()
chức năng được sử dụng để thiết lập giá trị đòn bẩy của cặp giao dịch hoặc hợp đồng được chỉ định bởisymbol
Goh so với chỉ đi qua trong tham sốmarginLevel
để thiết lập giá trị đòn bẩy của cặp giao dịch hoặc hợp đồng hiện tại của đối tượng giao dịch {@var/EXCHANGE exchange}.
exchange.SetMarginLevel (( biểu tượng, marginLevel) Exchange.SetMarginLevel ((MarginLevel))
Cácsymbol
Các thông số này được sử dụng để xác định cặp giao dịch hoặc hợp đồng mà giá trị đòn bẩy cần được điều chỉnh.symbol
tham số củaSetMarginLevel()
chức năng phù hợp với định dạng củasymbol
tham số củaGetTicker()
chức năng.
biểu tượng
sai
chuỗi
CácmarginLevel
tham số được sử dụng để thiết lập giá trị đòn bẩy, thường là một số nguyên cho sàn giao dịch và nó cũng hỗ trợ cài đặt giá trị đòn bẩy điểm nổi cho một số sàn giao dịch.
marginLevel
đúng
số
function main() {
exchange.SetMarginLevel(10)
// Set the leverage of BTC’s USDT-margined perpetual contract to 15
exchange.SetMarginLevel("BTC_USDT.swap", 15)
}
def main():
exchange.SetMarginLevel(10)
exchange.SetMarginLevel("BTC_USDT.swap", 15)
void main() {
exchange.SetMarginLevel(10);
exchange.SetMarginLevel("BTC_USDT.swap", 15);
}
Cácexchange.SetMarginLevel()
chức năng hỗ trợ cryptocurrency hợp đồng tương lai trao đổi đối tượng chỉ. hệ thống backtesting hỗ trợ gọiexchange.SetMarginLevel()
chức năng để thiết lập giá trị đòn bẩy.
Đối với các hợp đồng tương lai tiền điện tử, cơ chế đòn bẩy không đồng đều do các sàn giao dịch hợp đồng tương lai tiền điện tử.exchange.SetMarginLevel()
chức năng không tạo ra một yêu cầu mạng, nhưng chỉ thiết lập biến đòn bẩy trong hệ thống FMZ cơ bản (được sử dụng để truyền các tham số trong giao diện đặt lệnh). Giá trị đòn bẩy của một số hợp đồng tương lai trao đổi là một thiết lập của sàn giao dịch, cần phải được thiết lập trên trang trang web trao đổi hoặc sử dụng giao diện API.exchange.SetMarginLevel()
có thể có nhiều lý do cho điều này, ví dụ: có một vị trí hiện tại hoặc lệnh đang chờ, khiến không thể đặt một giá trị đòn bẩy mới cho cặp giao dịch hoặc hợp đồng này.
Các sàn giao dịch không hỗ trợexchange.SetMarginLevel()
chức năng:
Tên chức năng | Không hỗ trợ trao đổi tại chỗ | Giao dịch tương lai không được hỗ trợ |
---|---|---|
SetMarginLevel | – | Tiền tương lai_dYdX / Tiền tương lai_Deribit |
{@var/EXCHANGE exchange}
Cácexchange.SetDirection()
hàm được sử dụng để đặt hướng lệnh của hàm {@fun/Trade/exchange.Buy exchange.Buy}, hàm {@fun/Trade/exchange.Sell exchange.Sell} khi đặt lệnh cho các hợp đồng tương lai.
chuyển đổi.SetDirection ((hướng)
Cácdirection
tham số được sử dụng để thiết lập hướng của hợp đồng tương lai khi đặt lệnh."buy"
, "closesell"
, "sell"
, "closebuy"
.
hướng
đúng
chuỗi
function main(){
// For example, set to OKX futures contract of this week
exchange.SetContractType("this_week")
// Set leverage to 5 times
exchange.SetMarginLevel(5)
// Set the order type to long
exchange.SetDirection("buy")
// Place an order for 2 contracts at 10,000
exchange.Buy(10000, 2)
exchange.SetMarginLevel(5)
exchange.SetDirection("closebuy")
exchange.Sell(1000, 2)
}
def main():
exchange.SetContractType("this_week")
exchange.SetMarginLevel(5)
exchange.SetDirection("buy")
exchange.Buy(10000, 2)
exchange.SetMarginLevel(5)
exchange.SetDirection("closebuy")
exchange.Sell(1000, 2)
void main() {
exchange.SetContractType("this_week");
exchange.SetMarginLevel(5);
exchange.SetDirection("buy");
exchange.Buy(10000, 2);
exchange.SetMarginLevel(5);
exchange.SetDirection("closebuy");
exchange.Sell(1000, 2);
}
Cácexchange.SetDirection()
chức năng thiết lập sự tương ứng giữa hướng giao dịch hợp đồng tương lai và chức năng đặt lệnh:
Chức năng đặt hàng | Hướng định bởi các tham số của hàm SetDirection | Nhận xét |
---|---|---|
exchange.Buy | Mua và mở các vị trí dài | |
exchange.Buy | Mua và đóng các vị trí ngắn | |
exchange.Sell | Bán và mở các vị trí ngắn | |
exchange.Sell | Bán và đóng các vị trí dài |
{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Trade/exchange.Sell exchange.Sell}
Cácexchange.SetContractType()
hàm được sử dụng để đặt mã hợp đồng hiện tại của đối tượng trao đổi {@var/EXCHANGE exchange}.
Cácexchange.SetContractType()
hàm trả về một cấu trúc có chứa mã hợp đồng trao đổi tương ứng với mã hợp đồng hiện tại. Ví dụ, đối với sàn giao dịch hợp đồng tương lai Binance, mã hợp đồng hiện tại làquarter
, và cấu trúc giá trị trả về của hàm này là:{"InstrumentID": "BTCUSD_230630", "instrument": "BTCUSD_230630"}
.
đối tượng
exchange.SetContractType (( biểu tượng)
Cácsymbol
tham số được sử dụng để thiết lập mã hợp đồng, các giá trị tùy chọn là:"this_week"
, "next_week"
, "quarter"
, "next_quarter"
, "swap"
, vv
Hợp đồng tương lai tiền điện tửHợp đồng giao hàngmã, nếu không được chỉ định, thường có:
this_week
: hợp đồng của tuần hiện tại.next_week
: hợp đồng tuần sau.quarter
: hợp đồng hàng quý.next_quarter
: hợp đồng hàng quý tiếp theo.Hợp đồng thường trựcmã trong các hợp đồng tương lai tiền điện tử, nếu không được chỉ định, thường có:swap
: hợp đồng vĩnh viễn.biểu tượng đúng chuỗi
function main() {
// Set to this week contract
exchange.SetContractType("this_week")
}
def main():
exchange.SetContractType("this_week")
void main() {
exchange.SetContractType("this_week");
}
Đặt hợp đồng hiện tại là hợp đồng tuần hiện tại:
function main() {
// The default trading pair is BTC_USD, set the contract for this week, and the contract is a currency standard contract
exchange.SetContractType("this_week")
Log("ticker:", exchange.GetTicker())
// Switching trading pairs, then setting up contracts, switching to USDT as margin contracts, as opposed to currency standard contracts
exchange.IO("currency", "BTC_USDT")
exchange.SetContractType("swap")
Log("ticker:", exchange.GetTicker())
}
def main():
exchange.SetContractType("this_week")
Log("ticker:", exchange.GetTicker())
exchange.IO("currency", "BTC_USDT")
exchange.SetContractType("swap")
Log("ticker:", exchange.GetTicker())
void main() {
exchange.SetContractType("this_week");
Log("ticker:", exchange.GetTicker());
exchange.IO("currency", "BTC_USDT");
exchange.SetContractType("swap");
Log("ticker:", exchange.GetTicker());
}
Khi thiết lập hợp đồng vớiUSDT
như ký quỹ, bạn cần phải chuyển đổi cặp giao dịch trong mã (bạn cũng có thể đặt cặp giao dịch trực tiếp khi thêm đối tượng trao đổi):
function main(){
// Set the contract for this week
var ret = exchange.SetContractType("this_week")
// Return information about the current week's contracts
Log(ret)
}
def main():
ret = exchange.SetContractType("this_week")
Log(ret)
void main() {
auto ret = exchange.SetContractType("this_week");
Log(ret);
}
In giá trị trả về củaexchange.SetContractType()
chức năng:
Trong chiến lược hợp đồng tương lai tiền điện tử, hãy lấy ví dụ về việc chuyển sangBTC_USDT
Cặp giao dịch: Khi chuyển đổi các cặp giao dịch sử dụngexchange.SetCurrency("BTC_USDT")
hoặcexchange.IO("currency", "BTC_USDT")
chức năng, sau khi chuyển đổi, bạn cần phải sử dụng cácexchange.SetContractType()
hệ thống xác định xem nó có phải là một hợp đồng giao dịch mới hay không.Hợp đồng tiêu chuẩn tiền tệhoặc mộtHợp đồng tiêu chuẩn USDTVí dụ, nếu một cặp giao dịch được thiết lập đểBTC_USDT
, sử dụngexchange.SetContractType("swap")
chức năng để thiết lập mã hợp đồng đểswap
Tại thời điểm này, nó được thiết lập đểBTC
đối vớiTiêu chuẩn USDThợp đồng vĩnh viễn.BTC_USD
, sử dụngexchange.SetContractType("swap")
chức năng để thiết lập mã hợp đồng đểswap
Tại thời điểm này, nó được thiết lập đểBTC
Ừ.Tiêu chuẩn tiền tệhợp đồng vĩnh viễn.
Chi tiết về các sàn giao dịch hợp đồng tương lai tiền điện tử được hỗ trợ, với tên hợp đồng cho mỗi sàn giao dịch như sau:
Tiền tương lai_OKCoin (OKX)
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
Đặt vào hợp đồng của tuần này:exchange.SetContractType("this_week")
Đặt hợp đồng vào tuần tới:exchange.SetContractType("next_week")
Đặt vào hợp đồng hàng tháng:exchange.SetContractType("month")
Đặt hợp đồng vào tháng tới:exchange.SetContractType("next_month")
Đặt vào các hợp đồng hàng quý:exchange.SetContractType("quarter")
Đặt vào hợp đồng quý tiếp theo:exchange.SetContractType("next_quarter")
OKX có các hợp đồng giao dịch trước thị trường: ngày giao dịch hợp đồng là một thời gian cố định. Mã hợp đồng được xác định bởi sàn giao dịch là, ví dụ:HMSTR-USDT-250207
. Đặt cặp giao dịchHMSTR_USDT
trên nền tảng FMZ, và sau đó sử dụngexchange.SetContractType("HMSTR-USDT-250207")
để thiết lập hợp đồng.
Đối với các chức năng hỗ trợsymbol
các thông số như:exchange.GetTicker()
, exchange.CreateOrder()
, v.v. Bạn có thể xác địnhsymbol
tham số như:HMSTR_USDT.HMSTR-USDT-250207
để thu thập dữ liệu thị trường của hợp đồng này hoặc đặt hàng.
Tiền tương lai_HuobiDM (Tiền tương lai của Huobi)
Đặt vào hợp đồng của tuần này:exchange.SetContractType("this_week")
.
Đặt hợp đồng vào tuần tới:exchange.SetContractType("next_week")
.
Đặt vào các hợp đồng hàng quý:exchange.SetContractType("quarter")
.
Đặt vào hợp đồng quý tiếp theo:exchange.SetContractType("next_quarter")
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Nó hỗ trợ các hợp đồng vớiUSDT
như ký quỹ, lấyBTC
hợp đồng ví dụ: sử dụngexchange.IO("currency", "BTC_USDT")
để chuyển sang một hợp đồng sử dụngUSDT
như là biên.
Hoặc đặt cặp giao dịch hiện tạiBTC_USDT
trực tiếp khi cấu hình các tham số giao dịch trực tiếp và thêm các đối tượng trao đổi.exchange.SetContractType()
chức năng một lần nữa để thiết lập hợp đồng.
Tiền tương lai_BitMEX (BitMEX)
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Hợp đồng giao dịch giao dịch tương lai BitMEX là hợp đồng hàng tháng với các mã hợp đồng sau (từ tháng 1 đến tháng 12):
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
Thiết lập hợp đồng giao hàng:exchange.SetContractType("December")
Ví dụ, khi cặp giao dịch được thiết lập đểXBT_USDT
, cácexchange.SetContractType("December")
chức năng được gọi để thiết lập hợp đồng cho tháng 12 giao hàng trong USDT dựa trên BTC (tương ứng với mã hợp đồng thực tế củaXBTUSDTZ23
).
Tóm tắt thông tin hợp đồng tương lai_BitMEX
Mã hợp đồng được xác định bởi Futures_BitMEX | Cặp giao dịch tương ứng trong FMZ | Mã hợp đồng tương ứng trong FMZ | Nhận xét |
---|---|---|---|
DOGEUSD | DOGE_USD | giao dịch | Định nghĩa USD, XBT thanh toán. XBT là BTC. |
DOGEUST | DOGE_USDT | giao dịch | Định nghĩa USDT, USDT thanh toán. |
XBTETH | XBT_ETH | giao dịch | ETH được mệnh giá, XBT được thanh toán. |
XBTEUR | XBT_EUR | giao dịch | Định giá bằng EUR, XBT được thanh toán. |
USDTUSDC | USDT_USDC | giao dịch | Định nghĩa USDC, XBT thanh toán. |
ETHUSD_ETH | ETH_USD_ETH | giao dịch | Định giá bằng USD, ETH được thanh toán. |
XBTH24 | XBT_USD | Tháng 3 | Ngày hết hạn: 24 tháng 3, mã tháng là: H; denominated USD, XBT settled. |
ETHUSDZ23 | ETH_USD | Tháng 12 | Ngày hết hạn: 23 tháng 12, mã tháng là: Z; denominated USD, XBT settled. |
XBTUSDTZ23 | XBT_USDT | Tháng 12 | Ngày hết hạn: ngày 23 tháng 12 Mã tháng là: Z ; denominated USDT, settled USDT. |
ADAZ23 | ADA_XBT | Tháng 12 | Ngày hết hạn: 23 tháng 12, mã tháng là: Z ; XBT hóa đơn, XBT thanh toán. |
P_XBTETFX23 | USDT_XXX | P_XBTETFX23 | Thời hạn: 11/23/23; được biểu diễn bằng tỷ lệ phần trăm và được thanh toán bằng USDT. |
Futures_GateIO
Đặt vào hợp đồng của tuần này:exchange.SetContractType("this_week")
.
Đặt hợp đồng vào tuần tới:exchange.SetContractType("next_week")
.
Đặt vào các hợp đồng hàng quý:exchange.SetContractType("quarter")
.
Đặt vào hợp đồng quý tiếp theo:exchange.SetContractType("next_quarter")
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Nó hỗ trợ các hợp đồng vớiUSDT
như ký quỹ, lấyBTC
hợp đồng ví dụ: sử dụngexchange.IO("currency", "BTC_USDT")
để chuyển sang một hợp đồng sử dụngUSDT
như là biên.
Hoặc đặt cặp giao dịch hiện tạiBTC_USDT
trực tiếp khi cấu hình các tham số giao dịch trực tiếp và thêm các đối tượng trao đổi.exchange.SetContractType()
chức năng một lần nữa để thiết lập hợp đồng.
Tiền tương lai_Deribit
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Nó hỗ trợ DeribitUSDC
hợp đồng.
Các hợp đồng giao hàng là:"this_week"
, "next_week"
, "month"
, "quarter"
, "next_quarter"
, "third_quarter"
, "fourth_quarter"
.
CFD (future_combo):"this_week,swap"
, "next_week,swap"
, "next_quarter,this_week"
, "third_quarter,this_week"
, "month,next_week"
, có rất nhiều sự kết hợp.
Đối với các hợp đồng quyền chọn, bạn cần đi vào mã hợp đồng quyền chọn cụ thể được xác định bởi sàn giao dịch, xem trang web Deribit để biết chi tiết.
Futures_KuCoin
Ví dụ, nếu cặp giao dịch được thiết lập đểBTC_USD
và mã hợp đồng được thiết lập, đó là hợp đồng dựa trên tiền tệ:
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Đặt vào các hợp đồng hàng quý:exchange.SetContractType("quarter")
.
Đặt vào hợp đồng quý tiếp theo:exchange.SetContractType("next_quarter")
.
USDT như hợp đồng ký quỹ:
Ví dụ, nếu cặp giao dịch được thiết lập đểBTC_USDT
, và sau đó đặt mã hợp đồng, đó là một hợp đồng với USDT như ký quỹ.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Futures_Binance
Binance Futures Exchange mặc định đối với hợp đồng vĩnh viễn của cặp giao dịch hiện tại, mã hợp đồng:swap
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
, các hợp đồng vĩnh viễn của Binance có các hợp đồng sử dụngUSDT
ví dụ,USDT
hợp đồng vĩnh viễn tiêu chuẩn củaBTC
có thể được sử dụng như một hợp đồng ký quỹ, và cặp giao dịch được thiết lập đểBTC_USDT
Binance cũng hỗ trợ các hợp đồng vĩnh viễn sử dụng tiền xu như ký quỹ, ví dụ,BTC
là hợp đồng vĩnh cửu tiêu chuẩn của Binance, với cặp giao dịch được thiết lập đểBTC_USD
.
Đặt vào các hợp đồng hàng quý:exchange.SetContractType("quarter")
, hợp đồng giao hàng có hợp đồng tiêu chuẩn tiền tệ (tức là sử dụng tiền tệ làm ký quỹ), ví dụ:BTC
Trong hợp đồng hàng quý, cặp giao dịch được thiết lập để:BTC_USD
và sau đó thiết lập hợp đồngexchange.SetContractType("quarter")
, nó được thiết lập đểBTC
hợp đồng hàng quý với hợp đồng tiêu chuẩn tiền tệ.
Đặt vào hợp đồng quý tiếp theo:exchange.SetContractType("next_quarter")
, ví dụ,BTC
của hợp đồng hàng quý tiêu chuẩn tiền tệ, cặp giao dịch được thiết lập là:BTC_USD
, và sau đó thiết lập hợp đồngexchange.SetContractType("next_quarter")
.
Binance hỗ trợ một phầnUSDT
như hợp đồng giao dịch ký quỹ,BTC
ví dụ, đặt cặp giao dịch đểBTC_USDT
, sau đó đặt mã hợp đồng.
Hỗ trợ cho các hợp đồng Binance Options:
Định dạng mã hợp đồng quyền chọn dựa trên mã hợp đồng quyền chọn được xác định bởi sàn giao dịch:BTC-241227-15000-C
, XRP-240112-0.5-C
, BTC-241227-15000-P
Hãy lấy mã hợp đồng quyền chọn BinanceBTC-241227-15000-P
ví dụ: BTC là mã tiền tệ tùy chọn, 241227 là ngày thực hiện, 15000 là giá thực hiện, P đại diện cho tùy chọn bán và C đại diện cho tùy chọn mua.
Để biết chi tiết về loại quyền chọn, cho dù đó là quyền chọn châu Âu hay quyền chọn Mỹ, vui lòng tham khảo thông tin liên quan của hợp đồng quyền chọn của sàn giao dịch.
Sàn giao dịch có thể hạn chế người bán tùy chọn và yêu cầu họ nộp đơn xin trình độ riêng biệt.
Futures_Bibox
Mã hợp đồng cho hợp đồng vĩnh viễn Bibox:swap
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
.
Tiền tương lai_Bybit
Chế độ mặc định là hợp đồng vĩnh viễn cho cặp giao dịch hiện tại, mã hợp đồng:swap
.
Mã hợp đồng tuần này:this_week
.
Mã hợp đồng tuần tới:next_week
.
Mã hợp đồng tuần thứ ba:third_week
.
Mã hợp đồng hàng tháng:month
.
Mã hợp đồng tháng tới:next_month
.
Mã hợp đồng quý:quarter
.
Mã hợp đồng quý tiếp theo:next_quarter
.
Mã hợp đồng quý 3:third_quarter
.
Futures_Kraken
Chế độ mặc định là hợp đồng vĩnh viễn của cặp giao dịch hiện tại, mã hợp đồng:swap
.
swap
: hợp đồng vĩnh viễn.month
: hợp đồng tháng hiện tại.quarter
: hợp đồng hàng quý.next_quarter
Hợp đồng quý tiếp theo.swap_pf
: Hợp đồng vĩnh viễn với ký quỹ hỗn hợp.quarter_ff
: Hợp đồng hàng quý với ký quỹ hỗn hợp.month_ff
: Hợp đồng ký quỹ hỗn hợp trong tháng hiện tại.next_quarter_ff
: Hợp đồng biên độ hỗn hợp quý tiếp theo.
Tiền tương lai_Bitfinex
Chế độ mặc định là hợp đồng vĩnh viễn cho cặp giao dịch hiện tại, mã hợp đồng:swap
.
Tiền tương lai_Bitget
Chế độ mặc định là hợp đồng vĩnh viễn cho cặp giao dịch hiện tại, mã hợp đồng:swap
.
Cặp giao dịch được thiết lập làBTC_USD
đối với các hợp đồng tiêu chuẩn tiền tệ, và cặp giao dịch được thiết lập làBTC_USDT
đối với các hợp đồng được thanh toán bởiUSDT
Hợp đồng demo có thể được thiết lập với các cặp giao dịch nhưSBTC_USD
, BTC_SUSDT
.
Futures_dYdX
Mã hợp đồng cho các hợp đồng vĩnh viễn dYdX:swap
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
, dYdX chỉ có hợp đồng tiêu chuẩn USDT.
Tiền tương lai_MEXC
Mã hợp đồng cho các hợp đồng vĩnh viễn của MEXC:swap
.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
. Đặt cặp giao dịch vàoBTC_USD
, đó là hợp đồng tiêu chuẩn tiền tệ, và đặt cặp giao dịch đểBTC_USDT
, đó làUSDT
- Hợp đồng đã được thỏa thuận.
Tiền tương lai_Thiên mật mã
Token trong một tài khoản trêncrypto.comgiao dịch ngoại hối có thể được chuyển đổi thành các khoản tín dụng bằng USD để được sử dụng làm ký quỹ cho giao dịch hợp đồng.
Đặt vào hợp đồng vĩnh viễn:exchange.SetContractType("swap")
. Ví dụ về việc gọiexchange.SetContractType("swap")
chức năng để thiết lập một hợp đồng vĩnh viễn cho BTC khi cặp giao dịch được thiết lập đểBTC_USD
.
Cáccrypto.comHợp đồng giao hàng trao đổi là hợp đồng hàng tháng với mã hợp đồng sau (từ tháng 1 đến tháng 12):
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
Đặt hợp đồng giao hàng:exchange.SetContractType("October")
Ví dụ, khi cặp giao dịch được thiết lập đểBTC_USD
, gọi hàmexchange.SetContractType("October")
để thiết lập hợp đồng giao hàng tháng 10 cho BTC.
Mã hợp đồng tương ứng hiện tại là:BTCUSD-231027
.
Tiền tương lai
Tiền tương lai_WOO hỗ trợ trao đổiUSDT
dựa trên hợp đồng với mã hợp đồng vĩnh viễn củaswap
Ví dụ, khi cặp giao dịch được thiết lập đểBTC_USDT
, chức năngexchange.SetContractType("swap")
được gọi để thiết lập hợp đồng hiện tại là một hợp đồng vĩnh viễn dựa trên USDT cho BTC.
{@fun/Futures/exchange.GetContractType exchange.GetContractType}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}
Cácexchange.GetContractType()
hàm được sử dụng để lấy mã hợp đồng cho cài đặt hiện tại của đối tượng trao đổi {@var/EXCHANGE exchange}.
Cácexchange.GetContractType()
hàm trả về mã hợp đồng được xác định bởi nền tảng FMZ, ví dụ:this_week
, swap
, vv
chuỗi
exchange.GetContractType (()
function main () {
Log(exchange.SetContractType("this_week"))
Log(exchange.GetContractType())
}
def main():
Log(exchange.SetContractType("this_week"))
Log(exchange.GetContractType())
void main() {
Log(exchange.SetContractType("this_week"));
Log(exchange.GetContractType());
}
{@fun/Futures/exchange.SetContractType exchange.SetContractType}
Cácexchange.GetFundings()
chức năng được sử dụng để lấy dữ liệu tỷ lệ tài trợ cho giai đoạn hiện tại.
Cácexchange.GetFundings()
hàm trả về một mảng {@struct/Funding Funding} cấu trúc khi yêu cầu dữ liệu thành công, và trả về một giá trị null khi yêu cầu dữ liệu thất bại.
{@struct/Funding Funding} mảng, giá trị không
trao đổi.GetFundings() trao đổi.GetFundings (thông hiệu)
Các thông sốsymbol
được sử dụng để thiết lậpbiểu tượng giao dịchhoặcphạm vi ký hiệu giao dịchđược hỏi.symbol
Nếu tham số này không được vượt qua, dữ liệu tỷ lệ tài trợ hiện tại của tất cả các công cụ sẽ được yêu cầu theo mặc định trong phạm vi kích thước của cặp giao dịch và mã hợp đồng hiện tại.
biểu tượng sai chuỗi
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
*/
function main() {
// LPT_USDT.swap 4-hour period
var symbols = ["SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"]
for (var symbol of symbols) {
exchange.GetTicker(symbol)
}
var arr = []
var arrParams = ["no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"]
for (p of arrParams) {
if (p == "no param") {
arr.push(exchange.GetFundings())
} else {
arr.push(exchange.GetFundings(p))
}
}
var tbls = []
var index = 0
for (var fundings of arr) {
var tbl = {
"type": "table",
"title": arrParams[index],
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": [],
}
for (var f of fundings) {
tbl["rows"].push([f.Symbol, f.Interval / 3600000, _D(f.Time), f.Rate * 100 + " %"])
}
tbls.push(tbl)
index++
}
LogStatus(_D(), "\n Requested market types:", symbols, "\n`" + JSON.stringify(tbls) + "`")
}
'''backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
'''
import json
def main():
# LPT_USDT.swap 4-hour period
symbols = ["SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"]
for symbol in symbols:
exchange.GetTicker(symbol)
arr = []
arrParams = ["no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"]
for p in arrParams:
if p == "no param":
arr.append(exchange.GetFundings())
else:
arr.append(exchange.GetFundings(p))
tbls = []
index = 0
for fundings in arr:
tbl = {
"type": "table",
"title": arrParams[index],
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": [],
}
for f in fundings:
tbl["rows"].append([f["Symbol"], f["Interval"] / 3600000, _D(f["Time"]), str(f["Rate"] * 100) + " %"])
tbls.append(tbl)
index += 1
LogStatus(_D(), "\n Requested market types:", symbols, "\n`" + json.dumps(tbls) + "`")
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
*/
void main() {
// LPT_USDT.swap 4-hour period
json arrSymbol = R"([])"_json;
std::string symbols[] = {"SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"};
for (const std::string& symbol : symbols) {
exchange.GetTicker(symbol);
arrSymbol.push_back(symbol);
}
std::vector<std::vector<Funding>> arr = {};
std::string arrParams[] = {"no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"};
for (const std::string& p : arrParams) {
if (p == "no param") {
arr.push_back(exchange.GetFundings());
} else {
arr.push_back(exchange.GetFundings(p));
}
}
json tbls = R"([])"_json;
int index = 0;
for (int i = 0; i < arr.size(); i++) {
auto fundings = arr[i];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": []
})"_json;
tbl["title"] = arrParams[index];
for (int j = 0; j < fundings.size(); j++) {
auto f = fundings[j];
// json arrJson = {f.Symbol, f.Interval / 3600000, _D(f.Time), string(f.Rate * 100) + " %"};
json arrJson = {f.Symbol, f.Interval / 3600000, _D(f.Time), f.Rate};
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
index++;
}
LogStatus(_D(), "\n Requested market types:", arrSymbol.dump(), "\n`" + tbls.dump() + "`");
}
Sử dụng đối tượng trao đổi tương lai để gọiexchange.GetFundings()
trước khi gọi bất kỳ chức năng thị trường nào, GetFundings chỉ trả về dữ liệu Funding của cặp giao dịch mặc định hiện tại. Sau khi gọi chức năng thị trường, nó trả về dữ liệu Funding của tất cả các giống được yêu cầu. Bạn có thể tham khảo ví dụ kiểm tra sau:
Đối với các sàn giao dịch tương lai không hỗ trợ truy vấn hàng loạt dữ liệu tỷ lệ tài trợ, nếusymbol
tham số được chỉ định là phạm vi truy vấn, ví dụ:USDT.swap
hoặcsymbol
tham số không được thông qua, giao diện sẽ báo cáo một lỗi.GetFundings()
chức năng sử dụng loại này của tương lai trao đổi đối tượng, bạn phải chỉ định cácsymbol
tham số như một loại hợp đồng vĩnh viễn cụ thể để truy vấn dữ liệu tỷ lệ tài trợ hiện tại của loại hợp đồng đó.
Cácexchange.GetFundings()
chức năng hỗ trợ các hệ thống giao dịch và backtesting thực tế.
Các sàn giao dịch không hỗ trợ mua hàng loạt dữ liệu tỷ lệ tài trợ: Futures_Bitget, Futures_OKX, Futures_MEXC, Futures_Deribit, Futures_Crypto.symbol
tham số với mã biểu tượng cụ thể, ví dụ:ETH_USDT.swap
.
Các sàn giao dịch không hỗ trợexchange.GetFundings()
chức năng:
Tên chức năng | Không hỗ trợ trao đổi tại chỗ | Giao dịch tương lai không được hỗ trợ |
---|---|---|
GetFundings | – | Tiền tương lai_DigiFinex |
{@struct/Funding Funding}
Tài khoản NetSettings