Strategi untuk mengejar dan membunuh versi Python

Penulis:Mimpi kecil, Dicipta: 2020-01-11 14:49:08, Dikemas kini: 2023-10-17 21:28:09

img

Strategi untuk mengejar dan membunuh versi Python

Strategi trend biasanya menggunakan pelbagai indikator untuk menentukan arah pasaran, menggunakan hasil perbandingan nilai setiap indikator sebagai isyarat dagangan. Dengan cara ini, tidak dapat mengelakkan penggunaan parameter, mengira indikator. Oleh kerana parameter digunakan, terdapat keadaan yang sesuai. Strategi berfungsi dengan baik di bawah beberapa pasaran, tetapi jika nasib buruk, pergerakan pasaran sangat tidak mesra dengan parameter semasa, ia mungkin berfungsi dengan sangat buruk.

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 mudah strategi

Strategi ini sangat mudah, tidak menggunakan sebarang indikator, hanya menggunakan harga semasa sebagai asas pencetus perdagangan, dan hanya mempunyai satu parameter utamaratioMengendali pencetus pembukaan.

Buat lebih banyak pencetus:

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

Menggunakan harga semasa, berbanding harga asas, apabila harga semasa lebih besar daripada harga asas dan harga melebihiratio * 100 %Apabila anda mengklik butang, anda akan melihat beberapa butang. Apabila anda membuat pesanan, harga asas akan dikemas kini kepada harga semasa.

Tanda kosong mencetuskan:

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

Kaedah yang sama digunakan untuk menggunakan harga semasa untuk membandingkan harga asas apabila harga semasa adalah lebih rendah daripada harga asas dan harga melebihi.ratio * 100 %Jika anda ingin membuat senarai kosong, anda perlu membuat senarai kosong. Apabila anda membuat pesanan, harga asas akan dikemas kini kepada harga semasa.

Jumlah pesanan setiap kali diletakkan adalah jumlah dana yang tersediaratio * 100 %Saya tidak tahu. Kecuali jumlah pesanan yang dikira lebih kecil daripada jumlah dagangan minimum yang ditetapkan oleh parameterminStocksJika tidak, anda boleh mendaftar.

Ini akan memberi strategi untuk mengikuti perubahan harga dan mengejar kejatuhan.

Ujian semula

Jangka masa pengesanan semula adalah kira-kira setahun.img

Hasilnya:img

img

Pengguna baru-baru ini mengatakan bahawa terdapat lebih sedikit strategi Python, dan kemudian berkongsi lebih banyak strategi yang ditulis dalam bahasa Python. Alamat strategi:https://www.fmz.com/strategy/181185

Strategi ini hanya untuk rujukan pembelajaran, ujian ulangan, dan berminat untuk mengoptimumkan peningkatan.


Berkaitan

Lebih lanjut