Type/to search
8
Follow
1361
Followers
Versi Python dari strategi mengejar naik turun
Discussions
Created 2020-01-11 14:49:08  Updated 2024-12-12 20:57:43
 6
 7376

img

Versi Python dari strategi mengejar naik turun

Strategi tren umumnya menggunakan berbagai indikator untuk menentukan arah pasar, dan menggunakan hasil perbandingan numerik dari berbagai indikator sebagai sinyal perdagangan. Ini pasti akan mengarah pada penggunaan parameter dan perhitungan indikator. Karena parameter digunakan, maka akan ada penyesuaian. Strategi ini berkinerja sangat baik dalam kondisi pasar tertentu, tetapi jika Anda kurang beruntung dan tren pasar sangat tidak bersahabat dengan parameter saat ini, strategi ini mungkin berkinerja sangat buruk. Oleh karena itu, menurut pendapat saya, desain strategi harus sesederhana mungkin, dan strategi seperti itu akan lebih kuat. Hari ini kami akan membagikan strategi tren yang tidak menggunakan indikator. Kode strateginya sangat sederhana, hanya 40 baris.

Kode strategi:

pine
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 sederhana

Prinsip strategi ini sangat sederhana. Strategi ini tidak menggunakan indikator apa pun, tetapi hanya menggunakan harga saat ini sebagai dasar pemicu perdagangan, dan hanya ada satu parameter utama.ratioMengontrol pemicu pembukaan posisi.

Pemicu panjang:

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

Gunakan harga saat ini untuk membandingkan dengan harga dasar. Ketika harga saat ini lebih besar dari harga dasar, dan harga melebihiratio * 100 %, order yang tertunda dipicu dan order panjang ditempatkan.
Setelah melakukan pemesanan, harga dasar diperbarui ke harga terkini.

Pemicu pesanan pendek:

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

Prinsip short selling sama saja. Gunakan harga saat ini untuk membandingkan dengan harga dasar. Ketika harga saat ini lebih rendah dari harga dasar dan harga melebihiratio * 100 %, order yang tertunda dipicu dan order short ditempatkan.
Setelah melakukan pemesanan, harga dasar diperbarui ke harga terkini.

Volume pesanan untuk setiap pesanan adalah nilai dana yang tersedia.ratio * 100 %
Kecuali jika volume pesanan yang dihitung kurang dari volume transaksi minimum yang ditetapkan dalam parameterminStocks, jika tidak, buatlah pesanan.

Hal ini memungkinkan strategi untuk mengikuti perubahan harga dan mengejar harga tertinggi dan menjual harga terendah.

Pengujian ulang

Periode pengujian ulang sekitar satu tahun.
img

Hasil operasi:
img

img

Baru-baru ini, beberapa pengguna mengatakan bahwa strategi Python relatif sedikit. Saya akan membagikan lebih banyak strategi yang ditulis dalam Python di masa mendatang. Kode strateginya juga sangat sederhana, sangat cocok untuk dipelajari oleh pemula.
Alamat strategi: https://www.fmz.com/strategy/181185

Strategi ini hanya untuk referensi, pengujian ulang dan pengujian. Jika Anda tertarik, Anda dapat mengoptimalkan dan meningkatkannya.

Related Recommendations
Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)