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
Fantástico - funciona muito bem mladen! Muito obrigado.
Um par de pedidos se não fosse muito incômodo:
1. Enquanto 4 MA estão todos em sincronia, os preços recuam e tocam um MA designado
( neste caso o 2º MA mais curto, o EMA vermelho 15 ) eu gostaria que uma seta e um alerta fossem produzidos.
Eu então mudaria para um tempo menor de 1M para procurar por um sinal curto ali.
Introduzo linhas horizontais e verticais para que seja fácil localizar onde procurar (ponto A) em um intervalo de tempo menor de 1 M.
2. Posso pedir aos 4 ma synch indy que procurem apenas dois ou três ma's para estarem em sincronia, a fim de mostrar a barra de histograma? (veja o anexo de 1m de condições para o que estou tentando fazer aqui)
pessoa77
Receio que este indicador não tenha sido projetado ou previsto para mostrar toques nos preços. Também tenho certeza de que esses indicadores já são bons indicadores que estão fazendo exatamente esse tipo de trabalho.
A partir de 2 e 3 mas versão : simplesmente substitua o "" no código onde você vê a comparação que vai como "se (ma1<ma2 && ma2<3" ... e assim por diante, por "=" e então defina 2 mas para os mesmos valores para 3 mas diferentes ou 2 pares de mas para os mesmos valores para ter 2 mas mostrados pelo indicador
mladen
Obrigado pela sugestão.
Minha codificação está ao lado de inútil!
Mudei os > e < para = mas recebi alguns erros na compilação.
O que eu preciso fazer de diferente?
//------------------------------------------------------------------
#propriedade copyright "www.forex-tsd.com"
#link da propriedade "www.forex-tsd.com"
//------------------------------------------------------------------
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 2
#indicador de propriedade_color1 LimeGreen
#indicador de propriedade_color2 DarkOrange
#largura_do_indicador de propriedade1 2
#largura_do_indicador de propriedade2 2
#indicador de propriedade_mínimo 0
#indicador de propriedade_máximo 1
externo int período Ma1P = 5;
preço externo int Ma1Preço = PREÇO_CLOSE;
externo int Ma1Método = MODE_EMA;
externo int Ma1Shift = 0;
externo int Ma2Period = 15;
externo int Ma2Preço = PREÇO_PREÇO_PREÇO;
externo int Ma2Método = MODE_EMA;
externo int Ma2Shift = 0;
externo int Ma3Period = 28;
externamente int Ma3Preço = PREÇO_PREÇO_PREÇO;
externamente int Ma3Método = MODE_EMA;
externo int Ma3Shift = 0;
externo int Ma4Period = 45;
externo int Ma4Preço = PREÇO_PREÇO_PREÇO;
externamente int Ma4Método = MODE_EMA;
externo int Ma4Shift = 0;
//
//
//
//
//
dobro histu[];
duplo histu[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
int deinit() { return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted();
se (counted_bars < 0) retorno(-1);
se (barras_contadas > 0) barras_contadas..;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(int i = limite; i >=0; i--)
{
duplo ma1 = iMA(NULL,0,Ma1Periodo,Ma1Shift,Ma1Método,Ma1Preço,i);
duplo ma2 = iMA(NULL,0,Ma2Periodo,Ma2Shift,Ma2Método,Ma2Preço,i);
duplo ma3 = iMA(NULL,0,Ma3Periodo,Ma3Shift,Ma3Método,Ma3Preço,i);
duplo ma4 = iMA(NULL,0,Ma4Periodo,Ma4Shift,Ma4Método,Ma4Preço,i);
histu = EMPTY_VALUE;
histd = EMPTY_VALUE;
if(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
if(ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
retorno(0);
}
oi
E quanto ao gráfico renko 2min usando MA?
obrigado antecipadamente
mladen
Obrigado pela sugestão.
Minha codificação está ao lado de inútil!
Mudei os > e < para = mas recebi alguns erros na compilação.
O que eu preciso fazer de diferente?
//------------------------------------------------------------------
#propriedade copyright "www.forex-tsd.com"
#link da propriedade "www.forex-tsd.com"
//------------------------------------------------------------------
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 2
#indicador de propriedade_color1 LimeGreen
#indicador de propriedade_color2 DarkOrange
#largura_do_indicador de propriedade1 2
#largura_do_indicador de propriedade2 2
#indicador de propriedade_mínimo 0
#indicador de propriedade_máximo 1
externo int período Ma1P = 5;
preço externo int Ma1Preço = PREÇO_CLOSE;
externo int Ma1Método = MODE_EMA;
externo int Ma1Shift = 0;
externo int Ma2Period = 15;
externo int Ma2Preço = PREÇO_PREÇO_PREÇO;
externo int Ma2Método = MODE_EMA;
externo int Ma2Shift = 0;
externo int Ma3Period = 28;
externamente int Ma3Preço = PREÇO_PREÇO_PREÇO;
externamente int Ma3Método = MODE_EMA;
externo int Ma3Shift = 0;
externo int Ma4Period = 45;
externamente int Ma4Price = PREÇO_PREÇO_PREÇO;
externamente int Ma4Método = MODE_EMA;
externo int Ma4Shift = 0;
//
//
//
//
//
dobro histu[];
duplo histu[];
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int init()
{
SetIndexBuffer(0,histu); SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexBuffer(1,histd); SetIndexStyle(1,DRAW_HISTOGRAM);
return(0);
}
int deinit() { return(0); }
//------------------------------------------------------------------
//
//------------------------------------------------------------------
//
//
//
//
//
int start()
{
int counted_bars = IndicatorCounted();
se (counted_bars < 0) retorno(-1);
se (barras_contadas > 0) barras_contadas..;
int limit = MathMin(Bars-counted_bars,Bars-1);
//
//
//
//
//
for(int i = limite; i >=0; i--)
{
duplo ma1 = iMA(NULL,0,Ma1Periodo,Ma1Shift,Ma1Método,Ma1Preço,i);
duplo ma2 = iMA(NULL,0,Ma2Periodo,Ma2Shift,Ma2Método,Ma2Preço,i);
duplo ma3 = iMA(NULL,0,Ma3Periodo,Ma3Shift,Ma3Método,Ma3Preço,i);
duplo ma4 = iMA(NULL,0,Ma4Periodo,Ma4Shift,Ma4Método,Ma4Preço,i);
histu = EMPTY_VALUE;
histd = EMPTY_VALUE;
if(ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;
if(ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;
}
retorno(0);
}pessoa77
Você deveria ter substituído "<" por "" por ">=" (não apenas "=")
_____________________
PS: esqueceu de dizer que 2 MAs estão sempre em sincronia
Isso funciona perfeitamente!
Obrigado mladen.
Média móvel adaptativa Kaufman
Média móvel adaptativa Kaufman (por Alexander Gettinger)
Formulas:
KAMA = KAMA+sc*(Price-KAMA), onde
sc = (er*0,6015+0,0645)*(er*0,6015+0,0645),
er = Abs(Price-Price)/Sum1,
Sum1 = Sum(Abs(Price-Price)) de (i-Length+1) a i.
Duas versões de regressão linear (do mesmo autor)
Kaufman AMA pré-filtrado
Preparando o Kaufman AMA (média móvel adaptável) para algumas outras coisas, e aqui está uma versão que tem uma maneira muito simplificada de usar (o cálculo ama é feito uma função agora). Ele também pode ter preço por filtragem (em vez de usar preço bruto, pode ser usado preço filtrado (para transformar a filtragem de, defina o PriceFilter para 1)
MA28 (por Alexander Gettinger)
seria possível, por favor, tornar o indicador multitemporal? obrigado
Preparando o Kaufman AMA (média móvel adaptável) para algumas outras coisas, e aqui está uma versão que tem uma maneira muito simplificada de usar (o cálculo ama é feito uma função agora). Ele também pode ter preço por filtragem (em vez de usar preço bruto, pode ser usado preço filtrado (para transformar a filtragem de, defina o PriceFilter para 1)