Os artigos anteriores aprenderam muitos conceitos básicos de transações de círculos de moedas, programação e quantificação. Finalmente, podemos falar sobre a estratégia em si, mas neste artigo aprendemos a implementar uma estratégia simples. A estratégia da rede de baralho é algo que todos os estudantes que fazem negócios devem ter ouvido falar, não importa se ouviram ou não.Bolsa de valoresA maioria das empresas da América do Sul lançaram suas próprias funções de programação e quantificação de transações, e a estratégia mais simples e fácil de usar é:Estratégias de redeA estratégia de grelha oferecida por cada bolsa é diferente em funções, detalhes, etc. Se você pretende entrar no círculo monetário e quantificar, por que não começar a implementar uma estratégia de grelha por conta própria?
Afinal, é possível que alguns colegas de escola tenham dito: A mãe não escreve código! O que é isso?
Isso é verdade. Para os profissionais não relacionados ao software de computador, os alunos que não estão envolvidos no trabalho de programação, desenvolver uma estratégia de negociação completa por conta própria é bastante difícil. Porque você está começando a fazer uma série de trabalhos prévios a partir da interface de intercâmbio de ligação.
Se você tiver uma ferramenta disponível, isso é bastante simples, com uma redução de dificuldade de pelo menos 70%. Você pode imaginar o quão fácil e rápido seria se você escrevesse apenas a própria lógica de negociação, e todas as outras funções de interface de troca, verificação de assinatura, perfil, construção de ambiente operacional, escrita de interface de usuário, escrita de interação, tudo isso já está disponível.
Não acredita? Vamos experimentar!
A ferramenta que usamos é: Inventor Quantitative Trading Platform (Inventor Quantitative Trading Platform).FMZ.COMO núcleo do projeto de uma estratégia de rede é a lógica de compra e venda da rede, então isso é algo que deve ser descoberto antes de uma estratégia de projeto. Nosso objetivo é fazer uma estratégia de design simples e fácil de entender, portanto, quanto menos parâmetros, a lógica mais simples é melhor.
O processo básico para criar uma estratégia é o seguinte:
1o, Requisitos Estratégicos
Simplificando, é o que sua estratégia deve fazer, como fazer, quais funções deve ter, etc. Essa informação pode ser escrita em algum documento antes de você realmente escrever o código da estratégia. No FMZ, o desenvolvimento de estratégias é muito simples, a plataforma oferece uma maneira de resolver essas necessidades, e eu não preciso escrever essas necessidades em algum diário.
Depois de memorizar a política de conservação, podemos escrever as necessidades da política (as necessidades da política também não são imutáveis e podem ser registradas no desenvolvimento).
XXX_USDT
Por exemplo:BTC_USDT
。2. Construir a estrutura de dados da grade:
Para ideias obscuras, podemos começar a fazer uma análise gráfica.
A partir do preço inicial inicial como base, pode-se construir uma grade nas duas seguintes direções. A chamada grade é uma linha de compra e venda de uma camada para outra. Através do gráfico, podemos ver que cada linha tem duas possibilidades: 1, o preço é o mesmo. 2o, o preço é mais baixo. O preço do vestido indica que o preço subiu e que você precisa vender, e depois esperar que o preço volte para baixo e comprar com lucro. O preço abaixo indica que o preço está baixo, é preciso comprar e depois esperar que o preço suba para vender com lucro. Assim, cada linha de grelha tem duas maneiras de transação: comprar, vender. E cada linha de grelha também tem uma propriedade intrínseca, que é o preço marcado pela linha. Por exemplo, a representação de A/B/C/D no gráfico. A primeira coisa que fazemos quando planejamos uma estratégia é que sabemos o que queremos.O quê?A partir daí, é fácil começar a fazer isso.
Escrever uma função que constrói a estrutura de dados da grade:
function createNet(begin, diff) { // begin,diff是参数,begin是初始价格,diff是网格间距(等差网格的间距是价格)
var oneSideNums = 10 // 网格向上、向下一边生成10条线,上图是一边生成2条(AB一边,CD一边),生成10条的自行脑补画面
var up = [] // 用来储存向上的“网格线”数据结构
var down = [] // 用来储存向下的“网格线”数据结构
for (var i = 0 ; i < oneSideNums ; i++) { // 根据oneSideNums的大小确定次数,循环构造“网格线”数据结构
var upObj = { // 构造一条向上的“网格线”数据结构
buy : false, // 买入标记,初始标记为false ,意思为没有买入
sell : false, // 卖出标记....
price : begin + diff / 2 + i * diff, // 这条“网格线”表示的价格位,可以观察根据循环进行,价格位是依次升高的
}
up.push(upObj) // 构造好的“网格线”数据结构放入up数组
var j = (oneSideNums - 1) - i // 循环时 j 的变动是:9 ~ 0
var downObj = {
buy : false,
sell : false,
price : begin - diff / 2 - j * diff,
}
if (downObj.price <= 0) { // 价格不能小于等于0
continue
}
down.push(downObj) // 构造好的“网格线”数据结构放入down
}
return down.concat(up) // 把up加在down之后,形成一个网格线价格从小到大的网格数组结构
}
A função pode ser executada separadamente para ver os efeitos. O FMZ pode ser executado com a ferramenta de depuração do mouse ou com o mouse do sistema de retorno do mouse.
Os dados construídos podem ser observados.
[
{"buy":false,"sell":false,"price":5},
{"buy":false,"sell":false,"price":15},
{"buy":false,"sell":false,"price":25},
{"buy":false,"sell":false,"price":35},
{"buy":false,"sell":false,"price":45},
{"buy":false,"sell":false,"price":55},
{"buy":false,"sell":false,"price":65},
{"buy":false,"sell":false,"price":75},
{"buy":false,"sell":false,"price":85},
{"buy":false,"sell":false,"price":95},
{"buy":false,"sell":false,"price":105}, // 100是起始价格,从105开始向上第一条线,间距10
{"buy":false,"sell":false,"price":115}, // ...
{"buy":false,"sell":false,"price":125},
{"buy":false,"sell":false,"price":135},
{"buy":false,"sell":false,"price":145},
{"buy":false,"sell":false,"price":155},
{"buy":false,"sell":false,"price":165},
{"buy":false,"sell":false,"price":175},
{"buy":false,"sell":false,"price":185},
{"buy":false,"sell":false,"price":195}
]
3. Análise de lógica de transações
Depois de analisar a estrutura de dados da rede, devemos considerar a lógica de compra e venda específica da estratégia da rede. Na verdade, a lógica de compra e venda também é simples, como já descrevemos no gráfico, comprar é descer através de uma linha e vender é subir através de uma linha.
Ou use o gráfico anterior.
Então, se você quer ver a linha C, então você pode ver a linha T1 como um momento, e T2 como um momento depois de T1.P1 < C
E tambémP2 > C
Não, não é.
Paralelamente, ao julgarmos que atravessamos esta linha B, nós apenas temos que julgar.P1 > B
E tambémP3 < B
Não, não é.
A partir daí, nós apenas passamos por "travessia" (travessia vulgarmente).Uma por uma.) Cada linha da matriz de grelhas pode ser julgada através de um corte.
A partir de agora, a maioria das transações em que os preços estão em alta ou em baixa, será possível fazer um pedido quando esses movimentos forem desencadeados? Obviamente, isso não é possível, se o preço atravessar repetidamente uma linha, não seria uma transação repetida em um nível de preço. Então, há uma série de condições de julgamento para o desencadeamento do corte e depois do corte, que precisam ser usadas para marcar o buy/sell na estrutura de dados da linha de rede que acabamos de construir.
Obrigado pela leitura, vamos continuar a falar e a aprender no próximo capítulo.
Tony233Não entendo o meu código.
Tony233Como é que és tão bom?
CYZWXA melhor coisa a fazer é adicionar um debugger e um py.
Tony233A partir de agora, é muito difícil negociar com a rede.
Inventor quantificado - sonho pequenoÉ muito fácil ler os artigos em tutoriais, comunidades e bibliotecas.