É muito simples escrever estratégias de tendência em MyLanguage. Graças à encapsulamento, podemos escrever uma estratégia com apenas algumas linhas de código.https://www.fmz.com/bbs-topic/9480O MyLanguage no FMZ pode ser dividido em três áreas: futuros de commodities, spot de moeda digital e futuros de moeda digital. Vamos resolver as diferenças no uso de diferentes mercados juntos. Vamos dar uma olhada em um conteúdo importante primeiro.
A
A compreensão desses parâmetros e configurações é essencial para dominar a estratégia de uso do MyLanguage no FMZ. Vamos aprender o conceito e propósito de cada parâmetro juntos.
Bar model
eTick model
.
Para simplificar, quando a última barra de linha K é concluída e a nova barra de linha K de período sai, o programa do robô executa a lógica de estratégia estabelecida (código de estratégia de negociação escrito) uma vez. A vantagem deste modelo é evitar a interferência causada pelas mudanças de preço em tempo real durante o período, e só olhar para os dados de mercado quando a última barra da linha K é finalizada, como base para negociação estratégica e posições de abertura e fechamento.
- Tick model
Tick model refers to the continuous implementation of the established strategic logic according to the real-time market. Once the trading conditions in the strategy are triggered, it will execute the trading instructions immediately. The advantage of this model is to monitor the market in real-time and execute trading instructions immediately without waiting for confirmation. The disadvantage is that it is easy to be disturbed frequently by the market. As shown in the following figure, the update time changes in real-time, and the chart also shows the last K-line bar (the current K-line bar, and the K-line bar on the chart also changes in real-time).
MA5^^MA(C,5);
MA10^^MA(C,10);
CROSSUP(MA5,MA10),BK;
Neste momento, se o CROSSUP (MA5, MA10)
Se forem acionadas, o número de posições de abertura é de 2 (o número específico de posições de abertura é de 2, 2 moedas ou 2 contratos, dependendo da troca adicionada, quer se trate de futuros de mercadorias, spot de moeda digital ou futuros de moeda digital).
Tomemos o sistema de backtest como exemplo:
Quantidade máxima de encomenda de uma única transacção A quantidade máxima permitida para uma única ordem. Se o conjunto de sinais desencadear uma quantidade de ordem grande (definida pelo parâmetro de comando na estratégia ou pelo número padrão de posições abertas), a ordem será dividida em pequenas ordens para colocar ordens.
Ponto de deslizamento (número inteiro)
O parâmetro está relacionado com opricing currency accuracy
O preço de compra é um parâmetro no grupo de transações spot. É usado principalmente para definir o prêmio adicionado ou subtraído ao colocar uma ordem. Por exemplo, quando é necessário comprar, quando a contraparte vende um preço de 10, colocamos o preço de compra de 11. Neste momento, 11-10=1. A diferença extra de 1 yuan é o preço deslizante. Pelo contrário, a parte de venda é o preço deslizante. O propósito de adicionar o preço deslizante é garantir a transação.
No comércio de futuros de commodities, diferentes variedades têm diferentes priceTick (ou seja, o preço por salto), e o mesmo é verdade no comércio de moeda digital.i2009
Se eu colocar uma ordem de 760.1, ela não atende aos requisitos do priceTick. Essa ordem não pode ser colocada com sucesso, e a bolsa rejeitará a ordem. Se a ordem for 760.5, está bem. Portanto, esse problema precisa ser considerado ao definir o preço deslizante.
Para os futuros de commodities, o sistema obtém automaticamente o preçoTick da variedade actual (o parâmetro de precisão do preço da moeda não é eficaz).sliding point
conjunto é um múltiplo do preçoTick, por exemplo:
Mostra que o preço do minério de ferro por salto é 0,5 quando definimos o ponto de deslizamento para 5.
Como a moeda digital fornece informações como preço por salto que não é uniforme, e alguns fornecem, e alguns não. Portanto, o parâmetro
Este parâmetro é utilizado principalmente para definir o código do contrato decommodity futures
edigital currency futures
Mercados. Consulte o documento MyLanguage para mais pormenores:https://www.fmz.com/bbs-topic/9480
-Futures de moeda digital Ver a documentação da API:https://www.fmz.com/api#exchange.setcontracttype..Descrição do código do contrato.
Se o objecto de troca adicionado pela estratégia for a moeda digital spot, esta definição de parâmetro é inválida.
Verifique este parâmetro e reinicie depois que a estratégia parar. A posição anterior continuará e o sinal continuará a ser executado, em vez de ser executado usando o estado inicial. Se precisarmos executar a estratégia no estado inicial, podemos deixar este parâmetro sem verificar.
Se não houver acordo ao colocar uma ordem (por exemplo, se o mercado mudar rapidamente e o preço de deslizamento não for definido em um grande número, a posição de abertura pode ter se movido ao colocar uma ordem). Cancele a ordem e substitua a ordem. Este parâmetro controla o número de vezes para substituir a ordem. Mais do que o número de vezes, não há mais ordens, a execução do sinal está completa.
- Intervalo de rotação da rede (milissegundos)
É válido apenas para futuros e dinheiro em moeda digital, e controla a frequência de rotação do programa.
Intervalo de tempo para leitura dos dados da conta.
A estratégia é usada principalmente para a troca de futuros de moeda digital. Às vezes, a interface da troca de futuros de moeda digital retornará aos dados antigos, levando a erros de julgamento de posição, fazendo com que a estratégia coloque ordens repetidas. Este problema pode ser aliviado aumentando a configuração do parâmetro.
Este parâmetro é usado apenas para futuros de moeda digital. Configure a alavancagem de futuros de moeda digital. O intervalo e o valor da alavancagem suportados por cada câmbio de futuros de moeda digital podem ser diferentes, por isso deve ser definido especificamente. Os futuros de mercadorias são taxas de margem fixas e não podem ser definidos de forma independente.
Quantidade por lote Este parâmetro é válido apenas para transações spot em moeda digital, ou seja, definir a quantidade de ordem padrão
Volume mínimo de negociação O volume mínimo de transação refere-se ao valor mínimo de cada ordem, se a quantidade de ordem calculada for menor que este valor, não será negociada (como fundos insuficientes, transações incompletas e a pequena quantidade restante de transações planejadas em uma única transação). Simplificando, uma operação de ordem única, a quantidade mínima de ordens para atender a este valor. Se for menor que este valor, nenhuma ordem será colocada.
Precisão da moeda de fixação dos preços
Este parâmetro refere-se à precisão do preço (números decimais do preço) no momento da negociação, o que afeta o parâmetro
Precisão da variedade de negociação Este parâmetro refere-se à precisão da quantidade de ordem durante a transação e controla os lugares decimais da quantidade de ordem. Por exemplo, o plano de quantidade de unidade é 0,1234 moeda. Se este parâmetro for definido em 2, a quantidade de ordem será ajustada para 0,12.
Comissão Este parâmetro é usado para spot de moeda digital, e o parâmetro de comissão é usado para calcular a quantidade de ordem ao colocar uma ordem (quando colocar uma ordem de compra), a fim de evitar que a quantidade de ordem calculada exceda a quantidade de ativos realmente necessários.
Intervalo de estatísticas de lucros e perdas As estatísticas de retorno do MyLanguage são calculadas em intervalos regulares e imprimem o lucro e a perda flutuantes atuais, de modo que a posição seja mantida ou não (não há posição real no local da moeda digital, é uma posição lógica), pode ser calculada.
Falha e tentativa de reinicialização (milissegundos) Este parâmetro é usado para determinar o intervalo entre as tentativas de reinicialização quando a chamada de interface falha.
Usar proxy Este parâmetro é usado principalmente para futuros de moeda digital e spot de moeda digital.
Esconda erros de rede comuns Verifique este parâmetro para filtrar alguns registros de erros.
Endereço de base do comutador Este parâmetro é usado principalmente para futuros de moeda digital e spot de moeda digital.https://www.okex.comSó pode ser acessado por servidores estrangeiros.https://www.okex.me. Desta forma, o docker executado no computador local também pode acessar a interface de troca OKEX.
Notificação por push Após este parâmetro ser verificado, o registro de ordens será colocado, e a mensagem de push na estratégia será empurrada para a opção de push definida pela conta corrente.
Vamos familiarizar-nos com os parâmetros do modelo do MyLanguage aqui.