avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Versi Python strategi mengejar jatuh bangun

Dicipta dalam: 2020-01-11 14:49:08, dikemas kini pada: 2024-12-12 20:57:43
comments   6
hits   7100

Versi Python strategi mengejar jatuh bangun

Versi Python strategi mengejar jatuh bangun

Strategi trend umumnya menggunakan pelbagai penunjuk untuk menentukan arah pasaran, dan menggunakan hasil perbandingan berangka pelbagai penunjuk sebagai isyarat dagangan. Ini pasti akan membawa kepada penggunaan parameter dan pengiraan penunjuk. Oleh kerana parameter digunakan, akan ada pemasangan. Strategi ini berprestasi sangat baik dalam keadaan pasaran tertentu, tetapi jika anda tidak bernasib baik dan arah aliran pasaran sangat tidak mesra dengan parameter semasa, strategi mungkin berprestasi sangat teruk. Oleh itu, pada pendapat saya, reka bentuk strategi haruslah semudah mungkin, dan strategi sedemikian akan menjadi lebih mantap. Hari ini kami akan berkongsi strategi trend yang tidak menggunakan penunjuk. Kod strategi adalah sangat mudah, hanya 40 baris.

Kod strategi:

import time

basePrice = -1
ratio = 0.05
acc = _C(exchange.GetAccount)
lastCancelAll = 0
minStocks = 0.01

def CancelAll():
    while True : 
        orders = _C(exchange.GetOrders)
        for i in range(len(orders)) :
            exchange.CancelOrder(orders[i]["Id"], orders[i])
        if len(orders) == 0 :
            break
        Sleep(1000)

def main():
    global basePrice, acc, lastCancelAll
    exchange.SetPrecision(2, 3)
    while True:
        ticker = _C(exchange.GetTicker)
        if basePrice == -1 :
            basePrice = ticker.Last
        if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio :
            acc = _C(exchange.GetAccount)
            if acc.Balance * ratio / ticker.Last > minStocks :
                exchange.Buy(ticker.Last, acc.Balance * ratio / ticker.Last)
                basePrice = ticker.Last
        if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio : 
            acc = _C(exchange.GetAccount)
            if acc.Stocks * ratio > minStocks :
                exchange.Sell(ticker.Last, acc.Stocks * ratio)
                basePrice = ticker.Last
        ts = time.time()
        if ts - lastCancelAll > 60 * 5 :
            CancelAll()
            lastCancelAll = ts 
        LogStatus(_D(), "\n", "行情信息:", ticker, "\n", "账户信息:", acc)
        Sleep(500)

Analisis strategi mudah

Prinsip strategi adalah sangat mudah Ia tidak menggunakan sebarang penunjuk, tetapi hanya menggunakan harga semasa sebagai asas untuk pencetus perdagangan, dan hanya terdapat satu parameter utama.ratioMengawal pencetus pembukaan kedudukan.

Pencetus panjang:

if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio

Gunakan harga semasa untuk membandingkan dengan harga asas Apabila harga semasa lebih besar daripada harga asas, dan harga melebihiratio * 100 %, pesanan belum selesai dicetuskan dan pesanan lama dibuat. Selepas membuat pesanan, harga asas dikemas kini kepada harga semasa.

Pencetus pesanan ringkas:

if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio

Prinsip jualan pendek adalah sama Gunakan harga semasa untuk membandingkan dengan harga asas Apabila harga semasa kurang daripada harga asas dan harga melebihiratio * 100 %, pesanan belum selesai dicetuskan dan pesanan ringkas dibuat. Selepas membuat pesanan, harga asas dikemas kini kepada harga semasa.

Jumlah pesanan untuk setiap pesanan ialah nilai dana yang tersedia.ratio * 100 %。 Melainkan volum pesanan yang dikira kurang daripada volum transaksi minimum yang ditetapkan dalam parameterminStocks, jika tidak, buat pesanan.

Ini membolehkan strategi mengikuti perubahan harga dan mengejar harga tertinggi dan menjual harga terendah.

Ujian belakang

Tempoh ujian belakang adalah lebih kurang satu tahun. Versi Python strategi mengejar jatuh bangun

Keputusan operasi: Versi Python strategi mengejar jatuh bangun

Versi Python strategi mengejar jatuh bangun

Baru-baru ini, beberapa pengguna mengatakan bahawa terdapat sedikit strategi Python Saya akan berkongsi lebih banyak strategi yang ditulis dalam Python pada masa hadapan. Kod strategi juga sangat mudah, yang sangat sesuai untuk dipelajari oleh pemula. Alamat strategi: https://www.fmz.com/strategy/181185

Strategi ini adalah untuk rujukan sahaja, ujian belakang dan ujian Jika anda berminat, anda boleh mengoptimumkan dan menaik tarafnya.