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
Caro senhor MLADEN, não consegui encontrar um indicador que simplesmente traça as parcelas do dia anterior de alta e baixa, excluindo os domingos. Tenho usado o indicador anexo e esperava que ele pudesse ser modificado para excluir os dados dos domingos. Obrigado antecipadamente por sua assistência.
daytrade5
Deve ser isto. Experimente : prevday_hilo_no_sunday.mq4
daytrade5 É o que deve ser. Experimente : prevday_hilo_no_sunday.mq4
Mladen,
Isto é absolutamente perfeito. Muito obrigado por sua ajuda.
Hi,
Eu sei que isso é um pouco vago, mas será que isso afeta as funções de uma EA de alguma forma importante e, se sim, o que preciso procurar para retificá-la? A questão é 36 Avisos de "matrizes passadas apenas por referência" existe uma certa maneira de lidar com as matrizes com este novo MT4. Obrigado por qualquer esclarecimento sobre isto.
Olá, eu sei que isso é um pouco vago, mas será que isso afeta as funções de uma EA de alguma forma importante e, se sim, o que preciso procurar para retificá-la? A questão é 36 Avisos de "matrizes passadas apenas por referência" existe uma certa maneira de lidar com as matrizes com este novo MT4. Obrigado por qualquer esclarecimento sobre isto
cja
Não deve afetá-lo, pois o compilador deve convertê-lo automaticamente
Para evitar esse aviso, simplesmente adicione "&" após a declaração do tipo array na declaração de função (assim, em vez de "exemplo nulo(double arrayPassedByReference[])" use "exemplo nulo(double& arrayPassedByReference[])")
Caro Mladen e qualquer pessoa,
Você sabe como o código abaixo criasinais de compra-venda? Diz: ''Série de matriz que contém preços abertos-fechados-altos-baixos de cada barra''''Curvas Indicadoras criadas: Implementos de uma curva do tipo DRAW_HISTOGRAM'' Até onde eu vejo, não' repintar.
Obrigado.
double W_Buffer1[];
double R_Buffer0[];
double R_Buffer1[];
double S_Buffer0[];
double S_Buffer1[];
double E_Buffer0[];
double E_Buffer1[];
int R_t3_period=21;
double R_b=0.8;
extern int R_mBar=0;
double W_e1, W_e2, W_e3, W_e4, W_e5, W_e6, W_c1, W_c2, W_c3, W_c4, W_n, W_w1, W_w2, W_b2, W_b3;
double W_t3, W_shift, W_wpr, W_trig, W_t3_period, W_b, W_per, W_psel, W_pbuy;
bool R_ft=True;
double R_e1, R_e2, R_e3, R_e4, R_e5, R_e6, R_c1, R_c2, R_c3, R_c4, R_n, R_w1, R_w2, R_b2, R_b3;
double R_t3[];
int R_LoopBegin, R_shift;
int init()
{
//---- indicators
SetIndexStyle (0,DRAW_NONE);
SetIndexBuffer (0,W_Buffer0);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexStyle (1,DRAW_NONE);
SetIndexBuffer (1,W_Buffer1);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexStyle (2,DRAW_NONE);
SetIndexBuffer (2,R_Buffer0);
SetIndexEmptyValue(2,EMPTY_VALUE);
SetIndexStyle (3,DRAW_NONE);
SetIndexBuffer (3,R_Buffer1);
SetIndexEmptyValue(3,EMPTY_VALUE);
SetIndexStyle (4,DRAW_ARROW,EMPTY,2);
SetIndexArrow (4,241);
SetIndexBuffer (4,S_Buffer0);
SetIndexEmptyValue(4,EMPTY_VALUE);
SetIndexStyle (5,DRAW_ARROW,EMPTY,2);
SetIndexArrow (5,242);
SetIndexBuffer (5,S_Buffer1);
SetIndexEmptyValue(5,EMPTY_VALUE);
SetIndexStyle (6,DRAW_ARROW,EMPTY,2);
SetIndexArrow (6,251);
SetIndexBuffer (6,E_Buffer0);
SetIndexEmptyValue(6,EMPTY_VALUE);
SetIndexStyle (7,DRAW_ARROW,EMPTY,2);
SetIndexArrow (7,251);
SetIndexBuffer (7,E_Buffer1);
SetIndexEmptyValue(7,EMPTY_VALUE);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
W_t3_period=8;
W_b=0.8;
W_per=21;
W_psel=-30;
W_pbuy=-70;
W_b2=W_b*W_b;
W_b3=W_b2*W_b;
W_c1=-W_b3;
W_c2=(3*(W_b2+W_b3));
W_c3=-3*(2*W_b2+W_b+W_b3);
W_c4=(1+3*W_b+W_b3+3*W_b2);
W_n=W_t3_period;
if (W_n<1) W_n=1;
W_n = 1 + 0.5*(W_n-1);
W_w1 = 2 / (W_n + 1);
W_w2 = 1 - W_w1;
if (R_mBar==0) R_LoopBegin=Bars;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars);
for(int i=0; i<R_LoopBegin; i++)
{
W_wpr=iWPR(NULL,0,W_per,i);
W_e1 = W_w1*W_wpr + W_w2*W_e1;
W_e2 = W_w1*W_e1 + W_w2*W_e2;
W_e3 = W_w1*W_e2 + W_w2*W_e3;
W_e4 = W_w1*W_e3 + W_w2*W_e4;
W_e5 = W_w1*W_e4 + W_w2*W_e5;
W_e6 = W_w1*W_e5 + W_w2*W_e6;
W_t3 = W_c1*W_e6 + W_c2*W_e5 + W_c3*W_e4 + W_c4*W_e3;
if (W_t3>=-50) W_trig=W_psel;
if (W_t3<-50) W_trig=W_pbuy;
W_Buffer0=W_t3;
W_Buffer1=W_trig;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
ArrayResize(R_t3, R_LoopBegin);
if (R_ft) {
R_b2=R_b*R_b;
R_b3=R_b2*R_b;
R_c1=-R_b3;
R_c2=(3*(R_b2+R_b3));
R_c3=-3*(2*R_b2+R_b+R_b3);
R_c4=(1+3*R_b+R_b3+3*R_b2);
R_n=R_t3_period;
if (R_n<1) R_n=1;
R_n=1+0.5*(R_n-1);
R_w1=2/(R_n+1);
R_w2=1-R_w1;
R_ft=False;
}
for (R_shift=R_LoopBegin; R_shift>=0; R_shift--) {
R_e1=R_w1*Close[R_shift]+R_w2*R_e1;
R_e2=R_w1*R_e1+R_w2*R_e2;
R_e3=R_w1*R_e2+R_w2*R_e3;
R_e4=R_w1*R_e3+R_w2*R_e4;
R_e5=R_w1*R_e4+R_w2*R_e5;
R_e6=R_w1*R_e5+R_w2*R_e6;
R_t3[R_shift]=R_c1*R_e6+R_c2*R_e5+R_c3*R_e4+R_c4*R_e3;
if (R_t3[R_shift+1]<=R_t3[R_shift]) R_Buffer0[R_shift]=R_t3[R_shift]; else R_Buffer0[R_shift]=0;
if (R_t3[R_shift+1]>R_t3[R_shift]) R_Buffer1[R_shift]=R_t3[R_shift]; else R_Buffer1[R_shift]=0;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
for (int cnt=0;cnt<=R_LoopBegin;cnt++)
{
if(R_Buffer0[cnt]>0 && R_Buffer1[cnt+1]>0 && W_Buffer0[cnt]>W_Buffer0[cnt+1] && W_Buffer0[cnt+1]>W_psel) S_Buffer0[cnt]=Low[cnt]-6*Point; else S_Buffer0[cnt]=0;
if(R_Buffer1[cnt]>0 && R_Buffer0[cnt+1]>0 && W_Buffer0[cnt]<W_Buffer0[cnt+1] && W_Buffer0[cnt+1]<W_pbuy) S_Buffer1[cnt]=High[cnt]+6*Point; else S_Buffer1[cnt]=0;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
for (cnt=0;cnt<=R_LoopBegin;cnt++)
{
if(W_Buffer0[cnt]W_psel) E_Buffer0[cnt]=High[cnt]+6*Point; else E_Buffer0[cnt]=0;
if(W_Buffer0[cnt]>W_pbuy && W_Buffer0[cnt+1]<W_pbuy) E_Buffer1[cnt]=Low[cnt]-6*Point; else E_Buffer1[cnt]=0;
}Caro Mladen e qualquer pessoa,
Você sabe como o código abaixo cria sinais de compra-venda? Diz: ''Série de matriz que contém preços abertos-fechados-altos-baixos de cada barra''''Curvas Indicadoras criadas: Implementos de uma curva do tipo DRAW_HISTOGRAM'' Até onde eu vejo, não' repintar.
Obrigado.
double W_Buffer1[];
double R_Buffer0[];
double R_Buffer1[];
double S_Buffer0[];
double S_Buffer1[];
double E_Buffer0[];
double E_Buffer1[];
int R_t3_period=21;
double R_b=0.8;
extern int R_mBar=0;
double W_e1, W_e2, W_e3, W_e4, W_e5, W_e6, W_c1, W_c2, W_c3, W_c4, W_n, W_w1, W_w2, W_b2, W_b3;
double W_t3, W_shift, W_wpr, W_trig, W_t3_period, W_b, W_per, W_psel, W_pbuy;
bool R_ft=True;
double R_e1, R_e2, R_e3, R_e4, R_e5, R_e6, R_c1, R_c2, R_c3, R_c4, R_n, R_w1, R_w2, R_b2, R_b3;
double R_t3[];
int R_LoopBegin, R_shift;
int init()
{
//---- indicators
SetIndexStyle (0,DRAW_NONE);
SetIndexBuffer (0,W_Buffer0);
SetIndexEmptyValue(0,EMPTY_VALUE);
SetIndexStyle (1,DRAW_NONE);
SetIndexBuffer (1,W_Buffer1);
SetIndexEmptyValue(1,EMPTY_VALUE);
SetIndexStyle (2,DRAW_NONE);
SetIndexBuffer (2,R_Buffer0);
SetIndexEmptyValue(2,EMPTY_VALUE);
SetIndexStyle (3,DRAW_NONE);
SetIndexBuffer (3,R_Buffer1);
SetIndexEmptyValue(3,EMPTY_VALUE);
SetIndexStyle (4,DRAW_ARROW,EMPTY,2);
SetIndexArrow (4,241);
SetIndexBuffer (4,S_Buffer0);
SetIndexEmptyValue(4,EMPTY_VALUE);
SetIndexStyle (5,DRAW_ARROW,EMPTY,2);
SetIndexArrow (5,242);
SetIndexBuffer (5,S_Buffer1);
SetIndexEmptyValue(5,EMPTY_VALUE);
SetIndexStyle (6,DRAW_ARROW,EMPTY,2);
SetIndexArrow (6,251);
SetIndexBuffer (6,E_Buffer0);
SetIndexEmptyValue(6,EMPTY_VALUE);
SetIndexStyle (7,DRAW_ARROW,EMPTY,2);
SetIndexArrow (7,251);
SetIndexBuffer (7,E_Buffer1);
SetIndexEmptyValue(7,EMPTY_VALUE);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
W_t3_period=8;
W_b=0.8;
W_per=21;
W_psel=-30;
W_pbuy=-70;
W_b2=W_b*W_b;
W_b3=W_b2*W_b;
W_c1=-W_b3;
W_c2=(3*(W_b2+W_b3));
W_c3=-3*(2*W_b2+W_b+W_b3);
W_c4=(1+3*W_b+W_b3+3*W_b2);
W_n=W_t3_period;
if (W_n<1) W_n=1;
W_n = 1 + 0.5*(W_n-1);
W_w1 = 2 / (W_n + 1);
W_w2 = 1 - W_w1;
if (R_mBar==0) R_LoopBegin=Bars;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars);
for(int i=0; i<R_LoopBegin; i++)
{
W_wpr=iWPR(NULL,0,W_per,i);
W_e1 = W_w1*W_wpr + W_w2*W_e1;
W_e2 = W_w1*W_e1 + W_w2*W_e2;
W_e3 = W_w1*W_e2 + W_w2*W_e3;
W_e4 = W_w1*W_e3 + W_w2*W_e4;
W_e5 = W_w1*W_e4 + W_w2*W_e5;
W_e6 = W_w1*W_e5 + W_w2*W_e6;
W_t3 = W_c1*W_e6 + W_c2*W_e5 + W_c3*W_e4 + W_c4*W_e3;
if (W_t3>=-50) W_trig=W_psel;
if (W_t3<-50) W_trig=W_pbuy;
W_Buffer0=W_t3;
W_Buffer1=W_trig;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
ArrayResize(R_t3, R_LoopBegin);
if (R_ft) {
R_b2=R_b*R_b;
R_b3=R_b2*R_b;
R_c1=-R_b3;
R_c2=(3*(R_b2+R_b3));
R_c3=-3*(2*R_b2+R_b+R_b3);
R_c4=(1+3*R_b+R_b3+3*R_b2);
R_n=R_t3_period;
if (R_n<1) R_n=1;
R_n=1+0.5*(R_n-1);
R_w1=2/(R_n+1);
R_w2=1-R_w1;
R_ft=False;
}
for (R_shift=R_LoopBegin; R_shift>=0; R_shift--) {
R_e1=R_w1*Close[R_shift]+R_w2*R_e1;
R_e2=R_w1*R_e1+R_w2*R_e2;
R_e3=R_w1*R_e2+R_w2*R_e3;
R_e4=R_w1*R_e3+R_w2*R_e4;
R_e5=R_w1*R_e4+R_w2*R_e5;
R_e6=R_w1*R_e5+R_w2*R_e6;
R_t3[R_shift]=R_c1*R_e6+R_c2*R_e5+R_c3*R_e4+R_c4*R_e3;
if (R_t3[R_shift+1]<=R_t3[R_shift]) R_Buffer0[R_shift]=R_t3[R_shift]; else R_Buffer0[R_shift]=0;
if (R_t3[R_shift+1]>R_t3[R_shift]) R_Buffer1[R_shift]=R_t3[R_shift]; else R_Buffer1[R_shift]=0;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
for (int cnt=0;cnt<=R_LoopBegin;cnt++)
{
if(R_Buffer0[cnt]>0 && R_Buffer1[cnt+1]>0 && W_Buffer0[cnt]>W_Buffer0[cnt+1] && W_Buffer0[cnt+1]>W_psel) S_Buffer0[cnt]=Low[cnt]-6*Point; else S_Buffer0[cnt]=0;
if(R_Buffer1[cnt]>0 && R_Buffer0[cnt+1]>0 && W_Buffer0[cnt]<W_Buffer0[cnt+1] && W_Buffer0[cnt+1]<W_pbuy) S_Buffer1[cnt]=High[cnt]+6*Point; else S_Buffer1[cnt]=0;
}
if (R_mBar==0) R_LoopBegin=Bars-R_t3_period-1;
else R_LoopBegin=R_mBar;
R_LoopBegin=MathMin(R_LoopBegin, Bars-R_t3_period-1);
for (cnt=0;cnt<=R_LoopBegin;cnt++)
{
if(W_Buffer0[cnt]W_psel) E_Buffer0[cnt]=High[cnt]+6*Point; else E_Buffer0[cnt]=0;
if(W_Buffer0[cnt]>W_pbuy && W_Buffer0[cnt+1]<W_pbuy) E_Buffer1[cnt]=Low[cnt]-6*Point; else E_Buffer1[cnt]=0;
}É uma combinação de sinais de wpr alisado t3 e um simples t3
Mas a última parte é feita do futuro para o passado (algo semelhante ao sidus e ao vento solar), então eu teria cuidado ao utilizá-la
Olá Querida Mladen. É possível fazer barras Step ma?
Olá Prezado Mladen. É possível fazer barras Step ma?
Você quer dizer barras coloridas dependendo da cor do degrau ma?
Você quer dizer barras coloridas dependendo da cor do degrau ma?
Sim, você está certo.
Sim, você está certo.
Air92
Lançada uma versão aqui : https://www.mql5.com/en/forum/173044/page12