Pergunte! - página 8

 

oi codificadores,

é possível criar o EA for Triggerlines como vejo na história, ele fez um ótimo trabalho, mas é um pouco difícil tomar conta dele o tempo todo.

ussualy combinei-o com o gerente de tendências, então quando as linhas de gatilho cruzam e mudam a cor para azul e a TM tem sinal de compra azul, se você puder criar uma ea que possa combinar ambos os indicadores, seria muito útil .thx muito

 

cruz ema

Olá codersguru,

Tenho tentado obter alguma ajuda com uma EA semelhante à sua porque não sou programador de forma alguma. Eu, no entanto, não consigo despertar nenhum interesse, assim pensei, já que o seu está tão perto que talvez possa ser ajustado para o que estou tentando fazer. Abaixo está uma explicação fácil das 3 variáveis:

Se a EMA 9 cruza acima da EMA 30 e o Momentum(21) cruza 100, um sinal de compra é criado. Uma saída de compra seria gerada quando o EMA 9 cruzasse abaixo do EMA 30, não importando o que a linha de momento esteja fazendo.

Se o EMA 9 cruza abaixo do EMA 30 e o Momentum(21) cruza abaixo de 100, é criado um sinal de venda. Uma saída de venda seria gerada quando o EMA 9 atravessasse acima do EMA 30, não importando o que a linha de momento esteja fazendo.

O que você acha? É algo que pode ser ajustado ou é mesmo uma EA viável? Qualquer ajuda seria bem-vinda!

BW

 

IndicadorContado

Olá Codegru,

Primeiro quero agradecer-lhes por fazerem um trabalho tão notável, pelas lições de MT4. Há uma semana atrás, o MT4 era muito difícil, mas agora eu começo a me inclinar.

Estou tentando converter um indicador em EA. O indicador está usando "int counted_bars = IndicatorCounted()", para contar barras, na EA eu acho que não posso usar isto, uma vez que está relacionado ao indicador.

Como eu poderia resolver este problema.

Muito obrigado....

 

Sistema ADX

Olá Coder's Guru,

Acabei de ler o guia da MQL4 neste último fim de semana e projetei minha primeira EA.

BTW, muito obrigado por seu guia. Eu não consegui encontrar nada na Rede que fizesse o aprendizado do idioma tão fácil. Você realmente construiu em cada lição no gradiente certo.

De qualquer forma, aqui está meu primeiro EA: não sei se é um sistema lucrativo ou não, mas os resultados do meu back-test EA não combinam com alguns testes manuais que eu fiz. Sei que há dois filtros que não consegui descobrir como programar, mas vou chegar a isso depois de explicar tudo. (anexei um arquivo de texto com o código nele).

Aqui está a base do meu sistema:

Configuração inicial:

15m de período de tempo

Se estiver entre 200 e 1400 EST.

Se o ADX for maior que 20.

Se o alcance da última barra [1] for menor que o alcance da barra [2] de prévios. (Período interno).

Se o alcance da última barra [1] for inferior a 7 pips.

Configuração condicional A:

Se o EMA de 20 períodos for maior.

Se Bid for maior que a barra alta da última barra [1] (presumo que os gráficos mostram Bid apenas... está certo?)

Comprar ao preço de pedido com stop loss a um tick abaixo da baixa do último período.

Configuração condicional B:

Se o EMA de 20 períodos estiver em baixa.

Se Bid for menor que o mínimo da última barra [1].

Vender como Bid com stop loss com um tick acima da última barra alta+ask.

Quero estabelecer o take profit a uma certa taxa Risk:Reward. Em meu contra-teste descobri que quando a barra do período Inside é inferior a 5, uma taxa de recompensa de 3:1 é boa. (uma ordem de limite de 30 pip (5(intervalo) + 3(spread) + 2(SL e entrada))*3=30).... Mas acho que não programei isso corretamente em meu código.

Primeira pergunta:

Estou usando o código correto para iniciar os negócios? Eu usei corretamente os altos, perguntas, etc.?

Segunda pergunta:

Meu filtro de tempo parece não funcionar. Estou fazendo isso corretamente?

Terceira pergunta: O meu filtro de tempo não parece funcionar?

Só quero que as negociações sejam iniciadas UM PIP acima da última barra de Alto+disparo. Acho que meu código atual iniciará as negociações se houver uma diferença de preços acima deste preço. Como faço para corrigir isso?

quarta pergunta:

Acho que este é o maior erro em meu código: Não tenho um filtro para quando a 20-EMA reverte, mas o ADX ainda está acima de 20. Eu também gostaria de ver como este sistema funciona se o 20-EMA inverte, o ADX desce (mas não abaixo de 20) e depois volta para cima, então MAIÚSCULO poderíamos filtrar as negociações quando o ADX está com tendência para baixo, mas então novamente isto poderia filtrar muitas negociações lucrativas). Se eu pudesse obter alguma ajuda na codificação, eu estaria bem experimentando estes diferentes fatores.

A partir de meus testes manuais, acho que posso ter um sistema lucrativo aqui, portanto, qualquer ajuda seria apreciada.

Obrigado de antemão!

Jason

Arquivos anexados:
ipadxema.txt  5 kb
 

Ajuda na programação

Olá codersguru,

Preciso de ajuda na criação da EA. Você pode ajudar, se sim, quais são seus honorários?

 

Olá Codersguru,

seria ótimo se você pudesse encontrar algum tempo para dar uma olhada no meu problema:https://www.mql5.com/en/forum/general

Melhores cumprimentos

Peter

 

Pergunta para iniciantes

Você pode ajudar, apenas começando

Você pode me dizer como mudar as cores padrão nas velas do heiken ashi?

Posso mudar as cores na tabela, mas elas revertem para o padrão de vermelho e branco se eu chage times ou moedas.

obrigado

Gordon

 
gordon:
Você pode ajudar, apenas começando

Você pode me dizer como mudar as cores padrão nas velas do heiken ashi?

Posso mudar as cores na tabela, mas elas revertem para o padrão de vermelho e branco se eu chage times ou moedas.

obrigado

Gordon

Olá Gordon, você poderia postar o arquivo MQ4 aqui, então nós poderíamos juntos ajudá-lo. Espero que esta ajuda

 

obrigado Dave,

#janela_do_cartão_indicador de propriedade

#property indicator_buffers 4

#indicador de propriedade_cores1 Vermelho

#indicador de propriedade_color2 Branco

#Indicador de propriedade_cores3 Vermelho

#Indicador de propriedade_color4 Branco

//---- buffers

duplo ExtMapBuffer1[];

duplo ExtMapBuffer2[];

duplo ExtMapBuffer3[];

duplo ExtMapBuffer4[];

//----

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//|------------------------------------------------------------------|

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, Vermelho);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, Branco);

SetIndexBuffer(1, ExtMapBuffer2); SetIndexBuffer(1, ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, Vermelho);

SetIndexBuffer(2, ExtMapBuffer3); SetIndexBuffer(2, ExtMapBuffer3);

SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, Branco);

SetIndexBuffer(3, ExtMapBuffer4); SetIndexBuffer(3, ExtMapBuffer4);

//----

SetIndexDrawBegin(0,10);

SetIndexDrawBegin(1,10);

SetIndexDrawBegin(2,10);

SetIndexDrawBegin(3,10);

//---- mapeamento de buffers indicadores

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexBuffer(3,ExtMapBuffer4); SetIndexBuffer(3,ExtMapBuffer4);

//---- inicialização feita

retorno(0);

}

//+------------------------------------------------------------------+

//| Função de desinicialização de indicador personalizada |

//+------------------------------------------------------------------+

int deinit()

{

//---- TODO: adicione seu código aqui

//----

retorno(0);

}

//+------------------------------------------------------------------+

//| Função de iteração de indicador personalizada |

//+------------------------------------------------------------------+

int start()

{

duplo haOpen, haHigh, haLow, haClose;

if(Bars<=10) return(0);

ExtCountedBars=IndicatorCounted();

//---- verificação de possíveis erros

se (ExtCountedBars<0) retornar(-1);

//---- última barra contada será contada novamente

se (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-ExtCountedBars-1;

while(pos>=0)

{

haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2;

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4;

haHigh=MathMax(High[pos], MathMax(haOpen, haClose));

haLow=MathMin(Baixo[pos], MathMin(haOpen, haClose));

if (haOpen<haClose)

{

ExtMapBuffer1[pos]=haLow;

ExtMapBuffer2[pos]=haHigh;

}

senão

{

ExtMapBuffer1[pos]=haHigh;

ExtMapBuffer2[pos]=haLow;

}

ExtMapBuffer3[pos]=haOpen;

ExtMapBuffer4[pos]=haFechar;

pos--;

}

//----

retorno(0);

}

//+---------------------------

 

Olá Gordon, como você pode ver no código que acabou de publicar, se você gosta de mudar a cor permanente, basta mudar TODAS as palavras BRANCO e VERMELHO para a cor que você quiser, depois compilar o indicador personalizado. Por favor, me avise caso isto possa resolver seu problema. Espero que isto ajude

Razão: