Grâce aux chapitres précédents de cette série, je crois que vous avez pratiquement maîtrisé l'utilisation de différents types de modules de visualisation. Dans ce chapitre, nous utilisons une stratégie simple mais intéressante pour construire un module de visualisation.
Le noyau de la stratégie est de chasser après la hausse et tuer la baisse, et choisir le marché au comptant de la monnaie numérique, comme BTC_USDT, en fonction du prix actuel lorsque la stratégie est en cours, si le prix augmente d'un certain pourcentage, acheter selon un certain pourcentage de l'actif courant (monnaie de tarification).
Avant de construire, nous ajoutons des modules réutilisables.
Comme indiqué sur la figure ci-dessus:
Dans la colonne bibliothèque de classes, il y a des bibliothèques de classes encapsulées réutilisables, qui peuvent être utilisées après vérification. La bibliothèque de négociation au comptant de devises numériques vérifiée est une bibliothèque de négociation utilisée sur le marché au comptant de devises numériques, qui gère en interne la logique complexe de la détection et de la réessayation après la passation d'un ordre (par exemple, comment gérer l'absence de transaction après la passation d'un ordre). Lors de la construction de stratégies, il économise beaucoup de logique de traitement complexe, ce qui est très pratique.
Comme l'idée de stratégie est très simple, les modules de stratégie ne sont pas très grands. Notre backtesting a commencé en octobre 2018, en moins d'un an, des chocs et des tendances ont été observés, ce qui peut tester la stratégie de manière préliminaire. Paramètres de contre-test:
Examinons les résultats des tests antérieurs de cette stratégie:
La stratégie de langage JavaScript équivalente est également publiée ici, et quiconque est intéressé peut l'étudier. Grâce à l'apprentissage de la stratégie de construction de modules visuels, le concept de la stratégie et l'utilisation de diverses interfaces, il est très pratique de commencer avec le commerce de programme. La stratégie n'a pas d'autres paramètres d'interface, et quiconque est intéressé peut l'optimiser et l'étendre.
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
}
}
}
Un aspect intéressant de cette stratégie est que l'actif du compte est mis à l'équivalent de la monnaie et de la valeur monétaire au départ, comme les paires de trading BTC_USDT, le prix de BTC est actuellement de 10000, la monnaie du compte est allouée à 5 et l'USDT est allouée à 50000.
La stratégie est neutre par rapport aux conditions du marché, aux hausses et aux baisses de prix. Essayez d'allouer moins d'USDT et plus de devises. Par exemple:
Il y a des changements évidents dans le backtest.
Vous pouvez également définir plus USDT et moins de devises.
Mettez ensemble le module et essayez nos propres idées de programme de trading ensemble.
Exemples de stratégies de visualisation:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Pour plus de stratégies, veuillez consulter:https://www.fmz.com/square
Autres articles de cette série
La programmation ennuyeuse peut être facilement complétée par des blocs de construction.