Environnement de disque

Auteur:Le programme, Créé: 2022-04-05 17:52:26, mis à jour: 2022-04-05 17:54:46

Introduction: Cette stratégie utilise le langage Python pour créer un environnement de disque simulé avec support de disque réel

Les paramètres de l'environnement

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

Si signéEnvironnement d'initialisation de fonction, chargé une seule fois à l'exécution, pour créer des variablesSimSignFonctions dans des objetsSimGoLa fonction calcule le nombre de comptes simulés qui doivent être en boucle.

La structure des données:

Les ordresLa structure d'ordre est retournée par la fonction exchange[0].GetOrder ().

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

CompteL'information de compte est renvoyée par la fonction exchange[0].GetAccount ((().

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

Position de l'appareilL'information sur les positions détenues dans les transactions à terme est retournée par l'exchange[0].

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

Le documentation de l'API:

Les fonctions suivantes doivent passerexchange[交易对序号]Appel à l'objet

Le prix, le compte.

La fonction Buy est utilisée pourLe paiement, qui renvoie un ID d'ordre. La valeur du paramètre:Price est le prix de l'ordre, type de valeur numérique.

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

Le montant de l'échange [0].Vente ((Prix, montant)

La fonction Sell est utilisée pourLes enchères, qui renvoie un ID d'ordre. La valeur du paramètre:Price est le prix de l'ordre, type de valeur numérique.

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

l'échange[0].Annuler la commande ((Id)

La fonction CancelOrder est utilisée pourAnnulation de la commandeUne commande d'un certain Id est annulée après son appel.

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

Le code de la commande est le code de la commande.

La fonction GetOrder est utilisée pourObtenir des commandes déjà passées, qui renvoie une information d'ordre d'un certain Id, sans remplir de paramètre renvoie toutes les informations d'ordre.

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

Les commandes sont envoyées à l'échange[0].

La fonction GetOrders est utilisée pourObtenir des commandes en suspens, qui renvoie une information d'ordre d'un certain Id, sans remplir de paramètre renvoie toutes les informations d'ordre.

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

Je suis en train de changer de compte.

La fonction GetAccount est utilisée pourObtenir des informations sur le compte▽ Retour de la valeur: Structure de la structure de compte.

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

Je suis désolé.

La fonction GetPosition est utilisée pourObtenir les informations sur les stocks actuels▽ Retour de la valeur: position structure array. ▽ Retour d'une valeur vide sans détention, 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()

Le niveau de marge est fixé.

La fonction SetMarginLevel est utilisée pourRégler la taille du barParamètre de valeur: type de valeur numérique.

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

Je suis en train d'écrire une lettre.

La fonction SetDirection est utilisée pour configurer l'exchange[0].Buy ou l'exchange[0].Commande à termeLa direction de l'opération. La valeur du paramètre: type de chaîne.

Fonction de sous-rubrique Direction des paramètres de la fonction SetDirection Nom de l'auteur
échange[0].Acheter acheter Acheter plus d'actions
échange[0].Acheter close-sell Acheter des dépôts
échange[0].Vente vendre Vente d'un dépôt vacant
échange[0].Vente achat de près Les ventes à bas prix

Le paramètre Direction peut prendre quatre paramètres buy, closebuy, sell et closeesell.

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)

le type d'échange[0].SetContractType(...)

La fonction SetContractType est utilisée pourConfigurer le type de contratParamètres de type de chaîne. Le paramètre ContractType peut être n'importe quelle chaîne

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

Le service de dépannage est fourni par l'intermédiaire d'un service de dépannage.

La fonction SetServiceCharge est utilisée pourRégler les fraisParamètre de valeur: type de valeur numérique.

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

Les échanges[0].Régler le solde()

La fonction SetBalance est utilisée pourRéglage du soldeParamètre de valeur: type de valeur numérique.

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

Les échanges sont effectués en fonction de l'évolution de l'indicateur.

La fonction SetSpread est utilisée pourLes paramètres sont incorrectsParamètre de valeur: type de valeur numérique.

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

Adresse stratégique


Plus de