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