Sumber daya yang dimuat... Pemuatan...

Strategi untuk mengejar versi Python

Penulis:Penemu Kuantitas - Mimpi Kecil, Dibuat: 2020-01-11 14:49:08, Diperbarui: 2023-10-17 21:28:09

img

Strategi untuk mengejar versi Python

Strategi tren umumnya menggunakan berbagai indikator untuk menentukan arah pasar, menggunakan hasil perbandingan nilai indikator masing-masing sebagai sinyal perdagangan. Dengan demikian, tidak dapat dihindari penggunaan parameter, menghitung indikator. Karena parameter digunakan, akan ada situasi yang sesuai. Strategi bekerja sangat baik di beberapa pasar, tetapi jika nasib buruk, tren pasar sangat tidak ramah terhadap parameter saat ini, mungkin kinerja strategi sangat buruk.

Kode 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 yang sederhana

Strategi ini sangat sederhana, tidak menggunakan indikator apa pun, hanya menggunakan harga saat ini sebagai dasar pemicu perdagangan, dan hanya memiliki satu parameter utama.ratioMengontrol pemicu awal.

"Saya tidak tahu apa yang akan terjadi.

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

Menggunakan harga saat ini, membandingkan harga dasar, ketika harga saat ini lebih besar dari harga dasar dan harga melebihiratio * 100 %Setelah itu, Anda bisa mengklik tombol "Trigger" dan mengklik tombol "Trigger" untuk mengklik tombol "Trigger". Setelah memesan, harga dasar diperbarui ke harga saat ini.

"Saya tidak tahu apa yang terjadi.

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

Menggunakan harga saat ini untuk membandingkan harga dasar, ketika harga saat ini lebih rendah dari harga dasar dan harga di atasratio * 100 %Saat Anda mengklik tombol, Anda akan melihat bahwa Anda telah mengkliknya. Setelah memesan, harga dasar diperbarui ke harga saat ini.

Jumlah pesanan setiap kali dipesan adalah jumlah dana yang tersediaratio * 100 %Saya tidak tahu. Kecuali jumlah transaksi yang dihitung lebih kecil dari jumlah transaksi minimum yang ditetapkan oleh parameterminStocksJika tidak, silakan daftarkan.

Ini membuat strategi untuk mengikuti perubahan harga dan mengejar penurunan.

Tes ulang

Percobaan ini dilakukan selama sekitar satu tahun.img

Hasilnya:img

img

Pengguna baru-baru ini mengatakan bahwa kebijakan Python relatif lebih sedikit, dan kemudian lebih banyak berbagi beberapa kebijakan yang ditulis dalam bahasa Python. Di sini, Anda dapat melihat foto-foto yang menarik.https://www.fmz.com/strategy/181185

Strategi ini hanya untuk referensi belajar, uji ulang, dan minat untuk mengoptimalkan upgrade.


Berkaitan

Lebih banyak