![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Qualquer um por favor poste MTF Fisher ou Vento Solar Sem repintura com indicador de alerta ....
Você pode usar o que está neste post : https://www.mql5.com/en/forum/173574/page360
É uma versão multitemporal com alertas já
Indicador de FDI
Recentemente eu estava brincando com HE no MATLAB, pois estou tentando ir mais fundo na estrutura de dados FX e infelizmente tenho más notícias sobre o indicador de IDE de John
neste post eu cheguei à conclusão de que o uso do HE para comércio é meio inútil por ser instável - HE foi calculado pela função MATLAB wfbmesti usando 3 métodos diferentes
https://www.mql5.com/en/forum/178285/page6
Do que eu comparei esta produção com a de John que parecia muito mais estável e suave e comecei a suspeitar - Johns suaviza o preço duas vezes antes e depois dos cálculos. Bem, talvez seja bom fazer isso depois, mas antes eu suspeitava que poderia destruir a estrutura de distribuição.
Então eu fiz a experiência. Gerei o Brownian Motion fracionário com o conhecido valor HE e calculei HE a partir dele como referência.
Então eu alisei a série gerada e calculei o HE para ver se há um impacto de alisamento para o HE:
H = 0.6; lg = 10000;
% Generate 100 wavelet-based fBm realizations for H = 0.6
% and compute the three estimates for each of them
n = 100; Hest = zeros(n,3);
for i = 1:n
fBm06 = wfbm(H,lg);
Hest(i,:) = wfbmesti(fBm06);
end
mean (Hest)
ans =
0.5927 0.5927 0.5648[/CODE]
Values of HE of generated series are around 0.6 as expected. John uses this formula for smoothing
Smooth = (Price + 2 * Price[1] + 2 * Price[2] + Price[3] ) / 6 ;
so
[CODE]n = 100; Hest2 = zeros(n,3);H = 0.6; lg = 10000;
for i = 1:n
fBm06 = wfbm(H,lg);
for ii = 4:lg
fBm06(ii) = (fBm06(1,ii) + 2 * fBm06(1,ii-1) + 2 * fBm06(1,ii-2) + fBm06(1,ii-3) ) / 6 ;
end
Hest2(i,:) = wfbmesti(fBm06(:,4:end));
end
mean (Hest2)
ans =
0.7013 0.5977 0.8760
então não mais em torno de 0,6 como deveria ser !!!! A distribuição e a estrutura são afetadas!!! Parece que apenas o método 2
O método Johns sobreviveu a isto (derivado discreto de segunda ordem, baseado em ondas).
Ao lado disto dos postes com link acima quando eu removi o alisamento do código FDI e o gráfico 2-FDI (então HE) este valor é completamente diferente do valor HE gerado pelo MATLAB
Portanto, em resumo, eu não confiaria neste indicador e em qualquer outro que clone seu código!!!
Krzysztof
Krzysztof
Eles estão falando sobre este MA : https://www.mql5.com/en/forum/182120
Se estiverem, não creio que estejam no caminho certo (francamente, é muito complicado de usar e os resultados não são os que se esperaria de uma boa média/filtro).
Não a pergunta se algo é superior à mãe de Ehlers (Ehlers não é bom no campo das MA - algumas de suas tentativas como a que ele chamou de "zero lag ma" são francamente tudo menos sérias), mas uma comparação com alguns filtros muito melhores vem imediatamente à mente e então essa mãe não vai ser tão brilhantePrezado mladen,
Confira, por favor...![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
Agradecimentos em adiantado
Prezado mladen,
Confira, por favor...![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
Agradecimentos em adiantadoCzar
Mesmo que não sejam os mesmos (o código é diferente e é óbvio que é escrito por pessoas diferentes), os valores calculados são exatamente os mesmos quando os parâmetros são os mesmos (tanto para o resultado final quanto para o resultado "primário"). Portanto, esses dois são duas versões do mesmo indicador
TsarEven, embora não sejam os mesmos (o código é diferente e é óbvio que é escrito por pessoas diferentes), os valores calculados são exatamente os mesmos quando os parâmetros são os mesmos (tanto para o resultado final quanto para o resultado "primário"). Portanto, esses dois são duas versões do mesmo indicador
Muito obrigado pelo esclarecimento![](https://c.mql5.com/forextsd/smiles/You_Rock_Emoticon.png)
Assim como uma curiosidade - aqui está o que John Ehlers chamou de "EMA zero lag" (código da estação de comércio)
Length( 20 ),
GainLimit( 50 ),
Thresh( 1 ), { see article for threshold explanation }
UseThreshold( true ), { if true, then the threshold is used for the
ShowMe dots and crossing alert - see notes below }
DrawMALines( true ), { if true, the Moving Average lines are plotted }
DrawShowMeDots( false ), { if true, ShowMe dots are plotted when a cross
of EC and EMA are detected }
DotOffsetTicks( 10 ), { offset for the ShowMe dots }
DrawPaintBars( false ) ; { draw PaintBars, color depending on EC > EMA }
variables:
ATick( 0 ),
alpha( 0 ),
Gain( 0 ),
BestGain( 0 ),
EC( 0 ),
Error( 0 ),
LeastError( 0 ),
EMA( 0 ),
CrossOver( false ),
CrossUnder( false ) ;
if CurrentBar = 1 then
ATick = MinMove / PriceScale ; { calculate value of a tick }
alpha = 2 / ( Length + 1 ) ;
EMA = alpha * Close + ( 1 - alpha ) * EMA[1] ;
LeastError = 1000000 ;
for Value1 = -GainLimit to GainLimit
begin
Gain = Value1 / 10 ;
EC = alpha *( EMA + Gain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;
Error = Close - EC ;
If AbsValue( Error ) < LeastError then
begin
LeastError = AbsValue( Error ) ;
BestGain = Gain ;
end ;
end ;
EC = alpha * ( EMA + BestGain * ( Close - EC[1] ) ) + ( 1 - alpha ) * EC[1] ;
if DrawMALines then
begin
Plot1( EC, "EC" ) ;
Plot2( EMA, "EMA" ) ;
end ;Não deve ser tomado serriamente, pois é um dos casos em que John Ehlers estava pulando primeiro e só depois pensando no que fazer (essa é a razão pela qual também não é convertido em metatrader)
Pode ser convertido em metatrader, no entanto?
Pode ser convertido em metatrader, no entanto?
Acredite em mim, é melhor não fazê-lo. Essa é uma forma artificial de ajustar um valor (EMA) a outro valor (preço). Acredito que se ele pudesse, John Ehlers revogaria esse código agora, já que é tudo menos um código sério e médio.
Acredite em mim, é melhor não. Essa é uma forma artificial de ajustar um valor (EMA) a outro valor (preço). Acredito que se pudesse, John Ehlers revogaria agora esse código, já que é tudo menos um código sério e médio.
É tão ruim assim?
É tão ruim assim?
Isso não é algo de que ninguém deva se orgulhar, muito menos John Ehlers. Ele deveria ter pensado muito mais antes de publicar uma coisa dessas e chamá-la de "EMA zero lag".