Kawasan piringan analog

Penulis:program, Dicipta: 2022-04-05 17:52:26, Dikemas kini: 2022-04-05 17:54:46

Penjelasan: Kaedah ini menggunakan bahasa Python untuk mewujudkan persekitaran piringan analog yang menyokong piringan sebenar

Perancangan persekitaran:

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

IFsignKawasan inisialisasi fungsi, dimuatkan sekali sahaja semasa dijalankan, digunakan untuk mencipta pembolehubahSimSignFungsi dimuat dalam objekSimGoFungsi mengira nombor akaun analog yang perlu dijalankan secara berputar

Struktur data:

PerintahStruktur pesanan, yang boleh dikembalikan oleh fungsi 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,             // 订单手续费
}

AkaunMaklumat akaun, dikembalikan oleh fungsi exchange[0].GetAccount ().

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

KedudukanMaklumat kedudukan yang dipegang dalam dagangan niaga hadapan, yang dikembalikan oleh fungsi exchange[0].GetPosition (() array struktur Posisi ini.

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

Dokumen API:

Fungsi berikut perlu diluluskanexchange[交易对序号]Panggilan objek

pertukaran[0].Beli ((harga, akaun)

Fungsi beli digunakan di bawahBayar, apabila dipanggil, mengembalikan ID pesanan. Nilai parameter: Harga untuk harga pesanan, jenis nilai. Jumlah untuk jumlah pesanan, jenis nilai.

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

pertukaran[0].Menjual ((Harga, Jumlah)

Fungsi sell digunakan untukPenjualan, apabila dipanggil, mengembalikan ID pesanan. Nilai parameter: Harga untuk harga pesanan, jenis nilai. Jumlah untuk jumlah pesanan, jenis nilai.

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

pertukaran[0].Batal Perintah ((Id)

Fungsi CancelOrder digunakanBatalkan pesanan, selepas dipanggil untuk membatalkan pesanan Id tertentu.

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

pertukaran[0].GetOrder(Id)

Fungsi GetOrder digunakanMemperoleh pesanan yang telah dibuat, apabila dipanggil, mengembalikan maklumat pesanan Id tertentu, tanpa mengisi parameter untuk mengembalikan semua maklumat pesanan. Nilai parameter:Id adalah nombor pesanan yang perlu diperoleh, parameter Id adalah jenis bilangan bulat

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

pertukaran[0].GetOrders(Id)

Fungsi GetOrders digunakanMendapatkan pesanan yang belum selesai, apabila dipanggil, mengembalikan maklumat pesanan Id tertentu, tanpa mengisi parameter untuk mengembalikan semua maklumat pesanan. Nilai parameter:Id adalah nombor pesanan yang perlu diperoleh, parameter Id adalah jenis bilangan bulat

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

pertukaran[0].GetAccount()

Fungsi GetAccount digunakanDapatkan maklumat akaun◦ Nilai pulangan: Struktur Akaun ◦

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

pertukaran[0].GetPosition()

Fungsi GetPosition digunakan untukDapatkan maklumat simpanan semasa▽ Mengembalikan nilai: susunan struktur kedudukan. ▽ Mengembalikan susunan kosong tanpa pemegang, iaitu []。

def main():
    exchange[0].SetContractType("swap")
    exchange[0].SetMarginLevel(10)
    exchange[0].SetDirection("buy")
    exchange[0].Buy(10000, 2)
    position = exchange[0].GetPosition()

pertukaran[0].Set MarginLevel(...)

Fungsi SetMarginLevel digunakanTetapkan saiz bar▽ Nilai parameter: jenis nilai nombor.

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

pertukaran[0].SetDirection(...)

Fungsi SetDirection digunakan untuk menetapkan exchange[0].Buy atau exchange[0].Fungsi Sell dilakukanPendaftaran niaga hadapanArahan. Parameter: Jenis String.

Fungsi bawah Arahan untuk menetapkan parameter fungsi SetDirection Nota:
pertukaran[0].Beli beli Beli lebih banyak saham
pertukaran[0].Beli jual tutup Beli gudang kosong
pertukaran[0].Menjual menjual Jualan gudang kosong
pertukaran[0].Menjual closebuy Jualan harga murah

Parameter Direction boleh mengambil empat parameter iaitu 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)

pertukaran[0].SetContractType(...)

Fungsi SetContractType digunakanTetapkan jenis kontrak▽ Nilai parameter: jenis baris. Parameter ContractType boleh menjadi tali mana-mana

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

pertukaran[0].SetServiceCharge()

Fungsi SetServiceCharge digunakanTetapkan kos▽ Nilai parameter: jenis nilai nombor.

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

pertukaran[0].SetBalanse()

Fungsi SetBalance digunakanTetapan baki▽ Nilai parameter: jenis nilai nombor.

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

pertukaran[0].SetSpread()

Fungsi SetSpread digunakanTetapan yang salah▽ Nilai parameter: jenis nilai nombor.

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

Alamat Strategi


Lebih lanjut