Die Ressourcen sind geladen. Beförderung...

Die Strategie, Python zu verfolgen

Schriftsteller:Die Erfinder quantifizieren - Kleine Träume, Erstellt: 2020-01-11 14:49:08, Aktualisiert: 2024-12-12 20:57:43

img

Die Strategie, Python zu verfolgen

Trendstrategien verwenden im Allgemeinen verschiedene Indikatoren, um die Richtung des Marktes zu bestimmen, und verwenden die Vergleichswerte der einzelnen Indikatoren als Handelssignale. So kann die Verwendung von Parametern und Berechnungen vermieden werden. Da Parameter verwendet werden, gibt es eine geeignete Situation. Die Strategie funktioniert sehr gut in bestimmten Branchen, aber wenn das Marktverhalten sehr unfreundlich ist, kann sie sehr schlecht sein.

Das ist ein sehr schwieriger Fall.

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)

Strategie und einfache Analyse

Die Strategie ist sehr einfach, keine Indikatoren verwendet, nur den aktuellen Preis als Basis für den Handel auslösen und nur ein Hauptparameter verwendet.ratioSie haben die Möglichkeit, den Auslöser zu steuern.

Einige von ihnen sind auch in der Lage, sich zu bewegen.

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

Verwenden Sie den aktuellen Preis, um den Basispreis zu vergleichen, wenn der aktuelle Preis größer als der Basispreis ist und der Preis übersteigtratio * 100 %Wenn Sie eine Liste anschließen, hängen Sie mehrere auf. Nach der Bestellung wird der Basispreis auf den aktuellen Preis aktualisiert.

Die Leerzeichen lösen:

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

Das gleiche Prinzip gilt, wenn man den aktuellen Preis verwendet, um den Basispreis zu vergleichen, wenn der aktuelle Preis kleiner als der Basispreis ist und der Preis übersteigt.ratio * 100 %Wenn Sie eine Liste anheben, hängen Sie eine leere Liste auf. Nach der Bestellung wird der Basispreis auf den aktuellen Preis aktualisiert.

Die Anzahl der Bestellungen entspricht dem Wert der verfügbaren Mittel.ratio * 100 %Das ist nicht wahr. Es sei denn, die ermittelte Anzahl ist kleiner als die minimale Anzahl, die in den Parametern gesetzt istminStocksDas ist eine sehr schwierige Sache.

Die Strategie ist es, die Preisschwankungen zu verfolgen.

Wiederholungstests

Der Zeitraum für die Rückprüfung beträgt etwa ein Jahr.img

Das Ergebnis:img

img

In der Vergangenheit haben sich die Nutzer über weniger Python-Strategien geäußert und haben später mehr Strategien in der Python-Sprache geteilt. Die Strategie ist unter:https://www.fmz.com/strategy/181185

Die Strategien sind nur für das Lernen, das Nachprüfen und das Optimieren von Upgrades geeignet.


Verwandt

Mehr