Analogische Umgebung

Schriftsteller:Programm, Erstellt: 2022-04-05 17:52:26, Aktualisiert: 2022-04-05 17:54:46

Einführung: Diese Strategie verwendet die Sprache Python, um eine simulierte Festplattenumgebung zu erstellen, die eine Festplatte unterstützt.

Umgebungskonfiguration:

def main():
    IFsign()
    SimSign()
    while True:
        SimGo()

Wenn Sie signFunktionsinitialisierte Umgebung, die nur einmal ausgeführt wird, um Variablen zu erstellenSimSignFunktionen in ObjekteSimGoDie Funktion berechnet Simulationskonten, die in einem Loop ausgeführt werden müssen

Datenstruktur:

AufordnungEine Bestellstruktur, die von der Exchange-Funktion [0].GetOrder ((() zurückgegeben wird.

{
    Id          : 123456,        // 交易单唯一标识
    Price       : 1000,          // 下单价格
    Amount      : 10,            // 下单数量
    DealAmount  : 10,            // 成交数量
    AvgPrice    : 1000,          // 成交均价
    Side        : "BUY"          // 订单方向,常量里的订单类型有:BUY,SELL
    Type        : "LONG",        // 订单类型,常量里的订单类型有: LONG,SHORT,NULL
    profit      : 0,             // 订单收益,现货均返回NULL
    feeCcy      : 1,             // 订单手续费
}

AbrechnungDie Kontoinformationen, die von der Exchange-Funktion [0].GetAccount ((() zurückgegeben werden.

{
    Balance         : 1000,      // 可用计价币数量
    FrozenBalance   : 0,         // Balance表示的资产用于挂单的冻结数量
    Stocks          : 1,         // 可用交易币数量
    FrozenStocks    : 0          // Stocks表示的资产用于挂单的冻结数量
}

PositionDie Positionsinformationen, die in einem Futures-Handel gehalten werden, werden von der Exchange[0].Die Funktion GetPosition ((() gibt die Array der Positionstruktur zurück.

{
    MarginLevel     : 10,        // 持仓杆杠大小
    Amount          : 100,       // 持仓量
    FrozenAmount    : 0,         // 仓位冻结量,用于平仓挂单时的临时冻结仓位数量
    Price           : 10000,     // 持仓均价
    Profit          : 0,         // 持仓浮动盈亏
    Type            : "LONG",    // LONG为多头仓位,SHORT为空头仓位
    Margin          : 1          // 仓位占用的保证金
}

Die API-Dokumentation:

Die folgenden Funktionen müssen durchlaufen werden:exchange[交易对序号]Objektanrufe

Wechselkurs[0].Kauf (Preis, Konto)

Die Buy-Funktion wird hier verwendet.Bezahlung, wird aufgerufen, um eine Order-ID zurückzugeben.

def main():
    id = exchange[0].Buy(100, 1)
    Log("id:", id)

Umtausch[0].Verkauf ((Preis, Betrag)

Die Sell-Funktion wird hier verwendet.Verkauf, wird aufgerufen, um eine Order-ID zurückzugeben.

def main():
    id = exchange[0].Sell(100, 1)
    Log("id:", id)

Auswechselung[0].Bestellung stornieren ((Id))

Die CancelOrder-Funktion wird verwendetBestellungen storniert, die Bestellung einer bestimmten Id nach dem Aufruf zu stornieren.

def main():
    id = exchange[0].Sell(99999, 1)
    exchange[0].CancelOrder(id)

Übertragung [0].GetOrder ((Id))

GetOrder wird verwendetBeschaffung von ausgeführten Bestellungen, die nach dem Aufrufen die Auftragsinformationen für eine bestimmte Id zurückgibt, ohne dass die Parameter ausgefüllt werden, die alle Auftragsinformationen zurückgibt.

def main():
    order = exchange[0].GetOrder()

Übertragung von [0].GetOrders ((Id))

Die GetOrders-Funktion wird verwendetErhalten von ausstehenden Aufträgen, die nach dem Aufrufen die Auftragsinformationen für eine bestimmte Id zurückgibt, ohne dass die Parameter ausgefüllt werden, die alle Auftragsinformationen zurückgibt.

def main():
    orders = exchange[0].GetOrders()

- Ich bin nicht derjenige.

GetAccount wird verwendetZugang zu Kontoinformationen▽ Rückgabe von Werten: Kontostrukturen.

def main():
    account = exchange[0].GetAccount()

- Ich bin nicht sicher, ob ich das kann.

Die GetPosition-Funktion wird verwendetErhalten Sie aktuelle Lagerinformationen▽ zurückgegeben: Position-Struktur-Array. ▽ ohne Aufbewahrung wird eine leere Array zurückgegeben, also []。

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(10)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    position = exchange[0].GetPosition()

Ausgleichszahlungen [0].Set MarginLevel(...)

Die Funktion SetMarginLevel wird verwendetSteckbrettgröße▽ Parameterwert: Zahlenwerttyp.

def main():
    exchange[0].SetMarginLevel(10)

Die Auswahl der Anschlüsse wird von der E-Mail-Datenbank durchgeführt.

Die SetDirection-Funktion wird verwendet, um die Exchange-Funktion zu installieren.Futures unter AuftragDie Richtung des Textes.

Unterordnungsfunktionen Die Parameterrichtung der Funktion SetDirection Anmerkungen
Wechselkurs[0].Kauf kaufen Kauf und Verkauf
Wechselkurs[0].Kauf Schließverkäufe Kauf eines leeren Lagers
Umtausch[0].Verkauf verkaufen Verkauf eines leeren Lagerhauses
Umtausch[0].Verkauf Kleiner Kauf Verkauf von Billigwaren

Die Parameter "Direction" können vier Parameter "buy", "closebuy", "sell" und "closesell" enthalten.

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    exchange[0].SetMarginLevel(5)
    exchange[0].SetDirection("closebuy")
    exchange[0].Sell(1000, 2)

Auswechselung[0].SetContractType(...)

Die Funktion SetContractType wird verwendetEinstellung des Vertragstyps▽ Parameterwert: String-Typ. Die Parameter ContractType können beliebige Strings sein

def main():
    exchange[0].SetContractType("this_week")

Ausgleichszahlung [0].ServiceCharge eingestellt(

SetServiceCharge wird verwendetEinrichten von Gebühren▽ Parameterwert: Zahlenwerttyp.

def main():
    # 设置0.25%手续费
    exchange[0].SetServiceCharge(0.00025)

Ausgleichszahlung[0].

SetBalance wird verwendetAusgleichsbetrag▽ Parameterwert: Zahlenwerttyp.

def main():
    # 设置余额为10000
    exchange[0].SetBalance(10000)

Auswechselung[0].SetSpread()

SetSpread wird verwendetFehler eingestellt▽ Parameterwert: Zahlenwerttyp.

def main():
    # 设置点差为0.005%
    exchange[0].SetSpread(0.005)

Strategische Adresse


Mehr