Indicadores: FivePattern

 

FivePattern:

Um indicador de formas técnicas por Merrill. М & W Wave Patterns por A. Merrill.

FivePattern

Autor: Andrey Emelyanov

 

O desenvolvimento é interessante,

mas não entendo o que estou fazendo de errado, porque quando compilo ele dá erros

 
vspexp 2014.05.22 03:53    RU

O desenvolvimento é interessante,

mas não entendo o que estou fazendo de errado, porque ao compilar ele dá erros.


O problema está nos nomes dos arquivos carregados, você precisa remover terminações como __1.
 
Ern.CheGevarra:
O problema está nos nomes dos arquivos carregados, você precisa remover terminações como __1.
Muito obrigado, isso ajudou!
 

Caros membros do fórum, quem tiver ideias e sugestões sobre como aprimorar o código (especialmente em relação ao cálculo da previsão), escreva no fórum sem hesitar! ESSA NÃO É A VARIAÇÃO FINAL DO CÓDIGO, MAS APENAS O COMEÇO...
 
Sobre o algoritmo de ziguezague - para um cálculo mais correto, a ideia é obter dados do período de minutos.
 
Ern.CheGevarra:
Sobre o algoritmo Ziguezague - para um cálculo mais correto, a ideia é obter dados do período de minutos.
Sua ideia é boa, mas agora estou trabalhando no algoritmo Ziguezague, em que os valores são amostrados não pelo filtro de desvio, mas pelo filtro de porcentagem. Dessa forma, me livrarei do vínculo rígido com o preço. Mas também adicionarei sua ideia para que eu tenha algo com que compará-la.
 

Respeito e respeito pelo indicador, mais códigos significativos como esse na base!

 
Publiquei minha versão do ziguezague na base. Sem minutos.
 

Boa tarde!

Estou postando uma nova (segunda) versão do indicador FivePattern. Desta vez, essa versão é para gerar sinais de negociação(ou seja, versão de negociação). Ele tem 5 buffers de indicador integrados (muito - eu sei, estou pensando em como evitar isso, mas todos eles são necessários para gerar sinais de negociação). Brevemente sobre os buffers:

0 ExtPointE[] - armazena valores do ponto E; se o preço estiver próximo a esse ponto, podemos esperar um movimento em direção aos pontos de evolução/mutação;

1 ExtDeltaDE[] - armazena o valor do comprimento de onda D-E em pontos(presumo que esse valor será útil nos algoritmos de média do ponto E); Código de exemplo:

double RateRisk; // Процент риска

MqlTick now_tick;

SymbolInfoTick(_Symbol,now_tick);

if((now_tick.ask >= (ExtPointE[rate_total-1]-ExtDeltaDE[rate_total-1]*RateRisk*_Point))&&(now_tick.ask <= (ExtPointE[rate_total-1]+ExtDeltaDE[rate_total-1]*RateRisk*_Point)))

  { ...;// Генерировать сигнал} else ...;// Не генерировать сигнал

2 ExtEvolution[] - armazena o valor da previsão do movimento do preço no caso de evolução do modelo;

3 ExtMutation[] - armazena o valor da previsão de movimentação de preço no caso de mutação do modelo;

4 ExtSumModel[] - armazena o valor = count_evolution/(count_evolution+count_mutation) . Para obter mutation_count = 1 - ExtSumModel[rate_total-1] . Necessário para definir a ponderação dinâmica dos sinais de negociação.

Alterações:

1. Adicionado o código "anti-flat" ao definir o ponto E;

2. Adicionado o código "verificando a dimensionalidade da onda D-E", ou seja, agora corrijo o ponto E se ele for menor que o valor esperado (reduziu significativamente o número de redesenhos do ponto E e melhorou a previsão);

3. Revisei o código de previsão de movimento de preços (Evolution/Mutation level_0);

4. O indicador é calculado com base em todo o histórico disponível do terminal, ou seja, o contador do modelo mostra o valor real, não o clima em Marte :-)

5. Corrigido o desenho dos pontos de seta, agora eles estão quase sempre no meio, e não na parte inferior como antes;

6. Adicionado um ícone ao projeto.

O que eu não tive tempo de fazer:

1. Adicionar a capacidade de selecionar métodos de cálculo de Ziguezague. Eu realmente queria fazer isso, mas não tive tempo, e não é uma boa ideia publicar código mal depurado em versões pares ;-).

2. Cálculo de evoluções/mutações de nível 1, há vestígios disso no código, mas eu não o usaria.... por enquanto é um teste de caneta.

Arquivos anexados:
 

Ele gera erros durante a compilação.