SAR parabólico de direção e estratégia de preço de ponto alto e baixo

Autora:Bem-estar, Criado: 2019-10-10 11:59:37, Atualizado: 2023-11-07 20:48:54

img

Resumo

A direção parabólica é um indicador de análise técnica muito estranho, inventado por Welles Wilder, o nome completo da abreviação é Stop and Reverse, referido como SAR.

Introdução à direção parabólica

A rotação parabólica é peculiar porque sua forma externa é diferente de outros indicadores. Ela consiste em pontos vermelhos ou verdes e segue o movimento do preço em forma de arco.

É construído em cima do gráfico de preços e é usado principalmente para analisar as tendências de preços.

Além disso, a média móvel sempre atravessará o preço, quando o preço cruzar a parábola, o indicador reverterá o switch; e seu preço indicado aparecerá do outro lado do nível de preço; e solicitará a posição stop loss do comerciante até que a tendência do mercado termine.

Cálculo da direção parabólica

O cálculo da direção parabólica é muito complicado. Primeiro, você precisa determinar o ponto extremo (EP de preço mais alto ou mais baixo). Em seguida, adicione um fator de aceleração (AF) a partir de 0,02 para ele, e depois adicione 0,02 cada vez que o próximo ponto extremo é tocado. O máximo de AF é 0,20, em seguida, multiplique a diferença entre o preço extremo e o SAR do período anterior pelo fator de aceleração, em seguida, adicione o SAR do período anterior.

Algoritmo de subida de preços

Primeiro passo:Suponha que o período de tempo ét. SAR(t)é igual ao preço mais baixo dos N períodos de tempo anteriores.Af(t)é 0,02.

  • SeSAR(t)é superior ao preço mais baixoL(t)do período t, ocorre uma mudança e entra na tendência descendente no período seguinte;

  • SeSAR(t)não é superior ao preço mais baixoL(t)do período t, entra na tendência ascendente no período seguinte;

  • O valor extremoEp(t)É igual ao preço mais elevado dos últimos N períodos de tempo;

Passo 2:O período de tempo é t+1, que é:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • SeSAR(t+1)é superior ao preço mais baixoL(t+1)do período de tempo t+1, ocorre uma mudança e entra numa tendência descendente no período de tempo seguinte;

  • SeSAR(t+1)não é superior ao preço mais baixoL(t+1)do período de tempo t+1, entra na próxima fase de tendência ascendente; e o valor extremoEp(t+1)É igual ao preço mais elevado dos últimos N períodos de tempo;

  • Se o preço mais alto do período de tempo, isto é,H(t+1)é superior ao preço mais elevado dos N períodos anteriores, entãoAF(t+1)=AF(t)+0.02, caso contrário,AF(t+1)= AF(t).

Passo 3:Repetir o algoritmo na segunda etapa da tendência ascendente no período de tempo seguinte t+2, t+3,..., até ocorrer a mudança.AFé 0,2.

Algoritmo de queda de preços

Primeiro passo:Suponha que o período de tempo é t.SAR(t)é igual ao preço mais elevado dos N períodos de tempo anteriores.Af(t)é 0,02.

  • SeSAR(t)É inferior ao preço mais elevadoH(t)do período de tempo t, ocorre uma mudança e entra na tendência ascendente no período de tempo seguinte;

  • SeSAR(t)não é inferior ao preço mais elevadoH(t)do período de tempo t, entra na tendência descendente no período de tempo seguinte;

  • O valor extremoEp(t)é igual ao preço mais baixo dos últimos N períodos de tempo;

Passo 2: O período de tempo é t+1, que é:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • SeSAR(t+1)É inferior ao preço mais elevadoH(t+1)do período t+1, ocorre uma mudança e entra na tendência ascendente no período seguinte;

  • SeSAR(t+1)não é inferior ao preço mais elevadoL(t+1)do período t+1, entra na tendência descendente no período seguinte; além disso, o valor extremoEp(t+1)é igual ao preço mais baixo dos últimos N períodos de tempo;

  • Se o preço mais baixoL(t+1)Se o preço do período de tempo for inferior ao preço mais baixo dos N períodos de tempo anteriores, entãoAF(t+1)=AF(t)+0.02, caso contrário,AF(t+1)=AF (t).

Passo 3:Repetir o algoritmo na segunda etapa da tendência ascendente no período de tempo seguinte t+2, t+3,..., até ocorrer a mudança.AFé 0,2.

Há muitas versões do algoritmo SAR. O algoritmo acima é apenas um deles, outros são semelhantes em estrutura. A diferença está nos detalhes, como a condição de gatilho do fator de aceleração e o algoritmo de determinação deEp(t)Podemos ver as características da virada parabólica: na tendência ascendente do mercado, o SAR de cada linha K é maior do que o SAR da linha K anterior, e o ponto de stop loss é gradualmente movido para cima, garantindo assim que o lucro flutuante também esteja se movendo gradualmente para cima.

Estratégia lógica

A direção parabólica separada é uma estratégia de reversão. Quando o preço está acima da parabola, a posição longa é mantida, e quando o preço está abaixo da parabola, a posição curta é mantida. Esta estratégia não vazia pode se adaptar bem ao mercado de tendência e pode gerar um bom lucro quando a tendência do mercado é suave. Mas aqueles que fizeram negociação sabem que o mercado é volátil na maior parte do tempo, por isso, se você usar a volta parabólica sozinho, você pode perder muitos dos lucros que ganhou no mercado de tendência de longo prazo. Portanto, precisamos adicionar um filtro. Quando o mercado é volátil, podemos filtrar algumas das oportunidades não-tendência, reduzindo assim a frequência de negociação e aumentando a taxa de ganho ou a taxa de perda de lucro, para que no mercado volátil de longo prazo, o recuo do valor líquido possa ser efetivamente reduzido.

  • Posição longa aberta: parabola está subindo, e o preço mais alto é superior ao preço mais alto anterior

  • Posição curta aberta: parabola está caindo, e o preço mais baixo é inferior ao preço mais baixo anterior

  • Posições longas que obtêm lucro: a parábola está a diminuir e o lucro flutuante atinge o montante especificado

  • Posição curta que obtém lucro: a parábola está a subir e o lucro flutuante atinge o montante especificado

  • Stop loss da posição longa: a perda atinge o montante especificado

  • Posição curta stop loss: a perda atinge o montante especificado

Estratégia de escrita

Com base na lógica estratégica acima, podemos implementá-lo 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 precisam ser utilizados nesta estratégia: o comprimento da média móvel, o intervalo de stop loss, o parâmetro de lucro, etc. Estes são todos definidos como parâmetros externos para facilitar a depuração e otimização de testes:

N:=30; // highest or lowest price parameter
SLOSS:=1; // Taking Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

Em seguida, calcule os dados necessários utilizados na estratégia: primeiro calcule a quantidade de ordem, em seguida, calcule o indicador de rotação parabólica e julgue se é um estado ascendente ou um estado decrescente e, finalmente, calcule a relação posicional entre o preço mais alto ou mais baixo e o preço mais alto e mais baixo anterior:

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

A parte seguinte refere-se à posição de abertura e ao stop-loss ou take-profit:

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // Long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // Short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // Long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // Short position stop loss

Estratégia Backtest

Ambiente de ensaio posterior

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

img

Relatório de resultados

img

Curva de fundos

img

Código de estratégia completo

(*backtest
Start: 2015-02-22 00:00:00
End: 2019-09-27 00:00:00
Period: 1h
Exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
Args: [["ContractType","rb000",126961]]
*)

N:=30; // Highest or lowest price parameter
SLOSS:=1; // Take Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // short position stop loss

Clique para copiar o código fonte da estratégia completa sem configuração:https://www.fmz.com/strategy/168073

No fim

A maioria dos indicadores tradicionais está muito atrás da nova linha K. Não só a virada parabólica pode ser estreitamente correspondida à nova linha K de acordo com as características do fator de aceleração incorporado, mas também não é muito flexível, de modo que a estratégia pode ser tanto ofensiva quanto defensiva. Embora o método de cálculo seja muito complicado, os indicadores existentes podem ser usados diretamente, o que é muito amigável para iniciantes.


Relacionados

Mais.