Como codificar? - página 209

 

Olá a todos...

alguém pode me mostrar como começar a codificar os indicadores e a EA

 
kessing:
Olá a todos...alguém pode me mostrar como começar a codificar os indicadores e a EA

Hi,

Veja aqui: https://www.mql5.com/en/forum/172969/page2

 
kessing:
Olá a todos...alguém pode me mostrar como começar a codificar os indicadores e a EA

Leia este tópico (primeiro post): https://www.mql5.com/en/forum/178706

e esta linha: https://www.mql5.com/en/forum/173290

 
kessing:
Olá a todos... alguém pode me mostrar como começar a codificar os indicadores e a EA

Há muitas informações tanto aqui como em FF. Você também pode fazer uma pesquisa no Google.

Para uma fácil introdução à programação EA, confira o link no meu sig. É um bom lugar para começar para um programador novato.

Boa sorte!

Lux

 
 

Indicador para EA

Olá a todos,

Gostaria de pedir a ajuda de qualquer pessoa que possa fazer a EA da Explosão de Waddah Attar anexada.

Aguardo com expectativa a resposta.

Obrigado.

-s-

Arquivos anexados:
 

ea universal Ma 2 cross

Pessoal Hy!

estou procurando modificar a ea desta firedave (a partir deste fórum)

a ea é chamada de "universal ma cross ea"

o que eu quero criar é uma ea que entra em 2 cruzes confirmadas (por exemplo um casal de ema 2 & 4 e outro casal de ema 5 & 20)

este é o código principal, o que eu devo fazer?

//----------------------- SET VALUE FOR VARIABLE

if(ConfirmedOnEntry==true)

{

if(CheckTime==iTime(NULL,TimeFrame,0)) return(0); else CheckTime = iTime(NULL,TimeFrame,0);

FastMACurrent = iMA(NULL,TimeFrame,FastMAPeriod,FastMAshift,FastMAType,FastMAPrice,1);

SlowMACurrent = iMA(NULL,TimeFrame,SlowMAPeriod,SlowMAshift,SlowMAType,SlowMAPrice,1);

}

senão

{

FastMACurrent = iMA(NULL,TimeFrame,FastMAPeriod,FastMAshift,FastMAType,FastMAPrice,0);

SlowMACurrent = iMA(NULL,TimeFrame,SlowMAPeriod,SlowMAshift,SlowMAType,SlowMAPrice,0);

}

CrossDirection = subCrossDirection(FastMACurrent,SlowMACurrent);

eu tinha tentado tudo, mas não encontro uma solução...por favor me ajude para a saúde desta comunidade , eu quero algo semelhante a isto :

//----------------------- VALOR DEFINIDO PARA VARIÁVEL

if(ConfirmedOnEntry===verdadeiro)

{

if(CheckTime==iTime(NULL,TimeFrame,0)) return(0); else CheckTime = iTime(NULL,TimeFrame,0);

FastMACurrent = iMA(NULL,TimeFrame,2,FastMAshift,FastMAType,FastMAPrice,1);

SlowMACurrent = iMA(NULL,TimeFrame,4,SlowMAshift,SlowMAType,SlowMAPrice,1);

FastMACurrent2 = iMA(NULL,TimeFrame,5,FastMATshift,FastMAType,FastMAPrice,1);

SlowMACurrent2 = iMA(NULL,TimeFrame,20,SlowMAshift,SlowMAType,SlowMAPrice,1);

}

senão

{

FastMACurrent = iMA(NULL,TimeFrame,2,FastMAshift,FastMAType,FastMAPrice,0);

SlowMACurrent = iMA(NULL,TimeFrame,4,SlowMAshift,SlowMAType,SlowMAPrice,0);

FastMACurrent2 = iMA(NULL,TimeFrame,5,FastMATshift,FastMAType,FastMAPrice,0);

SlowMACurrent2 = iMA(NULL,TimeFrame,20,SlowMAshift,SlowMAType,SlowMAPrice,0);

}

CrossDirection = subCrossDirection(FastMACurrent,SlowMACurrent && FastMACurrent2,SlowMACurrent2);

Arquivos anexados:
 

O que há de errado com meu indicador? Mensagem de erro

Hi,

aqui está o código do meu indicador:

#janela_do_indicador de propriedade

#property indicator_buffers 2

#indicador de propriedade_color1 LightSeaGreen

#código de propriedade_color2 Azul

fio externo Timeframe_Momentum = "PERÍODO_H1";

Periode_Momentum = 500;

Periode_MA_Momentum = 8;

duplo tampão_Mãe_Mãe[];

duplo tampão_Ma[];

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(0,Buffer_Mom);

SetIndexBuffer(1,Buffer_Ma);

//----

SetIndexEmptyValue(0,0,0.0);

SetIndexEmptyValue(1,0,0.0);

SetIndexDrawBegin(0,100);

SetIndexDrawBegin(1.100);

//----

retorno(0);

}

int deinit()

{

//----

retorno(0);

}

início nulo()

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

if(counted_bars>0) limit++;

//----

for(int i=0; i<limit; i++)

{

Buffer_Momomentum=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);

Buffer_Ma=iMAOnArray(Buffer_Mãe,0,Periode_MA_Momento,0,MODE_SMA,i);

}

retorno(0);

}

Aqui está o código que eu uso no Programa principal:

duplo GMI1 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 0,1);

duplo GMI2 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 1,2);

Agora meus problemas:

Recebo esta mensagem de erro: EURUSD,M5: número inteiro inválido como parâmetro 2 para a função de chamada do Indicador

E não há Buffer_Ma na minha tabela! O que há de errado com meu código?!

 

Olá

Como calcular o Desvio Padrão entre o Aberto e o Alto da barra anterior?

Qualquer ajuda seria ótima.

Abraço

Beno

 

PERÍODO_H1 é uma macro tentativa de mudar essa linha para

externamente int TimeFrame_Momentum = PERÍODO_H1;

ou apenas substitua PERIOD_H1 por 60 e tente que

sunshineh:
Hi,

aqui está o código do meu indicador:

#janela_do_indicador de propriedade

#property indicator_buffers 2

#indicador de propriedade_color1 LightSeaGreen

#código de propriedade_color2 Azul

fio externo Timeframe_Momentum = "PERÍODO_H1";

Periode_Momentum = 500;

Periode_MA_Momentum = 8;

duplo tampão_Mãe_Mãe[];

duplo tampão_Ma[];

int init()

{

//---- indicadores

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(0,Buffer_Mom);

SetIndexBuffer(1,Buffer_Ma);

//----

SetIndexEmptyValue(0,0,0.0);

SetIndexEmptyValue(1,0,0.0);

SetIndexDrawBegin(0,100);

SetIndexDrawBegin(1.100);

//----

retorno(0);

}

int deinit()

{

//----

retorno(0);

}

início nulo()

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

if(counted_bars>0) limit++;

//----

for(int i=0; i<limit; i++)

{

Buffer_Momomentum=iMomentum(NULL,Timeframe_Momentum,Periode_Momentum,PRICE_CLOSE,i);

Buffer_Ma=iMAOnArray(Buffer_Mãe,0,Periode_MA_Momento,0,MODE_SMA,i);

}

retorno(0);

}

Aqui está o código que eu uso no Programa principal:

duplo GMI1 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 0,1);

duplo GMI2 = iCustom(NULL,0, "GMI",Timeframe_Momentum,Periode_Momentum,Periode_MA_Momentum, 1,2);

Agora meus problemas:

Recebo esta mensagem de erro: EURUSD,M5: número inteiro inválido como parâmetro 2 para a função de chamada do Indicador

E não há Buffer_Ma na minha tabela! O que há de errado com meu código?!