
Durch das Studium der bisherigen Kapitel dieser Reihe beherrschen Sie grundsätzlich den Umgang mit verschiedenen Arten von Visualisierungsmodulen. In diesem Kapitel verwenden wir eine einfache, aber interessante Strategie, die mit Visualisierungsmodulen erstellt wurde.
Der Kern der Strategie besteht darin, den Anstieg zu verfolgen und den Rückgang zu verkaufen. Der Markt ist der Spotmarkt für digitale Währungen wie BTC._USDT, basierend auf dem aktuellen Preis, wenn die Strategie läuft, wird, wenn der Preis um einen bestimmten Prozentsatz steigt, ein bestimmter Prozentsatz des aktuellen Vermögenswerts (Nennerwährung) gekauft. Ebenso wird, wenn der Preis um einen bestimmten Prozentsatz fällt, ein bestimmter Prozentsatz des aktuellen Vermögenswerts (Münze) wird verkauft. Gegenstand.
Bevor wir mit dem Erstellen beginnen, fügen wir einige wiederverwendbare Module hinzu.

Wie in der Abbildung oben gezeigt:
In der Spalte Klassenbibliotheken stehen einige wiederverwendbare gepackte Klassenbibliotheken, welche nach Prüfung verwendet werden können. Die ausgewählte „Cryptocurrency Spot Trading Library“ ist eine Handelsbibliothek für den Spotmarkt für Kryptowährungen. Sie verarbeitet komplexe Erkennungs- und Wiederholungslogiken nach der Auftragserteilung (z. B. wie mit einer Bestellung umzugehen ist, die nach der Auftragserteilung nicht ausgeführt wird usw.). ). Beim Erstellen von Strategien wird auf viele komplizierte Verarbeitungslogiken verzichtet, was sehr praktisch ist.

Da die Strategieidee sehr einfach ist, sind die Strategiemodule in ihrer Gesamtheit nicht sehr groß. Unser Backtesting begann im Oktober 2018. In weniger als einem Jahr traten sowohl große als auch kleine Schocks und Trendmärkte auf, die einen vorläufigen Test der Strategie ermöglichten. Backtesting-Parameter:

Schauen Sie sich die Backtest-Performance dieser Strategie an:

Die entsprechende JavaScript-Sprachstrategie wird hier ebenfalls veröffentlicht und kann von interessierten Studierenden studiert werden. Indem ich lernte, wie man mithilfe visueller Module Strategien erstellt, Strategien konzipiert und verschiedene Schnittstellen verwendet, konnte ich sehr leicht mit dem programmatischen Handel beginnen.
Die Strategie besitzt keine weiteren Schnittstellenparameter und kann von interessierten Studierenden optimiert und erweitert werden.
function main() {
var basePrice = -1
var addRatio = 0.02
while (true) {
var ticker = exchange.GetTicker()
if (basePrice == -1) {
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) > 0 && ((ticker.Last - basePrice) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Balance * addRatio / ticker.Last
$.Buy(amount)
basePrice = ticker.Last
}
if ((ticker.Last - basePrice) < 0 && ((basePrice - ticker.Last) / basePrice > addRatio)) {
var acc = exchange.GetAccount()
var amount = acc.Stocks * addRatio
$.Sell(amount)
basePrice = ticker.Last
}
}
}
Ein interessanter Punkt bei dieser Strategie ist, dass das Kontovermögen zunächst auf den Wert der Währung, beispielsweise BTC, festgelegt wird._USDT-Handelspaar, der aktuelle BTC-Preis beträgt 10.000, der Kontowährung werden 5 zugewiesen, dann werden USDT 50.000 zugewiesen
Die Strategie nimmt eine neutrale Haltung gegenüber Marktbedingungen und Preisschwankungen ein. Versuchen Sie, weniger USDT und mehr Münzen zuzuweisen. Zum Beispiel:

Es gab eine spürbare Veränderung beim Backtesting.
Sie können auch mehr USDT und weniger Münzen einstellen.

Stellen Sie die Module zusammen und probieren Sie Ihre eigenen Vorstellungen vom programmierten Handel aus.
Visualisierungsbeispielstrategie:
Weitere Strategien finden Sie unter: https://www.fmz.com/square
Weitere Artikel dieser Reihe
Langweilige Programmierung lässt sich mithilfe von Bausteinen ganz einfach erledigen. Probieren Sie es aus, es ist sehr interessant!