Especialistas: Well Martin - página 3

 
BestBroker:
bool Buy=Ask<BBLow[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==2);
//--- Rompimento do limite inferior das Bandas de Bolinger e negociação oposta

bool Sell=Bid>BBUp[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==1)

Isso significa que apenas uma verificação de tendência é realizada antes de entrar em um colapso do BB?

Ou seja, se a tendência do ADX for de alta (+DI é maior que -DI), será feita uma entrada no rompimento do limite inferior do BB, mas se a tendência do ADX for de baixa (-DI é maior que +DI), não será feita nenhuma entrada no rompimento do BB inferior?

A linha principal(MAIN_LINE) não conta de forma alguma?

1. Não tenho negociações abertas no testador. Não há mensagens de erro nos registros. Configurei os parâmetros como na figura https://www.mql5.com/pt/code/13315.

Estou tentando descobrir.

2) Com base no código:

 bool Buy=Ask<BBLow[1] && ADX[1]<ADXLevel && (LastDealType()==0 || LastDealType()==2);

Não há dúvida de que o preço deve cruzar as linhas BB para entrar em uma posição.

Aqui estão as condições para uma compra:

O preço do instrumento Ask está abaixo da banda BB inferior na primeira barra formada e o valor do ADX de MAIN_LINE na primeira barra formada está abaixo do valor de seu ADXLevel (como um flat), e a transação anterior no histórico foi uma compra ou não houve nenhuma transação.

Para vendas - imagem espelhada.

Well Martin
Well Martin
  • votos: 12
  • 2015.06.25
  • Andrew Kornishkin
  • www.mql5.com
Советник Well Martin на основе двух индикаторов: Bollinger Bands и ADX.
 

Você pode me dizer como testá-lo?

Não abro negociações - o diário está limpo. Configurei todos os parâmetros conforme necessário: tamanho do depósito 100.000, lote mínimo 1, 10.000 e lote mínimo 0,1 - também não testei. Corretora BKS. MT5. Valores de variáveis externas como na imagem da primeira página. EURUSD. M15. E o teste é feito no OHLC em M1 desde 2010. Alavancagem de 1:100.

 
Roman Shiredchenko:

1. Tenho no testador - as negociações não são abertas. Não há mensagens de erro nos registros. Configurei os parâmetros como na figura https://www.mql5.com/pt/code/13315.

Estou descobrindo o que fazer.

2) Com base no código:

Não há dúvida de que o preço deve cruzar as linhas BB para entrar em uma posição.

Aqui estão as condições para uma compra:

O preço do instrumento Ask está abaixo da banda BB inferior na primeira barra formada e o valor do ADX de MAIN_LINE na primeira barra formada está abaixo do valor de seu ADXLevel (como um flat), e a transação anterior no histórico foi uma compra ou não houve nenhuma transação.

Para vendas - imagem espelhada.

Muito obrigado pelo esclarecimento!

Não abre negociações Com base no que você disse, é difícil dizer por quê. Já encontrei muitos EAs que não abrem negociações em determinados tp e sl. É necessário tentar pesquisar esses parâmetros.

Posso dizer com certeza que ele foi testado por meio do terminal do broker-Opening e do terminal de demonstração do forex DC Alpari.

 
BestBroker:

Muito obrigado pelo esclarecimento!

Não abre negociações com base no que você disse, é difícil dizer por quê. Já conheci muitos EAs que não abrem negociações em determinados tp e sl. É necessário tentar pesquisar esses parâmetros.

Posso dizer com precisão que ele foi testado no terminal da corretora - terminal de abertura e terminal de demonstração do forex DC Alpari.------------------------------------------. Entendi, obrigado. Vou testá-lo no terminal de abertura. não é possível escrever uma resposta normal do meu celular. o cursor continua pulando para sua postagem. BAG. Vou escrever para a central de atendimento mais tarde.











 
Roman Shiredchenko:
Entre em contato conosco se tiver alguma dúvida!
 
OBRIGADO
 
Você poderia acrescentar o número mágico para o EA? Muito obrigado.
 

Obrigado por esse pequeno exemplo simples usando o indicador BB+ADX.

Depois de alguns aprimoramentos (especialmente a adição de +DI, -DI), obtive resultados muito bons.

Permita-me apontar a função "IsNewBar" que não funciona:

A variável "m_TOld" não é estática e sempre será diferente de"TNew".

Você pode substituí-la por esta: (consulte: https://www.mql5.com/pt/articles/22)

//+------------------------------------------------------------------+
//| Retorna verdadeiro se uma nova barra tiver aparecido para um par símbolo/período
//+------------------------------------------------------------------+
bool isNewBar()
  {
//--- memorizar o tempo de abertura da última barra na variável estática
   static datetime last_time=0;
//--- hora atual
   datetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);

//--- se for a primeira chamada da função
   if(last_time==0)
     {
      //--- definir a hora e sair
      last_time=lastbar_time;
      return(false);
     }

//--- se a hora for diferente
   if(last_time!=lastbar_time)
     {
      //--- memoriza a hora e retorna true
      last_time=lastbar_time;
      return(true);
     }
//--- se passamos para essa linha, então a barra não é nova; return false
   return(false);
  }

E agora não há mais problema.

Parabéns ;)

The "New Bar" Event Handler
The "New Bar" Event Handler
  • www.mql5.com
MQL5 programming language is capable of solving problems on a brand new level. Even those tasks, that already have such solutions, thanks to object oriented programming can rise to a higher level. In this article we take a specially simple example of checking new bar on a chart, that was transformed into rather powerful and versatile tool. What tool? Find out in this article.