
Al estudiar los capítulos anteriores de esta serie, básicamente dominarás el uso de varios tipos de módulos de visualización. En este capítulo utilizamos una estrategia simple pero interesante construida usando módulos de visualización.
El núcleo de la estrategia es perseguir la subida y vender la caída, y el mercado es el mercado al contado de monedas digitales, como BTC._USDT, en función del precio actual cuando se ejecuta la estrategia, si el precio aumenta en un cierto porcentaje, se comprará un cierto porcentaje del activo actual (moneda del denominador). Del mismo modo, si el precio cae en un cierto porcentaje, se comprará un cierto porcentaje del activo actual (moneda del denominador). Se venderá un porcentaje del activo actual (moneda). Tema.
Antes de comenzar a construir, agreguemos algunos módulos reutilizables.

Como se muestra en la figura anterior:
En la columna de biblioteca de clases hay algunas bibliotecas de clases empaquetadas reutilizables, que se pueden usar después de verificarlas. La “Biblioteca de operaciones al contado de criptomonedas” seleccionada es una biblioteca de operaciones para el mercado al contado de criptomonedas. Maneja una lógica compleja de detección y reintento después de colocar una orden (por ejemplo, cómo lidiar con una orden que no se ejecuta después de colocarla, etc.) ). Al construir estrategias, se omite mucha lógica de procesamiento complicada, lo cual es muy conveniente.

Dado que la idea de la estrategia es muy simple, los módulos de la estrategia no son muy grandes cuando se combinan. Nuestras pruebas retrospectivas comenzaron en octubre de 2018. En menos de un año, aparecieron shocks grandes y pequeños y mercados de tendencia que proporcionaron una prueba preliminar de la estrategia. Parámetros de backtesting:

Eche un vistazo al rendimiento del backtest de esta estrategia:

La estrategia del lenguaje JavaScript equivalente también se publica aquí, y los estudiantes que estén interesados pueden estudiarla. Al aprender cómo crear estrategias utilizando módulos visuales y cómo concebir estrategias y utilizar diversas interfaces, pude comenzar a trabajar en el trading programático con mucha facilidad.
La estrategia no tiene otros parámetros de interfaz y los estudiantes que estén interesados pueden optimizarla y ampliarla.
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 punto interesante de esta estrategia es que los activos de la cuenta se establecen inicialmente para que sean iguales al valor de la moneda, como BTC._Par comercial USDT, el precio actual de BTC es 10 000, la moneda de la cuenta tiene asignadas 5, luego se asignan 50 000 USDT
La estrategia adopta una actitud neutral frente a las condiciones del mercado y las fluctuaciones de precios. Intente asignar menos USDT y más monedas. Por ejemplo:

Se ha producido un cambio notable en las pruebas retrospectivas.
También puedes configurar más USDT y menos monedas.

Reúne los módulos y prueba tus propias ideas de trading programado.
Ejemplo de estrategia de visualización:
Hay más estrategias disponibles en: https://www.fmz.com/square
Otros artículos de esta serie
La programación aburrida se puede completar fácilmente utilizando bloques de construcción. ¡Pruébalo, es muy interesante!