Ajuda na codificação - página 427

 
AtApi:
Obrigado mladen embora não seja exatamente o que estou procurando...o doublezigzag não pinta de novo (ambos alinhados em ziguezague) porque é baseado em fractais ...esse ponto é aquele de onde eu gostaria de construir o triângulo...

itried para modificar um pouco o código a fim de obter o 2 sinal superior mais recente e o 2 sinal inferior mais recente, mas estou meio preso...deixe-me mostrar o que estou tentando fazer:

esta parte é a que pinta o sinal quando ambos os ziguezagues estão alinhados:

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

então eu deveria ter o recente de ExtMapBuffer3 e o mais antigo de HighOldest

então eu terei o 2 ponto para construir as linhas de tendência.

mas por alguma razão deve haver um VALOR_VALOR VAZIO em algum lugar no buffer porque quando eu fizer ArrayMaximum ele retornará o valor EMPY_VALUE como valor Maximun no array

espero que seja claro...

Não se preocupe, eu já resolvi!

 
mladen:
TFIVocê tem um parâmetro extra que não deve estar lá: o "" após o nome do indicador (após "Efficiency_v1.1"). Apagar a parte "" (string vazia) após o nome do indicador

Olá, Mladen,

muito obrigado por sua sugestão. Pergunto-me se posso ter pegado o sinal do filtro de forma errada, porque a EA não está mais abrindo uma negociação mesmo que a restrição para abrir uma negociação longa / curta seja cumprida (a linha zero é cruzada). Você poderia provavelmente rever meu código com sua experiência?

Muito obrigado (novamente) :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

Com os melhores cumprimentos,

TFI

Arquivos anexados:
betrade.jpg  76 kb
 

Olá a todos, estou usando o indicador (manual) AbsoluteStrength.

Alguém pode acrescentar Alarme, quando a linha azul é cruzada com linha azul tracejada ou a linha vermelha é cruzada com linha vermelha tracejada (como mostrado na captura de tela anexa).

allabsolutestrength_v2.3_600.mq4

Muito obrigado

Petr Jahoda

 

Olá Pro-Coders,

Será que o cálculo do meu filtro de tendência ADX pode estar correto?

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Obrigado.

 
tfi_markets:
Olá Pro-Coders,

Será que o cálculo do meu filtro de tendência ADX pode estar correto?

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Obrigado.

tfi_markets

No que diz respeito à função, sim, ela pode ser chamada assim

 
mladen:
tfi_marketsNo que diz respeito à função, sim, ela pode ser chamada assim

Olá, Mladen,

obrigado por seu comentário. Eu gostaria de manter meu código principalmente simples e livre de bugs, especialmente porque a depuração com MQL4 / MT4 pode ser um desafio.

Vamos supor que eu gostaria de comercializar tendências primárias mais fortes onde o ADX tem mais de 20 anos, eu também posso codificar isto um pouco mais simples:

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

Certo?

Obrigado antecipadamente, e tenha um bom fim de semana.

 

Hi.

Ultimamente tenho usado a média móvel do casco e pensei que também deveria tentar a inclinação do HMA em uma janela indicadora, mas não funcionará corretamente em minha plataforma mt4.

hull_moving_moving_average_2.01_amp_sr_lines_separate.mq4

Obrigado

 
NWFstudent:
Hi.

Ultimamente tenho usado a média móvel do casco e pensei que também deveria tentar a inclinação do HMA em uma janela indicadora, encontrei, mas não funcionará corretamente em minha plataforma mt4.

hull_moving_moving_average_2.01_amp_sr_lines_separate.mq4

Obrigado

parece que você já tem metade do problema resolvido!

 
NWFstudent:
Hi.

Ultimamente tenho usado a média móvel do casco e pensei que também deveria tentar a inclinação do HMA em uma janela indicadora, encontrei, mas não funcionará corretamente em minha plataforma mt4.

hull_moving_moving_average_2.01_amp_sr_lines_separate.mq4

Obrigado

NWFstudent

Mude a 2ª cor de preto para alguma outra cor (e defina a 3ª cor para a mesma cor da 2ª cor) Agora você não a vê simplesmente porque o fundo e a 2ª cor são a mesma - preto

 
mladen:
NWFstudentMude a 2ª cor do preto para alguma outra cor (e coloque a 3ª cor na mesma cor da 2ª cor) Agora você não vê isso simplesmente porque o fundo e a 2ª cor são a mesma - preto

uau, agora estou me sentindo como um idiota total

Eu estava olhando na entrada uma cor para cima era azul e para baixo era vermelho, mas é claro que você estava certo como sempre.

Sinto muito por ser um retardado.