4
Suivre
13
Abonnés

Environnement de disque de simulation

Créé le: 2022-04-05 17:52:26, Mis à jour le: 2022-04-05 17:54:46
comments   0
hits   1087

Introduction: Cette stratégie utilise le langage Python pour créer un environnement de disque analogique prenant en charge le disque réel.

Configuration environnementale:

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

IFsignEnvironnement d’initialisation de fonctions, qui ne sont chargées qu’une seule fois à l’exécution, pour créer des variables SimSignLa fonction est chargée sur l’objet SimGoLa fonction calcule le nombre de comptes simulés, nécessitant un fonctionnement en boucle

Structure des données:

Order Structure des commandes, qui peut être modifiée par exchange[0].GetOrder() est une fonction qui renvoie

{
    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 Informations sur le compte, par exchange[0].GetAccount() est une fonction qui renvoie

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

Position Informations sur les positions détenues dans les transactions à terme, fournies par l’exchange[0].GetPosition() renvoie l’ensemble de cette structure de position.

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

Documents de l’API:

Les fonctions suivantes doivent passer parexchange[交易对序号]Appel de l’objet

exchange[0].Buy(price,account)

La fonction Buy est utilisée pour:Le paiement, qui renvoie un ID de commande. La valeur des paramètres: Prix est le prix de la commande, type de valeur. Quantité est la quantité de commande, type de valeur.

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

exchange[0].Sell(Price, Amount)

La fonction Sell est utilisée pour:Le coupon, qui renvoie un ID de commande. La valeur des paramètres: Prix est le prix de la commande, type de valeur. Quantité est la quantité de commande, type de valeur.

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

exchange[0].CancelOrder(Id)

La fonction CancelOrder est utilisée pourAnnulation de commande, annuler une commande d’un Id après l’avoir appelée. Valeur du paramètre: Id est le numéro de commande.

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

exchange[0].GetOrder(Id)

La fonction GetOrder est utilisée pourObtenir les commandes passées, renvoie l’information de commande d’un Id après l’appel, renvoie toutes les informations de commande sans remplir les paramètres. Valeur des paramètres: Id est le numéro de commande à récupérer, le paramètre Id est de type entier

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

exchange[0].GetOrders(Id)

La fonction GetOrders est utilisée pourObtenir des commandes en attente, renvoie l’information de commande d’un Id après l’appel, renvoie toutes les informations de commande sans remplir les paramètres. Valeur des paramètres: Id est le numéro de commande à récupérer, le paramètre Id est de type entier

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

exchange[0].GetAccount()

La fonction GetAccount est utilisée pourObtenir des informations sur le compte。 renvoie la valeur de la structure de compte。

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

exchange[0].GetPosition()

La fonction GetPosition est utilisée pourObtenir des informations sur les positions actuelles。 renvoie la valeur: position structural array。 sans position, renvoie une matrice vide, c’est-à-dire[]。

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(…)

La fonction SetMarginLevel est utilisée pourDéfinition de la taille de la barreLes valeurs des paramètres: le type de valeur.

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

exchange[0].SetDirection(…)

La fonction SetDirection est utilisée pour configurer l’exchange[0].Buy ou échange[0]. La fonction sellCommande à termeLe type de la chaîne de caractères

Fonction de commande La direction dans laquelle les paramètres de la fonction SetDirection sont définis À noter
exchange[0].Buy “buy” Acheter et ouvrir une position en surplus
exchange[0].Buy “closesell” Acheter une position vide
exchange[0].Sell “sell” Vente à découvert
exchange[0].Sell “closebuy” Vente de plus ou moins de la position

Le paramètre Direction peut prendre quatre paramètres: buy, closebuy, sell, closesell.

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(…)

La fonction SetContractType est utilisée pourConfigurer le type de contrat。 valeur de paramètre: type de chaîne。 Le paramètre ContractType peut être n’importe quelle chaîne de caractères

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

exchange[0].SetServiceCharge()

La fonction SetServiceCharge est utilisée pourDéfinition des frais de traitementLes valeurs des paramètres: le type de valeur.

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

exchange[0].SetBalance()

La fonction SetBalance est utilisée pourDéfinition du soldeLes valeurs des paramètres: le type de valeur.

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

exchange[0].SetSpread()

La fonction SetSpread est utilisée pourDifférences de réglageLes valeurs des paramètres: le type de valeur.

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

Adresse de la politique