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
Sim, apenas para adicionar 2 x ATR
Olá, Mladen,
Você acha que é possível fazer a Média Móvel de Casco Adaptativo V2 ???
O período decimal parece funcionar .
CumprimentosO casco é baseado no LWMA e como o LWMA é estritamente baseado em barras, não seria tão suave em mudanças como as baseadas no EMA, por exemplo (sub-períodos dos 3 LWMAs calculados para obter o HULL devem ser valores inteiros) . Se substituirmos o LWMA no casco por EMA pode valer a pena tentar (e se evitarmos o arredondamento dos sub-períodoscalculados). É verdade que não seria mais um HULL, mas talvez fosse um bom HULL, e então seria perfeito para adaptação
O casco é baseado no LWMA e como o LWMA é estritamente baseado em barras, não seria tão suave em mudanças como as baseadas no EMA, por exemplo (sub-períodos dos 3 LWMAs calculados para obter o HULL devem ser valores inteiros) . Se substituirmos o LWMA no casco por EMA pode valer a pena tentar (e se evitarmos o arredondamento dos sub-períodos calculados). É verdade que não seria mais um HULL, mas talvez fosse um bom HULL, e então seria perfeito para a adaptação
Obrigado, vou tentar fazer com a Ema .
Obrigado, vou tentar fazer com a Ema .
Apenas não utilize o iMA() embutido para isso, pois ele arredonda os períodos para valores inteiros
Use esta função (ou algo similar) :
//
//------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
em 3 instâncias diferentes de cálculo. Os parâmetros são simples: preço, período, índice e número de instância
Apenas não utilize o iMA() embutido para isso, pois ele arredonda os períodos para valores inteiros
Use esta função (ou algo similar) :
//
//------------------------------------------------------------------
//
//
//
//
//
double workEma[][3];
double iEma(double price, double period, int r, int instanceNo=0)
{
if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;
//
//
//
//
//
double alpha = 2.0 / (1.0+period);
workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);
return(workEma[r]);
}
Eu devo apagar e colar aqui ???
duplo iT3(preço duplo, período duplo, duplo quente, bool clean, int i, int instanceNo=0)
{
if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);
if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);
se (workT3Coeffs[_periodo] != período)
{
workT3Coeffs[_período] = período;
duplo a = quente;
workT3Coeffs[_c1] = -a*a*a;
workT3Coeffs[_c2] = 3*a*a+3*a*a*a*a;
workT3Coeffs[_c3] = -6*a*a-3*a-3*a*a*a*a*a;
workT3Coeffs[_c4] = 1+3*a+a*a*a*a+3*a*a*a;
se (limpo)
workT3Coeffs[_alfa] = 2,0/(2,0 + (período-1,0)/2,0);
outros trabalhosT3Coeffs[_alfa] = (MathCos(2*Pi/período)+MathSin(2*Pi/período)-1)/MathCos(2*Pi/período);
}
Eu devo apagar e colar aqui ???
duplo iT3(preço duplo, período duplo, duplo quente, bool clean, int i, int instanceNo=0)
{
if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);
if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);
se (workT3Coeffs[_periodo] != período)
{
workT3Coeffs[_período] = período;
duplo a = quente;
workT3Coeffs[_c1] = -a*a*a;
workT3Coeffs[_c2] = 3*a*a+3*a*a*a*a;
workT3Coeffs[_c3] = -6*a*a-3*a-3*a*a*a*a*a;
workT3Coeffs[_c4] = 1+3*a+a*a*a*a+3*a*a*a;
se (limpo)
workT3Coeffs[_alfa] = 2,0/(2,0 + (período-1,0)/2,0);
outros trabalhosT3Coeffs[_alfa] = (MathCos(2*Pi/período)+MathSin(2*Pi/período)-1)/MathCos(2*Pi/período);
}sohocool
Postada uma versão de como pode ser feito (que ainda não é uma versão adaptativa) aqui : https://www.mql5.com/en/forum/174961/page10
Agora você tem que torná-lo adaptável (afinal, a idéia foi sua)
Olá Mladen,
A função adaptativa é muito interessante.
Eu fiz o adaptativo T3 com o "Exército Suíço" Alpha .
Podemos escolher 2 alphas: limpo ou exército suíço.
Cumprimentos.
PS: Se você quiser o período alfa normal, você pode usar alfa limpo: 2 x período.
Olá a todos,
acabo de acrescentar o canal ATR .
Indicador T3 usando desvio padrão para adaptação (T3 é muito bom para adaptação, pois seu comprimento de cálculo não precisa ser um número inteiro - por exemplo, você pode calcular um nnn.5 T3 - e isso dá um valor T3 perfeitamente suave mesmo quando a adaptação é aplicada a ele, o que não é um caso com alguns outros tipos de médias de adaptação)
PS: anexando o ex4 também para aqueles que possam ter problemas na compilação da fonte. Mesmo que o indicador seja escrito por mim desde a primeira carta até a última, minha construção se recusou a compilá-lo por algum tempo. Agora, do nada, ele o compila sem problemas, portanto não tenho certeza de que outra pessoa não terá o mesmo problema que eu tive. Para esse caso, faça o download do ex4 (ele é construído com o build 500)
PS: quando comparado aos indicadores T3 "regulares", o T3Original é falso (já que a maioria dos indicadores T3 usa o cálculo Fulks/Matulich e não o cálculo orginal Tim Tillson)Prezado Mladen
Seria possível converter o indicador anexo com "Cálculos T3 Adaptativos"!
Obrigado por qualquer ajuda
secretcode
Prezado Mladen
Seria possível converter o indicador anexo com "Cálculos T3 Adaptativos"!
Obrigado por qualquer ajuda
secretcodesecretcode
Aqui você vai Use os mesmos parâmetros padrão do indicador original (para que eles possam ser facilmente comparados - como esperado, este é muito mais rápido)
Olá, Mladen,
Você já pensou em fazer um arquivo de biblioteca coletando seus belos métodos de codificação para suavizar o preço, ou adaptar-se aos ciclos do mercado, etc. ? Penso que tal arquivo seria muito útil de muitas maneiras, pelo menos torne a estrutura de codificação em muitos de seus indicadores mais limpa e clara (eles já estão muito limpos e claros, eu sei mas sempre desejo melhor e busco mais excelente).
Pessoalmente, adoro ter um arquivo de tal tipo da sua autoria, o mesmo que seu famoso DynamicZone.dll . Todos eles tornam o mundo da codificação cada vez mais interessante e conveniente, pelo menos para mim.