Tài nguyên đang được tải lên... tải...

Phương pháp theo đuổi và đánh bại phiên bản Python

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2020-01-11 14:49:08, Cập nhật: 2024-12-12 20:57:43

img

Phương pháp theo đuổi và đánh bại phiên bản Python

Các chiến lược xu hướng thường sử dụng các chỉ số khác nhau để đánh giá hướng thị trường, sử dụng kết quả so sánh các chỉ số khác nhau như là tín hiệu giao dịch. Điều này không tránh được việc sử dụng các tham số, tính toán các chỉ số. Vì đã sử dụng các tham số, sẽ có một tình huống phù hợp. Trong một số thị trường, chiến lược hoạt động rất tốt, nhưng nếu không may, xu hướng thị trường là rất không thân thiện với các tham số hiện tại, chiến lược có thể hoạt động rất tệ.

Mã chiến lược:

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)

Chiến lược đơn giản phân tích

Chiến lược rất đơn giản, không sử dụng bất kỳ chỉ số nào, chỉ sử dụng giá hiện tại làm cơ sở kích hoạt giao dịch và chỉ có một tham số chínhratioĐiều khiển kích hoạt mở cửa.

Làm nhiều kích hoạt:

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

Sử dụng giá hiện tại, so sánh giá cơ bản, khi giá hiện tại lớn hơn giá cơ bản và giá vượt quáratio * 100 %Trong khi đó, một người đàn ông khác cũng đã bị ảnh hưởng bởi các vụ tấn công. Sau khi đặt hàng, giá cơ bản được cập nhật với giá hiện tại.

Những lời kêu gọi:

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

Làm hướng trống cùng một nguyên tắc, sử dụng giá hiện tại, so sánh giá cơ bản, khi giá hiện tại thấp hơn giá cơ bản và giá vượt quáratio * 100 %Trong khi đó, một người đàn ông khác ở Việt Nam cũng đã bị ảnh hưởng bởi việc này. Sau khi đặt hàng, giá cơ bản được cập nhật với giá hiện tại.

Số lượng đặt hàng mỗi lần là số tiền có sẵnratio * 100 %‖ Trừ khi khối lượng đơn đặt hàng được tính toán nhỏ hơn khối lượng giao dịch tối thiểu theo cài đặt tham sốminStocksNếu không, hãy đặt hàng nhé.

Trong khi đó, một số nhà đầu tư khác cũng cho biết họ sẽ tiếp tục theo dõi các thay đổi về giá cả.

Kiểm tra lại

Thời gian kiểm tra lại khoảng một năm.img

Kết quả:img

img

Người dùng gần đây nói rằng các chính sách Python tương đối ít, sau đó chia sẻ nhiều hơn một số chính sách được viết bằng ngôn ngữ Python. Mã chính sách cũng rất đơn giản, rất phù hợp với các nhà phát minh định lượng học tập mới. Địa chỉ chiến lược:https://www.fmz.com/strategy/181185

Các chiến lược chỉ dành cho tham khảo học tập, thử nghiệm kiểm tra lại, có thể tối ưu hóa nâng cấp.


Có liên quan

Thêm nữa