이exchange.GetPositions()
위치 정보를 얻기 위해 사용 됩니다.GetPositions()
함수는 교환 객체 {@var/EXCHANGE exchange}의 멤버 함수입니다.GetPositions()
함수는 교환 객체와 연결된 교환 계좌의 위치 정보를 얻습니다exchange
의 구성원 기능 (방법) 의 목적exchange
객체와만 관련이 있습니다.exchange
그리고 여기서 반복되지 않을 것입니다.
이exchange.GetPositions()
함수는 데이터 요청이 성공하면 {@struct/Position Position} 구조의 배열을 반환하고 데이터 요청이 실패하면 null 값을 반환합니다.
{@struct/Position Position} 배열, null 값
교환.GetPositions() 교환.GetPositions (표)
매개 변수symbol
사용 됩니다상거래 기호또는거래 기호 범위조사를 받을 수 있습니다.
만약symbol
매개 변수가 전달되지 않는 경우, 기본값은 현재 거래 쌍과 계약 코드 차원의 범위의 모든 기호의 위치 데이터를 요청하는 것입니다.
기호 거짓 문자열
/*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;
}
미래에셋 거래소 객체를 사용하여 여러 가지 다른 거래 쌍 및 계약 코드에 대한 시장 주문을 배치합니다. 여러 가지 방법으로 포지션을 검색합니다.
암호화폐 선물 계약은 위치의 논리적 개념만을 가진 암호화폐 스팟과 다릅니다. FMZ 퀀트 트레이딩 플랫폼 시스템에서 특정 유형의 암호화폐 선물 계약은거래 쌍, 계약 코드함께. {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType} 함수를 참조하십시오.
이 지역에서는GetPositions
함수, 기호 매개 변수의 사용 시나리오는 다음과 같이 요약됩니다.
교환 객체 분류 | 기호 매개 변수 | 쿼리 범위 | 언급 |
---|---|---|---|
선물 | 기호 매개 변수를 전달하지 마십시오 | 현재 거래 쌍 및 계약 코드 차원 범위 내의 모든 거래 제품을 검색합니다. | 현재 거래 쌍이 BTC_USDT이고 계약 코드가 swap인 경우, USDT 기반의 모든 영구계약이 검색됩니다.GetPositions("USDT.swap") |
선물 | 거래 상품을 지정합니다. 기호 매개 변수는: |
특정 BTC의 USDT 기반 상시계약을 검색합니다. | 선물 거래소 대상의 경우 매개 변수 기호의 형식은 다음과 같습니다.거래 쌍그리고계약 코드FMZ 플랫폼에 의해 정의되며, 문자로 구분됩니다.". . |
선물 | 거래 상품 범위를 지정합니다. 기호 매개 변수는: |
모든 USDT 기반 상시계약을 검색합니다. | - |
옵션을 지원하는 선물 거래소 | 기호 매개 변수를 전달하지 마십시오 | 현재 거래 쌍 차원 범위 내의 모든 옵션 계약을 검색 | 현재 거래 쌍이 BTC_USDT인 경우 계약은 옵션 계약으로 설정됩니다. 예를 들어 Binance 옵션 계약: BTC-240108-40000-C |
옵션을 지원하는 선물 거래소 | 특정 거래 상품을 지정 | 지정된 옵션 계약을 검색 | 예를 들어, 바이낸스 선물 거래소에서 기호 매개 변수는: BTC_USDT.BTC-240108-40000-C |
옵션을 지원하는 선물 거래소 | 거래 상품 범위를 지정합니다. 기호 매개 변수는: |
모든 USDT 기반 옵션 계약을 검색 | - |
이 지역에서는GetPositions
함수, 선물 거래 대상
질의 차원 범위는 다음과 같이 요약됩니다.
기호 매개 변수 | 요청 범위 정의 | 언급 |
---|---|---|
USDT.swap | USDT 기반의 영구계약 범위 | 에 대해 |
교환 API 인터페이스에서 지원되지 않는 차원, 오류가 보고되고 null 값이 반환됩니다. 전화합니다.
♫ USDT.futures ♫ ♫ USDT 기반 배송 계약 범위 ♫ ♫ USDT 기반 배달 계약 범위 ♫ ♫ USDT.futures ♫
USD.swap입니다. 계약입니다.
USD.Futures. 통화 기반 배송의 범위 계약입니다.
USDT 옵션 USDT 기반 옵션 계약 범위
USD 옵션 통화 기반 옵션 계약 범위
USDT.futures_combo CFD 조합의 범위 퓨처스_데리빗 거래소
USD.futures_ff 혼합 마진 배송 계약의 범위 미래_크래켄 거래소
USD.swap_pf 혼합 마진 영구계약 범위 미래_크래켄 거래소
호환성exchange.GetPosition()
전화,GetPosition
이 값은GetPositions
.
교환 대상으로 대표되는 계좌가exchange
그 어떤 위치도 가지고 있지 않습니다질의 범위또는특정 거래 도구, 그exchange.GetPositions()
함수는 빈 배열을 반환합니다. 예를 들어[]
.
{@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}
이exchange.SetMarginLevel()
이 함수는 거래 쌍 또는 계약의 레버리지 값을 설정하는 데 사용됩니다.symbol
매개 변수. 매개 변수만 통과하는 것과 호환marginLevel
거래 대상인 {@var/EXCHANGE exchange}의 현재 거래 쌍 또는 계약의 레버리지 값을 설정합니다.
exchange.SetMarginLevel ((기호, 마진 레벨) 교환.변경수준을 설정 (변경수준)
이symbol
이 매개 변수는 거래 쌍 또는 거래 계약에 대해 레버리지 값을 조정해야 하는 것을 지정하는 데 사용됩니다.symbol
매개 변수SetMarginLevel()
기능은symbol
매개 변수GetTicker()
기능.
기호
거짓
문자열
의marginLevel
이 매개 변수는 레버리지 값을 설정하는 데 사용됩니다. 일반적으로 거래소에 전체 숫자이며 일부 거래소에 부동 소수점 레버리지 값 설정을 지원합니다.
마진수준
사실
번호
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);
}
이exchange.SetMarginLevel()
기능은 암호화폐 선물 계약 교환 객체만 지원합니다.exchange.SetMarginLevel()
레버리지 값을 설정하는 기능입니다.
암호화폐 선물 계약의 경우, 암호화폐 선물 계약 거래소 때문에 레버리지 메커니즘은 균일하지 않습니다. 일부 거래소에서는 선물 계약의 레버리지 값은 주문 배치 인터페이스의 매개 변수입니다.exchange.SetMarginLevel()
함수는 네트워크 요청을 생성하지 않고, 기본 FMZ 시스템에서 레버리지 변수를 설정합니다. 이 경우 거래소 웹 사이트 페이지 또는 API 인터페이스를 사용하여 설정해야하는 거래소의 레버리지 값입니다.exchange.SetMarginLevel()
이 함수는 네트워크 요청을 생성하고 레버리지를 설정하지 않을 수 있습니다. 예를 들어 현재 위치 또는 대기 주문이 있으므로 이 거래 쌍 또는 계약에 대한 새로운 레버리지 값을 설정하는 것이 불가능합니다.
지원하지 않는 거래소exchange.SetMarginLevel()
기능:
함수 이름 | 지원되지 않는 스팟 교환 | 지원되지 않은 선물 거래 |
---|---|---|
MarginLevel 설정 | – | 선물_dYdX / 선물_데리빗 |
{@var/EXCHANGE 교환}
이exchange.SetDirection()
함수는 {@fun/Trade/exchange.Buy exchange.Buy} 함수, {@fun/Trade/exchange.Sell exchange.Sell} 함수의 주문 방향을 설정하는 데 사용됩니다.
교환.SetDirection (방향 설정)
이direction
매개 변수는 주문을 할 때 선물 계약의 방향을 설정하는 데 사용됩니다. 선택적 값은:"buy"
, "closesell"
, "sell"
, "closebuy"
...
방향
사실
문자열
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);
}
이exchange.SetDirection()
이 함수는 선물 계약 거래 방향과 주문 배치 함수 사이의 대응을 설정합니다.
주문 배치 기능 | SetDirection 함수의 매개 변수들에 의해 설정된 방향 | 언급 |
---|---|---|
exchange.Buy | 긴 포지션을 구매하고 오픈합니다 | |
exchange.Buy | 코트 포지션 구매 및 폐쇄 | |
exchange.Sell | 판매 및 오픈 짧은 위치 | |
exchange.Sell | 긴 포지션을 팔고 닫습니다. |
{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Trade/exchange.Sell exchange.Sell}
이exchange.SetContractType()
이 함수는 {@var/EXCHANGE exchange} 교환 객체의 현재 계약 코드를 설정하는 데 사용됩니다.
이exchange.SetContractType()
이 함수는 현재 계약 코드와 일치하는 거래 계약 코드를 포함하는 구조를 반환합니다. 예를 들어, 바이낸스 선물 계약 거래소에서 현재 계약 코드는quarter
이 함수의 반환 값 구조는:{"InstrumentID": "BTCUSD_230630", "instrument": "BTCUSD_230630"}
...
물체
exchange.SetContractType (표)
이symbol
매개 변수는 계약 코드를 설정하는 데 사용됩니다. 선택 값은:"this_week"
, "next_week"
, "quarter"
, "next_quarter"
, "swap"
, 등등
암호화폐 선물 계약배달 계약코드는 지정되지 않은 경우 일반적으로 다음과 같습니다.
this_week
: 현 주 계약.next_week
다음 주 계약quarter
: 분기 계약.next_quarter
: 다음 분기 계약.영구 계약암호화폐 선물계약의 코드는 일반적으로 다음을 포함합니다.swap
: 영구 계약.기호 사실 문자열
function main() {
// Set to this week contract
exchange.SetContractType("this_week")
}
def main():
exchange.SetContractType("this_week")
void main() {
exchange.SetContractType("this_week");
}
현재 계약은 현재 주 계약으로 설정:
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());
}
계약서를 작성할 때USDT
마진으로, 당신은 코드에서 거래 쌍을 전환해야합니다 (당신은 또한 교환 객체를 추가 할 때 직접 거래 쌍을 설정할 수 있습니다):
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);
}
값의 반환 값을 인쇄exchange.SetContractType()
기능:
암호화폐 선물 계약 전략에서,BTC_USDT
거래 쌍: 거래 쌍을exchange.SetCurrency("BTC_USDT")
또는exchange.IO("currency", "BTC_USDT")
기능, 전환 후, 당신은exchange.SetContractType()
이 시스템은 새로운 거래 쌍에 따라 운용되는 현재 계약을 결정하기 위해 계약을 재설정하는 기능을 수행합니다.통화 표준 계약또는USDT 표준 계약예를 들어, 거래 쌍이BTC_USDT
, 사용exchange.SetContractType("swap")
계약 코드를 설정하는 기능swap
이 시점에서, 그것은 설정됩니다BTC
에 대해USDT 표준상시 계약입니다. 거래 쌍이BTC_USD
, 사용exchange.SetContractType("swap")
계약 코드를 설정하는 기능swap
이 시점에서, 그것은 설정됩니다BTC
's '통화 표준영구계약
지원되는 암호화폐 선물계약 거래소의 세부 정보와 각 거래소의 계약명:
미래에셋대우 (OKCoin) (OKX)
영구 계약으로 설정:exchange.SetContractType("swap")
이번 주 계약에 맞춰:exchange.SetContractType("this_week")
다음주 계약 예정:exchange.SetContractType("next_week")
월계약으로 설정:exchange.SetContractType("month")
다음 달 계약으로 설정:exchange.SetContractType("next_month")
분기 계약으로 설정:exchange.SetContractType("quarter")
다음 분기 계약으로 설정:exchange.SetContractType("next_quarter")
OKX는 시장 전 거래 계약을 가지고 있습니다: 계약 납품 날짜는 고정 시간입니다. 거래소에서 정의 된 계약 코드는 예를 들어:HMSTR-USDT-250207
거래 쌍을HMSTR_USDT
FMZ 플랫폼에, 그리고 그 다음 사용exchange.SetContractType("HMSTR-USDT-250207")
계약서를 작성하기 위해.
이 기능을 지원하는 기능에 대해symbol
파라미터, 예를 들어:exchange.GetTicker()
, exchange.CreateOrder()
, 등symbol
매개 변수:HMSTR_USDT.HMSTR-USDT-250207
이 계약에 대한 시장 데이터를 얻거나 주문을 할 수 있습니다.
퓨처스_후오비DM (후오비 퓨처스)
이번 주 계약에 맞춰:exchange.SetContractType("this_week")
...
다음주 계약 예정:exchange.SetContractType("next_week")
...
분기 계약으로 설정:exchange.SetContractType("quarter")
- 그래요
다음 분기 계약으로 설정:exchange.SetContractType("next_quarter")
...
영구 계약으로 설정:exchange.SetContractType("swap")
...
이 기관은USDT
마진으로,BTC
예를 들어 계약: 사용exchange.IO("currency", "BTC_USDT")
사용된 계약으로 전환하기 위해USDT
마진으로
또는 현재 거래 쌍을BTC_USDT
직접 라이브 거래 매개 변수를 구성하고 교환 객체를 추가 할 때.exchange.SetContractType()
계약서를 다시 설정하는 기능을 합니다.
퓨처스_비트메크 (BitMEX)
영구 계약으로 설정:exchange.SetContractType("swap")
- 네
퓨처스_비트메크스 거래소 배달 계약은 다음 계약 코드 (한வரி부터 12월까지) 를 가진 월간 계약입니다.
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
배송 계약의 수립exchange.SetContractType("December")
예를 들어, 거래 쌍이XBT_USDT
, 그exchange.SetContractType("December")
이 함수는 BTC에 기반한 USDT로 12월 배송 계약을 설정합니다 (BTC의 실제 계약 코드와 일치합니다)XBTUSDTZ23
).
퓨처스_비트메크스 계약 정보 요약
Futures_BitMEX에 의해 정의된 계약 코드 | FMZ에 해당하는 거래 쌍 | FMZ에서 해당 계약 코드 | 언급 |
---|---|---|---|
DOGEUSD | DOGE_USD | 교환 | USD로 표기되어 XBT가 결제됩니다. XBT는 BTC입니다. |
DOGEUSDT | DOGE_USDT | 교환 | USDT로 표결, USDT로 결제 |
XBTETH | XBT_ETH | 교환 | ETH로 정액, XBT로 정액 |
XBTEUR | XBT_EUR | 교환 | 유로, XBT로 결제 |
USDTUSDC | USDT_USDC | 교환 | USDC로 표결하고 XBT로 결산 |
ETHUSD_ETH | ETH_USD_ETH | 교환 | 미국 달러로 표결하고 ETH로 결제됩니다. |
XBTH24 | XBT_USD | 3월 | 만료일: 3월 24일, 달 코드는: H; USD로 표정, XBT로 결제. |
ETHUSDZ23 | ETH_USD | 12월 | 만료일: 12월 23일, 달 코드는: Z; USD로 표기, XBT로 결제. |
XBTUSDTZ23 | XBT_USDT | 12월 | 만료일: 12월 23일, 달 코드는: Z; USDT로 표결, USDT로 결제. |
ADAZ23 | ADA_XBT | 12월 | 만료일: 12월 23일, 달 코드는: Z ; XBT 결제, XBT 결제. |
P_XBTETFX23 | USDT_XXX | P_XBTETFX23 | 만료일: 11/23/23; 비율로 표기되어 USDT로 결산됩니다. |
퓨처스_게이트
이번 주 계약에 맞춰:exchange.SetContractType("this_week")
...
다음주 계약 예정:exchange.SetContractType("next_week")
...
분기 계약으로 설정:exchange.SetContractType("quarter")
- 그래요
다음 분기 계약으로 설정:exchange.SetContractType("next_quarter")
...
영구 계약으로 설정:exchange.SetContractType("swap")
...
이 기관은USDT
마진으로,BTC
예를 들어 계약: 사용exchange.IO("currency", "BTC_USDT")
사용된 계약으로 전환하기 위해USDT
마진으로
또는 현재 거래 쌍을BTC_USDT
직접 라이브 거래 매개 변수를 구성하고 교환 객체를 추가 할 때.exchange.SetContractType()
계약서를 다시 설정하는 기능을 합니다.
미래에셋대우
영구 계약으로 설정:exchange.SetContractType("swap")
...
데리비트를 지원합니다.USDC
계약.
배송 계약은 다음과 같습니다."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"
, 많은 조합이 있습니다.
옵션 계약에 대해서는 거래소에서 정의한 특정 옵션 계약 코드를 입력해야 합니다. 자세한 내용은 Deribit 웹사이트를 참조하십시오.
퓨처스_쿠코인
예를 들어, 거래 쌍이BTC_USD
그리고 계약 코드가 설정되면 통화 기반 계약입니다.
영구 계약으로 설정:exchange.SetContractType("swap")
...
분기 계약으로 설정:exchange.SetContractType("quarter")
- 그래요
다음 분기 계약으로 설정:exchange.SetContractType("next_quarter")
.
마진 계약으로 USDT:
예를 들어, 거래 쌍이BTC_USDT
, 그리고 계약 코드를 설정, 그것은 마진으로 USDT와 계약입니다.
영구 계약으로 설정:exchange.SetContractType("swap")
.
미래에셋자산
바이낸스 미래에셋 거래소는 현재 거래 쌍의 영구 계약에 기본 설정, 계약 코드:swap
...
영구 계약으로 설정:exchange.SetContractType("swap")
, 바이낸스의 영구계약은USDT
예를 들어,USDT
표준 영구 계약BTC
마진 계약으로 사용될 수 있고 거래 쌍은BTC_USDT
바이낸스는 또한, 예를 들어, 마진으로 동전을 사용하는 영구 계약을 지원합니다.BTC
Binance의 표준 영구 계약, 거래 쌍을 설정BTC_USD
...
분기 계약으로 설정:exchange.SetContractType("quarter")
, 배달 계약은 통화 표준 계약이 있습니다 (즉, 화폐를 마진으로 사용), 예를 들어,BTC
'의 분기 계약, 거래 쌍은 설정됩니다:BTC_USD
그리고 계약서를 설정exchange.SetContractType("quarter")
, 그것은 설정되어 있습니다BTC
분기 계약과 통화 표준 계약
다음 분기 계약으로 설정:exchange.SetContractType("next_quarter")
예를 들어,BTC
통화 표준 분기 계약의 거래 쌍은 다음을 설정합니다.BTC_USD
그리고 계약서를 설정exchange.SetContractType("next_quarter")
...
바이낸스는 부분적인USDT
마진 납품 계약으로,BTC
예를 들어, 거래 쌍을BTC_USDT
, 그 다음 계약 코드를 설정.
바이낸스 옵션 계약 지원:
옵션 계약 코드의 형식은 거래소에서 정의한 옵션 계약 코드 (option contract code) 를 기반으로 합니다.BTC-241227-15000-C
, XRP-240112-0.5-C
, BTC-241227-15000-P
바이낸스 옵션 계약 코드BTC-241227-15000-P
예를 들어: BTC는 옵션 통화 코드, 241227는 실행 날짜, 15000은 실행 가격, P는 판매 옵션을, C는 통화 옵션을 나타냅니다.
옵션 유형에 대한 자세한 내용은 유럽 옵션 또는 미국 옵션인지에 대한 자세한 내용은 거래소의 옵션 계약의 관련 정보를 참조하십시오.
거래소는 옵션 판매자를 제한하고 자격을 별도로 신청하도록 요구할 수 있습니다. 바이낸스 옵션은 판매자 자격을 요구합니다.
퓨처스_비박스
비박스 영구 계약 계약 계약 코드:swap
...
영구 계약으로 설정:exchange.SetContractType("swap")
.
퓨처스_비비트
기본 조건은 현재 거래 쌍의 영구 계약, 계약 코드:swap
...
이번 주 계약 코드:this_week
...
다음주 계약 코드:next_week
...
3주 계약 코드:third_week
...
월계약 코드:month
...
다음 달 계약 코드:next_month
- 그래요
분기 계약 코드:quarter
- 그래요
다음 분기 계약 코드:next_quarter
...
3분기 계약 코드:third_quarter
.
미래_크래켄
기본 조건은 현재 거래 쌍의 영구 계약, 계약 코드:swap
.
swap
: 영구 계약.month
: 현달 계약.quarter
: 분기 계약.next_quarter
다음 분기 계약.swap_pf
: 혼합 마진 영구 계약.quarter_ff
: 혼합 마진 분기 계약.month_ff
: 혼합 마진 현달 계약.next_quarter_ff
: 혼합 마진 다음 분기 계약.
퓨처스_비트피넥스
현재 거래 쌍에 대한 상속 계약, 계약 코드:swap
.
퓨처스_비트젯
현재 거래 쌍에 대한 상속 계약, 계약 코드:swap
...
거래 쌍은BTC_USD
통화 표준 계약의 경우, 거래 쌍은BTC_USDT
계약에 대해USDT
데모 계약은 거래 쌍으로 설정될 수 있습니다.SBTC_USD
, BTC_SUSDT
.
선물_dYdX
dYdX 상시 계약에 대한 계약 코드:swap
...
영구 계약으로 설정:exchange.SetContractType("swap")
, dYdX는 USDT 표준 계약만 가지고 있습니다.
퓨처스_MEXC
MEXC 상시계약의 계약 코드:swap
...
영구 계약으로 설정:exchange.SetContractType("swap")
거래 쌍을BTC_USD
, 즉 통화 표준 계약, 그리고 거래 쌍을 설정BTC_USDT
, 즉USDT
-계약은 끝났어
선물_크립토
토큰에 대한 계좌crypto.com이 거래소에서 거래할 수 있는 마진으로 사용할 수 있는 USD로 표현된 크레딧으로 전환될 수 있습니다.
영구 계약으로 설정:exchange.SetContractType("swap")
예를 들어exchange.SetContractType("swap")
거래 쌍이 BTC에 대한 영구계약을 설정하는 기능BTC_USD
...
의crypto.com교환 배송 계약은 다음 계약 코드 (한월부터 12월까지) 를 가진 월간 계약입니다.
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
배달 계약을 설정:exchange.SetContractType("October")
예를 들어, 거래 쌍이BTC_USD
, 함수를 호출exchange.SetContractType("October")
BTC를 위한 10월 배달 계약을 정하기 위해서요.
현재 해당 계약 코드는:BTCUSD-231027
.
미래에셋대우
선물_WOO 교환 지원USDT
상시 계약 코드swap
예를 들어, 거래 쌍이BTC_USDT
, 그 기능exchange.SetContractType("swap")
현재 계약은 BTC를 위한 USDT 기반의 영구 계약으로 설정해야 합니다.
{@fun/Futures/exchange.GetContractType exchange.GetContractType}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}
이exchange.GetContractType()
이 함수는 {@var/EXCHANGE exchange} 교환 객체의 현재 설정에 대한 계약 코드를 얻기 위해 사용됩니다.
이exchange.GetContractType()
함수는 FMZ 플랫폼에 의해 정의된 계약 코드를 반환합니다. 예를 들어:this_week
, swap
, 등등
문자열
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}
이exchange.GetFundings()
이 함수는 현재 기간에 대한 자금 조달율 데이터를 얻기 위해 사용됩니다.
이exchange.GetFundings()
함수는 데이터 요청이 성공했을 때 {@struct/Funding Funding} 구조의 배열을 반환하고 데이터 요청이 실패했을 때 null 값을 반환합니다.
{@struct/Funding Funding} 배열, null 값
교환.GetFundings (() 교환.금융을 얻으십시오 (표)
매개 변수symbol
사용 됩니다거래 기호또는거래 기호 범위의문을 제기 할 수 있습니다.symbol
이 매개 변수가 통과되지 않으면, 현재 거래 쌍과 계약 코드의 차원 범위에서 기본적으로 모든 도구의 현재 자금 조달 비율 데이터가 요청됩니다.
기호 거짓 문자열
/*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() + "`");
}
선물 교환 객체를 사용하여exchange.GetFundings()
역 테스트 시스템에서 함수. 어떤 시장 함수를 호출하기 전에, GetFundings는 현재 기본 거래 쌍의 자금 데이터를만 반환합니다. 시장 함수를 호출 한 후, 모든 요청 된 품종의 자금 데이터를 반환합니다. 다음 테스트 예제를 참조 할 수 있습니다:
미래에셋 거래소에서 투자율 데이터를 대량 검색을 지원하지 않는 경우symbol
매개 변수는 질의 범위로 지정됩니다. 예를 들어:USDT.swap
또는symbol
매개 변수가 전달되지 않으면 인터페이스에서 오류를 보고합니다.GetFundings()
이 유형의 선물 교환 객체를 사용 함수, 당신은symbol
특정 영구계약 유형으로 매개 변수, 해당 유형의 현재 투자율 데이터를 검색하기 위해
의exchange.GetFundings()
이 기능은 실제 거래 및 백테스팅 시스템을 지원합니다.
투자율 데이터의 대량 인수를 지원하지 않는 거래소: Futures_Bitget, Futures_OKX, Futures_MEXC, Futures_Deribit, Futures_Cryptosymbol
특정 기호 코드를 가진 매개 변수, 예를 들어:ETH_USDT.swap
.
거래소를 지원하지 않는 거래소exchange.GetFundings()
기능:
함수 이름 | 지원되지 않는 스팟 교환 | 지원되지 않은 선물 거래 |
---|---|---|
GetFundings | – | 미래에셋대우 |
{@struct/FundingFunding}
계좌 네트워크 설정