Nota: Strategi ini menggunakan bahasa Python untuk mencipta persekitaran cakera analog yang menyokong cakera fizikal.
Pengaturan persekitaran:
def main():
IFsign()
SimSign()
while True:
SimGo()
IFsignPersekitaran inisialisasi fungsi, yang dimuat sekali sahaja semasa berjalan, digunakan untuk mencipta pembolehubah
SimSignFungsi memuatkan objek
SimGoFungsi mengira nilai akaun simulasi yang memerlukan operasi pusingan
Struktur data:
Order
Struktur pesanan yang boleh diisi oleh exchange[0].GetOrder() fungsi kembali.
{
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
Maklumat akaun, oleh exchange[0].GetAccount() fungsi kembali.
{
Balance : 1000, // 可用计价币数量
FrozenBalance : 0, // Balance表示的资产用于挂单的冻结数量
Stocks : 1, // 可用交易币数量
FrozenStocks : 0 // Stocks表示的资产用于挂单的冻结数量
}
Position
Maklumat mengenai kedudukan yang dipegang dalam dagangan niaga hadapan, yang dikendalikan oleh exchange[0].GetPosition() fungsi mengembalikan array struktur Position ini.
{
MarginLevel : 10, // 持仓杆杠大小
Amount : 100, // 持仓量
FrozenAmount : 0, // 仓位冻结量,用于平仓挂单时的临时冻结仓位数量
Price : 10000, // 持仓均价
Profit : 0, // 持仓浮动盈亏
Type : "LONG", // LONG为多头仓位,SHORT为空头仓位
Margin : 1 // 仓位占用的保证金
}
Dokumen API:
Fungsi berikut perlu melaluiexchange[交易对序号]Panggilan objek
exchange[0].Buy(price,account)
Fungsi Buy digunakan untukBayaran, dipanggil dan dikembalikan satu ID pesanan ◦ Nilai parameter: Harga untuk harga pesanan, jenis nilai ◦ Jumlah untuk kuantiti pesanan, jenis nilai ◦
def main():
id = exchange[0].Buy(100, 1)
Log("id:", id)
exchange[0].Sell(Price, Amount)
Fungsi Sell digunakan untukKad jualan, dipanggil dan dikembalikan satu ID pesanan ◦ Nilai parameter: Harga untuk harga pesanan, jenis nilai ◦ Jumlah untuk kuantiti pesanan, jenis nilai ◦
def main():
id = exchange[0].Sell(100, 1)
Log("id:", id)
exchange[0].CancelOrder(Id)
CancelOrder digunakan untukBatalkan pesanan, membatalkan pesanan dengan ID tertentu selepas dipanggil. Nilai parameter: Id adalah nombor pesanan.
def main():
id = exchange[0].Sell(99999, 1)
exchange[0].CancelOrder(id)
exchange[0].GetOrder(Id)
Fungsi GetOrder digunakanMendapatkan pesanan yang telah selesai, Kembalikan maklumat pesanan untuk Id yang dipanggil, tidak mengisi parameter Kembalikan semua maklumat pesanan. Nilai parameter: Id adalah nombor pesanan yang perlu diambil, parameter Id adalah jenis nombor bulat
def main():
order = exchange[0].GetOrder()
exchange[0].GetOrders(Id)
GetOrders digunakan untukDapatkan pesanan yang belum selesai, Kembalikan maklumat pesanan untuk Id yang dipanggil, tidak mengisi parameter Kembalikan semua maklumat pesanan. Nilai parameter: Id adalah nombor pesanan yang perlu diambil, parameter Id adalah jenis nombor bulat
def main():
orders = exchange[0].GetOrders()
exchange[0].GetAccount()
Fungsi GetAccount digunakanMendapatkan maklumat akaun。 Mengembalikan nilai: Account struktur struktur。
def main():
account = exchange[0].GetAccount()
exchange[0].GetPosition()
Fungsi GetPosition digunakanMendapatkan maklumat mengenai pegangan semasa。 mengembalikan nilai: position structured array。 tanpa memegang kedudukan akan mengembalikan null array, iaitu[]。
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(...)
SetMarginLevel digunakan untukTetapkan saiz bar。 Nilai parameter: Jenis nilai nombor。
def main():
exchange[0].SetMarginLevel(10)
exchange[0].SetDirection(...)
Fungsi SetDirection digunakan untuk menetapkan pertukaran[0].Buy atau exchange[0].Fungsi sellPendaftaran berjangkaArah ≠ nilai parameter: jenis rentetan ≠
| Fungsi perintah bawah | Arah yang ditetapkan oleh parameter fungsi SetDirection | Nota |
|---|---|---|
| exchange[0].Buy | "buy" | Beli dan buka lebih banyak. |
| exchange[0].Buy | "closesell" | Membeli saham kosong |
| exchange[0].Sell | "sell" | Jual saham kosong |
| exchange[0].Sell | "closebuy" | Jual saham |
Parameter Direction boleh mengambil empat parameter 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(...)
SetContractType digunakan untukTetapkan jenis kontrak。 Nilai parameter: jenis rentetan。
Parameter ContractType boleh menjadi sebarang rentetan
def main():
exchange[0].SetContractType("this_week")
exchange[0].SetServiceCharge()
SetServiceCharge digunakan untukTetapkan yuran。 Nilai parameter: Jenis nilai nombor。
def main():
# 设置0.25%手续费
exchange[0].SetServiceCharge(0.00025)
exchange[0].SetBalance()
Fungsi SetBalance digunakanTetapkan baki。 Nilai parameter: Jenis nilai nombor。
def main():
# 设置余额为10000
exchange[0].SetBalance(10000)
exchange[0].SetSpread()
SetSpread digunakan untukPerbezaan tetapan。 Nilai parameter: Jenis nilai nombor。
def main():
# 设置点差为0.005%
exchange[0].SetSpread(0.005)
- 1
