Estratégia de percentagem de lucro de vários níveis

Autora:Bem-estar, Criado: 2019-09-25 16:24:31, Atualizado: 2023-11-07 20:44:48

img

Resumo

Stanley Kroll mencionou em seu livro Kroll on Futures Trading Strategy que seus métodos de lucro são divididos em três partes: quando o preço alvo é atingido, um terço da posição será fechado; outro terço da posição será fechado quando a faixa de preços de resistência e suporte de longo prazo for quebrada; o último terço da posição seguirá a tendência até que o stop loss seja acionado.

A estratégia compartilhada por este artigo é baseada neste princípio. A linha média móvel é usada como a direção da tendência. A relação entre o preço de fechamento, o preço mais alto e o preço mais baixo é usada como o sinal para abrir a posição. Sob a premissa de que a tendência de preço não mudou significativamente, tire lucro proativamente em lotes de acordo com a porcentagem.

Por que precisamos de stop loss e take profit?

Há um velho ditado no mundo da negociação: todos sabem como abrir posições, apenas profissionais sabem como fechar posições. Como essas palavras sugerem, como sair do mercado é o fator chave da negociação, porque quando você abre posições, você só precisa julgar se a tendência do mercado começa. Mas uma vez que você salta para o mercado, você precisa julgar se a tendência está virando ou não, e você precisa controlar o risco o tempo todo. Acredito que muitos comerciantes experimentaram o mercado roller coaster, você salta no trem e acaba com um pequeno lucro ou até uma perda.

Simplificando, a posição de fechamento não é nada mais do que duas situações: take profit e stop loss. Por exemplo, se você tiver sorte, o preço começa a subir após a compra. Neste momento, você deve considerar o problema de take profit. Caso contrário, podemos apenas ganhar dinheiro no look, não tiramos lucro no lugar certo e finalmente perdê-lo. Se você não tiver sorte, o preço começará a cair logo após a compra. Neste momento, você deve considerar o stop loss, ou você deve considerar as opções de stop loss antes de abrir a posição, caso contrário, a pequena perda acumulará uma grande perda.

De um ponto de vista estatístico, a maioria das posições de perda retornará ao preço de custo no mercado futuro. No entanto, se você encontrar uma pequena probabilidade de uma grande tendência reversa, poderá perder todos os lucros anteriores ou mesmo todo o fundo. Portanto, para nossos investidores de varejo, podemos fazer grandes lucros; podemos fazer pequenos lucros; podemos fazer pequenas perdas, mas nunca podemos perder grande dinheiro. Em uma palavra: Stop loss mantém você vivo e tirar lucro faz você viver melhor.

Estratégia lógica

Às vezes, quando intuitivamente tiramos lucro, pode haver uma grande onda de movimento do preço do mercado que só ganhamos uma pequena quantidade dele. Embora não seja uma transação fracassada, haverá uma espécie de arrependimento da mentalidade, então essa estratégia usará o método de lucro a vários níveis, ou seja, quando o lucro flutuante atingir 5%, o modo de lucro ativo de primeiro nível é ativado. Uma vez que o 100% é retirado do ponto mais alto do lucro flutuante, tire o lucro e feche a posição; quando o lucro flutuante atinge 10%, o modo de lucro ativo de segundo nível é ativado. Uma vez que o 50% seja retirado do ponto mais alto do lucro flutuante, tire o lucro ativo e feche a posição; Quando o lucro flutuante atinge 20%, a tomada de lucro ativo de três níveis é ativada. Uma vez que a lógica de 20% é retirada do ponto mais alto do lucro flutuante, o modo flutuante e feche a posição.

  • Defina o trilho superior

  • Defina o trilho inferior

  • Defina a média móvel

  • Posições longas abertas: o preço de fechamento é superior à linha de fundo e a linha de fundo é superior à média móvel

  • Abertura de posição curta: o preço de encerramento é inferior ao da linha inferior e o da linha inferior é inferior à média móvel

  • Fechamento de posição longa: o preço de fechamento é inferior à linha inferior ou o preço de fechamento é inferior à média móvel

  • Fechamento de posição curta: O preço de fechamento é superior à linha superior, ou o preço de fechamento é superior à média móvel

  • Posições longas de nível 1 a tomar lucro: o preço mais alto após a abertura da posição é igual ou superior ao preço de abertura multiplicado pelo primeiro nível de lucro inicial, e o preço mais baixo é inferior ou igual ao preço mais alto após a abertura da posição menos o lucro flutuante multiplicado pelo valor de desencadeamento do primeiro nível de tomar lucro.

  • Posições longas de nível 2 com lucro a receber: o preço mais alto após a abertura da posição é igual ou superior ao preço de abertura multiplicado pelo segundo nível de lucro inicial, e o preço mais baixo é inferior ou igual ao preço mais alto após a abertura da posição menos o lucro flutuante multiplicado pelo valor de desencadeamento do segundo nível de lucro a receber.

  • Posições longas de nível 3 com lucro a receber: o preço mais elevado após a abertura da posição é igual ou superior ao preço de abertura multiplicado pelo terceiro nível de lucro inicial e o preço mais baixo é inferior ou igual ao preço mais elevado após a abertura da posição menos o lucro flutuante multiplicado pelo valor de desencadeamento do terceiro nível de lucro a receber.

  • Posição curta de nível 1: o preço mais baixo após a abertura da posição é inferior ou igual ao preço de abertura multiplicado pelo primeiro nível de lucro inicial, e o preço mais alto é superior ou igual ao preço mais baixo após a abertura da posição mais o lucro flutuante multiplicado pelo valor de desencadeamento do primeiro nível de lucro.

  • Posição curta de nível 2: o preço mais baixo após a abertura da posição é inferior ou igual ao preço de abertura multiplicado pelo segundo nível de lucro inicial, e o preço mais alto é superior ou igual ao preço mais baixo após a abertura da posição mais o lucro flutuante multiplicado pelo valor de desencadeamento do segundo nível de lucro.

  • Posição curta de nível 3 de captação de lucro: o preço mais baixo após a abertura da posição é inferior ou igual ao preço de abertura multiplicado pelo terceiro nível de lucro inicial e o preço mais alto é superior ou igual ao preço mais baixo após a abertura da posição mais o lucro flutuante multiplicado pelo valor de desencadeamento da captação de lucro do terceiro nível

  • Posição longa Stop Loss: o preço de encerramento é inferior ou igual ao preço de abertura multiplicado pelo fator de stop loss

  • Posição curta Stop Loss: o preço de encerramento é igual ou inferior ao preço de abertura multiplicado pelo fator de stop loss

Código de estratégia

Com base na lógica estratégica acima, podemos implementar esta estratégia na plataforma FMZ Quant.fmz.com> Login > Dashboard > Strategy Library > New Strategy > Clique no menu suspenso no canto superior direito para selecionar Meu idioma, começar a escrever a estratégia e prestar atenção aos comentários no código abaixo.

Em primeiro lugar, os parâmetros que devem ser utilizados na estratégia: o comprimento médio da linha, a faixa de stop loss, o parâmetro take profit, etc., são todos definidos como parâmetros externos para facilitar a depuração e otimização de testes.

/ / Define parameters
LENGTH := 100; // moving average parameter
STOP_LOSS := 3; // Stop Loss range

// Define the take profit parameter
STARTPER1 := 5; // Level 1 tracking take profit, start from profit reaches 5%
STOPPER1 := 100; // Level 1 tracking take profit, profit retracement 100% triggers it
STARTPER2 := 10; // Level 2 tracking take profit, start from profit reaches 10%
STOPPER2 := 50; // Level 2 tracking take profit, profit retracement 50% trigger it
STARTPER3 := 20; // Level 3 tracking take profit, start from profit reaches 20%
STOPPER3 := 20; // Level 3 tracking take profit, profit retracement 20% trigger

Em seguida, defina um intervalo de preços com base no preço de hoje e ontem e na flutuação do preço de ontem. Através deste intervalo de preços e da relação relativa de posição com a média móvel, não só o sinal de compra e venda de posições abertas pode ser bem rastreado, mas também reduzir o número de posições abertas no período de choque e a magnitude da retirada também.

/ / Define the upper and lower intervals
NN := BARSLAST(DATE <> REF(DATE, 1)) + 1; // current number of cycles
TODAY_OPEN := VALUEWHEN(NN = 1, O); // Opening price of the day
TODAY_HIGH := HHV(H, NN); // The highest price of the day
TODAY_LOW := LLV(L, NN); // lowest price of the day
YESTERDAY_HIGH := REF(TODAY_HIGH, NN); // Yesterday's highest price
YESTERDAY_LOW := REF(TODAY_LOW, NN); // yesterday's lowest price
BAND := YESTERDAY_HIGH - YESTERDAY_LOW; // Yesterday amplitude
UPPERLINE : TODAY_OPEN + BAND; // upper line
LOWERLINE : TODAY_OPEN - BAND; // lower line
MYMA:MA(CLOSE, LENGTH); // Moving average

Então, é o código lógico para a abertura e fechamento de posições. Quando o preço de fechamento é maior do que o trilho superior e o trilho superior é maior do que a média móvel, abra a posição longa; quando o preço de fechamento é menor do que o trilho inferior e o trilho inferior é menor do que a média móvel, abra a posição curta; a condição da posição de fechamento é exatamente oposta à condição da posição de abertura: quando o preço de fechamento é menor do que o trilho inferior, ou o preço de fechamento é menor do que a média móvel, feche a posição longa; quando o preço de fechamento é maior do que o trilho superior, ou o preço de fechamento é maior do que a média móvel, feche a posição curta.

// open the position
C > UPPERLINE AND UPPERLINE > MYMA, BK; // Open long position
C < LOWERLINE AND LOWERLINE < MYMA, SK; // Open short position

// close the position
C < LOWERLINE OR C < MYMA, SP; // Close long position
C > UPPERLINE OR C > MYMA, BP; // Close short position

Por fim, é a parte stop-loss e take-profit que mencionamos neste artigo. Seja uma posição longa ou curta para tirar lucro, ela é dividida em três etapas. Cada etapa é ajustada automaticamente de acordo com as flutuações atuais dos preços do mercado e a lucratividade. E este ajuste é definido em parâmetros externos, você pode fazer ajustes finos de acordo com diferentes condições de mercado e status de variedade.

O stop loss também é uma parte da nossa estratégia que precisamos considerar, porque é impossível ganhar dinheiro abrindo qualquer posição. Às vezes o mercado é contrário às nossas expectativas, então o stop loss é absolutamente necessário. O stop loss deste artigo é simples e violento, ou seja, quando a perda flutuante atinge um certo nível, todas as posições serão fechadas.

// long position take profit
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER1) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER1, SP;  // level 1
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER2) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER2, SP;  // level 2
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER3) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER3, SP;  // level 3

// short position take profit
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER1) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER1, BP;  // level 1
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER2) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER2, BP;  // level 2
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER3) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER3, BP;  // level 3

// stop loss
C <= BKPRICE * (1 - STOP_LOSS * 0.01), SP;  // long position
C >= SKPRICE * (1 + STOP_LOSS * 0.01), BP;  // short position

Além disso, também definimos o método de delegação de pedidos, bem como a filtragem de sinais, para tornar o processamento mais completo.

// Set the order commission method
SETSIGPRICETYPE(BK,NEW_ORDER);
SETSIGPRICETYPE(SK,NEW_ORDER);
SETSIGPRICETYPE(BP,NEW_ORDER);
SETSIGPRICETYPE(SP,NEW_ORDER);

// Set the signal filtering method
AUTOFILTER;

Backtest da estratégia

Ambiente de ensaio

  • Variedade comercial: índice de barras de reforço
  • Tempo: 22 de fevereiro de 2015 ~ 18 de setembro de 2019
  • Ciclo: uma hora
  • Deslizamento: 2 pips para o preço de abertura e fechamento das posições
  • Taxa: 2 vezes a taxa de câmbio normal

img

Relatório de desempenho

img

Curva dos fundos

img

Estratégia de cópia

Clique para copiar a fonte de estratégia completa sem configurarhttps://www.fmz.com/strategy/166753


Relacionados

Mais.