Durch die vorherigen Kapitel dieser Serie glaube ich, dass Sie die Verwendung verschiedener Arten von Visualisierungsmodulen grundsätzlich beherrscht haben. In diesem Kapitel verwenden wir eine einfache, aber interessante Strategie, um ein Visualisierungsmodul zu erstellen.
Der Kern der Strategie besteht darin, nach dem Aufstieg und dem Abfall zu jagen und den Spotmarkt für digitale Währungen wie BTC_USDT nach dem aktuellen Preis zu wählen, wenn die Strategie ausgeführt wird, wenn der Preis um einen bestimmten Prozentsatz steigt, nach einem bestimmten Prozentsatz des aktuellen Vermögenswerts (Preiswährung) kaufen.
Bevor wir bauen, fügen wir einige wiederverwendbare Module hinzu.
Wie in der obigen Abbildung gezeigt:
In der Spalte Klassenbibliothek gibt es einige wiederverwendbare eingekapselte Klassenbibliotheken, die nach dem Überprüfen verwendet werden können.
Die geprüfte
Da die Strategie-Idee sehr einfach ist, sind die Strategie-Module nicht sehr groß. Unser Backtesting begann im Oktober 2018, in weniger als einem Jahr erschienen sowohl große als auch kleine Schocks und Trendnotierungen, die die Strategie vorläufig testen können. Parameter für die Rückprüfung:
Lassen Sie uns einen Blick auf die Leistung dieser Strategie in den Backtests werfen:
Die entsprechende JavaScript-Sprachstrategie wird auch hier veröffentlicht, und jemand, der daran interessiert ist, kann sie studieren. Durch das Erlernen der Strategie des visuellen Modulbaus, des Konzepts der Strategie und der Verwendung verschiedener Schnittstellen ist es sehr praktisch, mit dem Programmhandel zu beginnen. Die Strategie hat keine anderen Schnittstellenparameter, und jemand, der daran interessiert ist, kann sie optimieren und erweitern.
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 Aspekt dieser Strategie besteht darin, dass der Kontowert zunächst dem Währungs- und Geldwert entspricht, z. B. BTC_USDT-Handelspaaren, der BTC-Preis beträgt derzeit 10000, die Kontowährung wird auf 5 und der USDT auf 50000 zugeordnet.
Die Strategie ist neutral gegenüber den Marktbedingungen, Preissteigerungen und -rückgänge. Versuchen Sie, weniger USDT und mehr Währungen zu verwenden. Zum Beispiel:
Es gibt offensichtliche Veränderungen im Backtest.
Sie können auch mehr USDT und weniger Währungen festlegen.
Setzen wir das Modul zusammen und versuchen wir unsere eigenen Programmenhandel-Ideen.
Beispiele für Visualisierungsstrategien:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Weitere Strategien finden Sie unter:https://www.fmz.com/square
Andere Artikel dieser Reihe
Die langweilige Programmierung kann leicht durch Bausteine abgeschlossen werden.