
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.
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)
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.
Tempoh ujian belakang adalah lebih kurang satu tahun.

Keputusan operasi:


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.