Através dos capítulos anteriores desta série, acredito que você basicamente dominou o uso de vários tipos de módulos de visualização. Neste capítulo, usamos uma estratégia simples, mas interessante para construir um módulo de visualização.
O núcleo da estratégia é perseguir o aumento e matar a queda, e escolher o mercado spot de moeda digital, como BTC_USDT, de acordo com o preço atual quando a estratégia estiver em execução, se o preço aumentar em uma certa porcentagem, comprar de acordo com uma certa porcentagem do ativo atual (moeda de preço).
Antes de construirmos, adicionamos alguns módulos reutilizáveis.
Tal como mostrado na figura acima:
Na coluna biblioteca de classes, existem algumas bibliotecas de classes reutilizáveis encapsuladas, que podem ser usadas após a verificação.
A
Como a ideia de estratégia é muito simples, os módulos de estratégia não são muito grandes. Nosso backtesting começou em outubro de 2018, em menos de um ano, surgiram grandes e pequenos choques e cotações de tendências, que podem testar a estratégia preliminarmente. Parâmetros de ensaio de retrocesso:
Vejamos o desempenho do backtest desta estratégia:
A estratégia de linguagem JavaScript equivalente também é lançada aqui, e alguém interessado pode estudá-la. Através do aprendizado da estratégia de construção de módulos visuais, o conceito da estratégia e o uso de várias interfaces, é muito conveniente começar com a negociação de programas. A estratégia não tem outros parâmetros de interface, e alguém que esteja interessado pode otimizá-la e expandí-la.
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
}
}
}
Um aspecto interessante desta estratégia é que o ativo da conta é definido para ser equivalente à moeda e ao valor monetário inicialmente, como os pares de negociação BTC_USDT, o preço do BTC é de 10000 no momento, a moeda da conta é alocada a 5, e o USDT é alocado a 50000.
A estratégia é neutra às condições de mercado, aumentos e descidas de preços. Tente alocar menos USDT e mais moedas. Por exemplo:
Há mudanças óbvias no backtest.
Também pode definir mais USDT e menos moedas.
Montar o módulo e tentar as nossas próprias ideias de negociação de programas juntos.
Exemplos de estratégias de visualização:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Para mais estratégias, consulte:https://www.fmz.com/square
Outros artigos desta série
A programação chata pode ser facilmente completada por blocos de construção.