리소스 로딩... 로딩...

선물

exchange.GetPositions

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.swap 특정 BTC의 USDT 기반 상시계약을 검색합니다. 선물 거래소 대상의 경우 매개 변수 기호의 형식은 다음과 같습니다.거래 쌍그리고계약 코드FMZ 플랫폼에 의해 정의되며, 문자로 구분됩니다."..
선물 거래 상품 범위를 지정합니다. 기호 매개 변수는: USDT.swap 모든 USDT 기반 상시계약을 검색합니다. -
옵션을 지원하는 선물 거래소 기호 매개 변수를 전달하지 마십시오 현재 거래 쌍 차원 범위 내의 모든 옵션 계약을 검색 현재 거래 쌍이 BTC_USDT인 경우 계약은 옵션 계약으로 설정됩니다. 예를 들어 Binance 옵션 계약: BTC-240108-40000-C
옵션을 지원하는 선물 거래소 특정 거래 상품을 지정 지정된 옵션 계약을 검색 예를 들어, 바이낸스 선물 거래소에서 기호 매개 변수는: BTC_USDT.BTC-240108-40000-C
옵션을 지원하는 선물 거래소 거래 상품 범위를 지정합니다. 기호 매개 변수는: USDT.option 모든 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

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

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 closebuy 긴 포지션을 팔고 닫습니다.

{@fun/Trade/exchange.Buy exchange.Buy}, {@fun/Trade/exchange.Sell exchange.Sell}

exchange.SetContractType

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_USDTFMZ 플랫폼에, 그리고 그 다음 사용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바이낸스는 또한, 예를 들어, 마진으로 동전을 사용하는 영구 계약을 지원합니다.BTCBinance의 표준 영구 계약, 거래 쌍을 설정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

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()이 함수는 현재 기간에 대한 자금 조달율 데이터를 얻기 위해 사용됩니다.

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}

계좌 네트워크 설정