4
konzentrieren Sie sich auf
13
Anhänger

Simulation der Datenträgerumgebung

Erstellt in: 2022-04-05 17:52:26, aktualisiert am: 2022-04-05 17:54:46
comments   0
hits   1087

Einführung: Diese Strategie verwendet die Sprache Python, um eine Analogdisk-Umgebung zu erstellen, die die Festplatte unterstützt.

Umgebungskonfiguration:

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

IFsignFunktionsinitialisierte Umgebungen, die nur einmal geladen werden, um Variablen zu erstellen SimSignFunktion als Objekt SimGoFunktionen berechnen die Anzahl der Simulationskonten, die im Kreislauf laufen müssen

Datenstruktur:

Order Bestellstrukturen, die von Exchange erstellt werden können[0].GetOrder() Funktion wird zurückgegeben.

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

Account Kontoinformationen von exchange[0].GetAccount() gibt eine Funktion zurück.

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

Position Informationen über Positionen, die bei Futures gehalten werden, von Exchange[Die Funktion 0].GetPosition() gibt einen Array dieser Positionstruktur zurück.

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

API-Dokumentation:

Die folgenden Funktionen müssen durchexchange[交易对序号]Aufruf von Objekten

exchange[0].Buy(price,account)

Die Buy-Funktion wird verwendet:Die Kosten, aufgerufen und eine Order-ID zurückgegeben. Parameterwert: Preis als Auftragspreis, Zahlenwertart.

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

exchange[0].Sell(Price, Amount)

Die Sell-Funktion wird wie folgt verwendet:Verkaufsschein, aufgerufen und eine Order-ID zurückgegeben. Parameterwert: Preis als Auftragspreis, Zahlenwertart.

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

exchange[0].CancelOrder(Id)

Die CancelOrder-Funktion wird verwendetAbbrechen der Bestellung, einen Auftrag mit einer bestimmten Id abbrechen. Parameterwert: Id als Auftragsnummer.

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

exchange[0].GetOrder(Id)

Die GetOrder-Funktion wird verwendetBereitstellung von ausgelieferten Bestellungen, Rückgabe der Auftragsdaten einer bestimmten Id nach Aufruf, Rückgabe aller Auftragsdaten ohne Angabe von Parametern. Parameterwert: Id ist die Auftragsnummer, die abgerufen werden muss, ParameterId ist der Integertyp

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

exchange[0].GetOrders(Id)

Die GetOrders-Funktion wird verwendetErhalten Sie noch ausstehende Bestellungen, Rückgabe der Auftragsdaten einer bestimmten Id nach Aufruf, Rückgabe aller Auftragsdaten ohne Angabe von Parametern. Parameterwert: Id ist die Auftragsnummer, die abgerufen werden muss, ParameterId ist der Integertyp

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

exchange[0].GetAccount()

Die GetAccount-Funktion wird verwendetZugriff auf KontoinformationenGibt zurück: Account-Strukturstruktur

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

exchange[0].GetPosition()

Die GetPosition-Funktion wird verwendetInformationen über aktuelle Positionen。 gibt den Wert:position-Struktur-Array zurück。 ohne Position gibt er den null-Array zurück, d.h.[]。

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

exchange[0].SetMarginLevel(…)

Die SetMarginLevel-Funktion wird verwendetSetzen Sie die Größe der Balken。 Parameterwerte: Zahlenwert-Typen。

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

exchange[0].SetDirection(…)

Die SetDirection-Funktion wird verwendet, um die Exchange-Funktion einzurichten.[0].Buy oder Exchange[0].Sell-FunktionTerminbestellungDie Richtung der … … … … .

Auftragsfunktion Die Richtung, in der die Parameter der SetDirection-Funktion gesetzt werden Anmerkung
exchange[0].Buy “buy” Kauf und Aufnahme von Positionen
exchange[0].Buy “closesell” Kauf von Leerpositionen
exchange[0].Sell “sell” Verkauf von Leerlagern
exchange[0].Sell “closebuy” Verkauf von Ponto-Mehrpositionen

Der Parameter “Direction” kann als Buy, Closebuy, Sell, Closesell bezeichnet werden.

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)

exchange[0].SetContractType(…)

Die SetContractType-Funktion wird verwendetEinstellung des Vertragstyps。 Parameterwert: String-Typ。 Der Parameter ContractType kann eine beliebige String sein

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

exchange[0].SetServiceCharge()

Die SetServiceCharge-Funktion wird verwendetSetzen Sie die Gebühren。 Parameterwerte: Zahlenwert-Typen。

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

exchange[0].SetBalance()

Die SetBalance-Funktion wird verwendetSetzen Sie den Restbetrag。 Parameterwerte: Zahlenwert-Typen。

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

exchange[0].SetSpread()

Die SetSpread-Funktion wird verwendetEinstellungsunterschied。 Parameterwerte: Zahlenwert-Typen。

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

Richtlinienadresse