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)
- 1
