Pergunte!

 

Olá, pessoal,

Tenho muitas mensagens particulares me pedindo ajuda com algumas peças de código.

Aqui você pode postar suas perguntas relacionadas à MQL4, e eu farei o meu melhor para respondê-las.

 

Alertas (por sons ou qualquer outro)

Tenho duas perguntas.

A primeira. s vezes é necessário testar manualmente algunsrateg comerciais antes de criar a EA. Está tudo bem para M1, M5 e M15. Mas para H1 e para prazos mais altos é difícil. Qual parte do código deve ser incluída em um indicador (qualquer um) para alarme (sons ou o que quer que seja) para indicar cerca de duas linhas de uma travessia do indicador? Por exemplo, o indicador está tendo apenas duas linhas que supõem ser cruzadas (com alarme).

Segundo. Temos dois indicadores. Que partes do código devem ser incluídas em um ou dois indicadores para indicar cerca de duas linhas de cruzamento: uma linha é do primeiro indicador e uma outra linha é de outra (todas essas duas linhas estão na mesma janela, é claro)?

Se for EA ou roteiro deve ser criado, então mantenha esta pergunta até estudarmos a EA e a criação do roteiro.

 

Alertas em cruz!

newdigital:
Tenho duas perguntas.

O primeiro. Às vezes é necessário testar manualmente algum srateg comercial antes de criar a EA. Está tudo bem para M1, M5 e M15. Mas para H1 e para prazos mais altos é difícil. Que parte do código deve ser incluída em um indicador (qualquer um) para alarme (sons ou o que quer que seja) para indicar cerca de duas linhas de um indicador de cruzamento? Por exemplo, o indicador está tendo apenas duas linhas que supõem ser cruzadas (com alarme).

Segundo. Temos dois indicadores. Que partes do código devem ser incluídas em um ou dois indicadores para indicar cerca de duas linhas de cruzamento: uma linha é do primeiro indicador e uma outra linha é de outra (todas essas duas linhas estão na mesma janela, é claro)?

Se for EA ou roteiro deve ser criado, então mantenha esta questão até estudarmos a EA e a criação do roteiro.

A segunda pergunta precisa de algum trabalho (a chave da idéia é trabalhar com a GlobalVariables para que os dois indicadores se conheçam!)

Trabalharei nisso mais tarde.

Este é o código da primeira pergunta. Ela precisa de algum teste (são 6:40 da manhã aqui )

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

//| Demo1.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

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

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

//----

return(0);

}

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

//| Custor indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

bool Crossed (double line1 , double line2 )

{

static string last_direction = "";

string current_dirction = "";

if(line1>line2)current_dirction = "up";

if(line1<=line2)current_dirction = "down";

if(current_dirction != last_direction)

{

Alert("CRROSED: Line1 is (" + current_dirction + ") Line2 now");

last_direction = current_dirction;

return (true);

}

else

{

return (false);

}

}

int start()

{

int counted_bars=IndicatorCounted();

//---- check for possible errors

if (counted_bars<0) return(-1);

//---- last counted bar will be recounted

if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

while(pos>=0)

{

ExtMapBuffer1[pos]= iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,pos);

ExtMapBuffer2[pos]= iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,pos);

pos--;

}

Print(Crossed (ExtMapBuffer1[0],ExtMapBuffer2[0]));

//----

return(0);

}

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

pergunta

Caros codificadoresguru,

Tenho um par de sistemas que preciso de ajuda para traduzir da Tradestation para o Meta e depois para um sistema comercial básico. Estou trabalhando a partir do zero. Qual é sua tarifa horária para ajudar com este serviço?

Alguns dos sistemas são afixados e 2 dos sistemas que comprei e assinei um acordo de confidencialidade para que eu possa afixá-lo e teria que ter você trabalhando naqueles em particular por uma taxa. Quais são seus honorários?

Muito obrigado,

Rick

 

Ainda não. Eu ainda não testei.

Amanhã irei inserir este código em algum indicador (qualquer um com duas linhas cruzadas).

 

CrossedAlerts

newdigital:
Tenho duas perguntas.

A primeira. Às vezes é necessário testar manualmente algunsrateg comerciais antes de criar a EA. É ok para M1, M5 e M15. Mas para H1 e para prazos mais altos é difícil. Qual parte do código deve ser incluída em um indicador (qualquer um) para alarme (sons ou o que quer que seja) para indicar cerca de duas linhas de uma travessia do indicador? Por exemplo, o indicador está tendo apenas duas linhas que supõem ser cruzadas (com alarme).

A segunda...

Olá newdigital,

Você testou o código? é o que você quer?

Arquivos anexados:
 

Lição de teste de retaguarda

Hi,

você pode explicar, como trabalhar com o backtesting ?

o que é necessário fazer para preparar nossa EA para os testes de retaguarda ?

como funciona o backtesting (cada carrapato, preço aberto...) ?

obrigado.

 
codersguru:
Olá newdigital, você testou o código? é o que você quer?

Eu o testei. É ótimo.

Podemos usá-lo como amostra.

Ou, se precisarmos apenas de um som, podemos usar o código anexado.

Arquivos anexados:
 

Ou se precisarmos apenas de um som (opcional) e texto escrito na tabela (opcional também), podemos usar este código (anexo).

Arquivos anexados:
 

Perfeito!

newdigital:
Ou se precisarmos apenas de um som (opcional) e texto escrito na tabela (opcional também), podemos usar este código (anexo).

newdigital,

você rock!

Obrigado

 

Eu fiz EAs muito pequenos para RSTL e Supertrend Cross Alert.

O primeiro está trabalhando no bar atual.

A segunda está trabalhando na barra opcional (atual, anterior ou qualquer outra).

Somente alertas.

Desculpe má codificação: ainda não estudamos os EAs.

E pode ser que eu tenha cometido algum erro ...

mas eu testei e funciona.

Arquivos anexados:
cross.mq4  3 kb
cross1.mq4  3 kb
rstl.mq4  4 kb
Razão: