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.
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)
Strategi ini sangat mudah, tidak menggunakan sebarang indikator, hanya menggunakan harga semasa sebagai asas pencetus perdagangan, dan hanya mempunyai satu parameter utamaratio
Mengendali 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 parameterminStocks
Jika tidak, anda boleh mendaftar.
Ini akan memberi strategi untuk mengikuti perubahan harga dan mengejar kejatuhan.
Jangka masa pengesanan semula adalah kira-kira setahun.
Hasilnya:
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.