avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

Estratégia inovadora de negociação programática: como fazer os parâmetros se moverem

Criado em: 2017-12-28 09:29:31, atualizado em:
comments   1
hits   2254

Estratégia inovadora de negociação programática: como fazer os parâmetros se moverem

Muitas pessoas, quando se deparam com negociação programada, escolhem o método de otimização de parâmetros para selecionar os parâmetros. A medida que o ambiente de negociação muda, os comerciantes geralmente começam a ajustar os parâmetros de forma autônoma. Embora nem todos os parâmetros necessitem de ajustes constantes, isso pode tornar o programa mais flexível se ajustarmos os parâmetros do nosso programa à medida que o ambiente muda.

  • #### Aqui temos um exemplo simples: uma estratégia de ruptura de intervalos de N dias, ou em outras palavras, uma estratégia de ruptura de N raízes de K.

Então, em que mercado, essa estratégia de ruptura de tendência é mais fácil de ganhar dinheiro? Isso é natural, a tendência é evidente para um grande espaço ou a maioria dos mercados mais fácil de ganhar dinheiro. Mas se nós encontrarmos com o movimento de um padrão de correção, é possível que haja um problema de repetição de sinal de espaço.

Então, no campo de negociação programada, qual é o problema com esse N? Podemos definir N como 5, se a tendência for óbvia agora, então entraremos mais rapidamente. Mas se a tendência não for óbvia, de repente, isso é muito problemático. Então, quando a tendência for óbvia, podemos deixar N um pouco menor.

Em primeiro lugar, a tendência é muito óbvio que determina o tamanho de N. Se a tendência é óbvio, isso significa que o índice vai oscilar em grande proporção. Por outro lado, se a tendência é de liquidação, isso significa que o índice vai se organizar dentro de um determinado intervalo, ou seja, oscilação será menor.

Se, no início, definirmos N como 20, podemos calcular o diferencial padrão de 20 barras K, que aqui podemos chamar de V20. Se quisermos medir em pouco tempo, vamos assumir que temos 10 barras K, e calcular o diferencial padrão de 10 barras K, que é V10. Vamos ver em detalhe, de acordo com o código fonte da estratégia a seguir, como usar a variação da taxa de flutuação para alterar N.

  • #### A estratégia de ruptura em um intervalo de N dias:

Suponha que o preço de alta de hoje tenha batido o máximo dos últimos N dias e que o preço de baixa de hoje tenha batido o mínimo dos últimos N dias. Esta estratégia é mais adequada para produtos com tendências evidentes, especialmente produtos unilaterais.

Teste commodity equity index IF, usando dois gráficos, subgrupo 1 com um ciclo de 1 hour, subgrupo 2 com um ciclo de 1 day. O código é o seguinte:

  inputs: x(20),y(10) ;
  //定义波动率参数
  Vars: V20(10),V10(10),N2(10),N1(10),N(10);
  //定义变量

  V20=Volatility(x)of data2;
  V10=Volatility(y)of data2;
  //定义波动率取日线数据,取子图2的日线线数。这个Volatility函数是分别取20日跟10日ATR的移动平均数值
  if V10<>0 and N2<>0 then begin
  N1=(N*V20)/V10;
  //定义N1的值,前提让分母不为0时执行,
  //这N1=(N*V20)/V10是此参数自动化的核心, 代表你将原本固定N天的参考值改成会/根据V20和V10而变动的N1值, V20是较长期的,而V10是近期,大家看到这个公式应该可以发现,当你近期的波动率变大时,表示趋势出现,你的N1就会变小,而近期的波动率变得越小时,表示在盘整,N1就会变大,这样新的N变化似乎比较合理一点。

  N2=IntPortion(N1);
  //给N1取整赋值给N2
  end;

  value1=Average(high of data2,N2)of data2;
  value2=Average(low of data2,N2)of data2;
  //定义前N2天的高点跟低点的值给value1和value2

  if close crosses above value1  then begin
  buy next bar at market;
  end;
  //当价格上穿高点时买入或者反向

  if close crosses below value2  then begin
  sellshort next bar at market;
  end;
  //当价格下穿低点时开空或者反向
  • #### A estratégia de carregamento da imagem:

Estratégia inovadora de negociação programática: como fazer os parâmetros se moverem Estratégia inovadora de negociação programática: como fazer os parâmetros se moverem Estratégia inovadora de negociação programática: como fazer os parâmetros se moverem

Aqui está tudo sobre a automação de parâmetros de estratégia de ruptura, e esperamos que todos possam aprender e discutir conosco!