Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1135

 
MrBrooklin:

Aqui está um exemplo recente (todos baseados nos seus parâmetros):


Uma Ordem de Venda Limitada Pendente foi colocada às 0700 horas - isto é correcto. Mas não funcionou antes das 12:04 - foi isso que o confundiu.

 

Fórum sobre Comércio, Sistemas de Comércio Automatizados e Testes de Estratégia

FAQ de Iniciantes MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2019.10.14 13:46

Obrigado pelo esclarecimento.

Basta olhar para o separador "História" no testador visual

Separador História

Claro que pode, mas apenas se compreender o que está a fazer e qual o parâmetro pelo qual é responsável.


Ao testar esta EA, não encontrei nenhuma encomenda pendente no separador Histórico, apenas COMPRAR ou VENDER. Ou talvez isso tenha sido apenas um exemplo de outra EA mostrada na fotografia?

E mais uma coisa.

Se o módulo FilterTime foi concebido para limitar o trabalho de EAs a determinadas horas, que mais devo entender para que funcione apenas a determinadas horas?

Atenciosamente, Vladimir.


 
MrBrooklin:

Ao testar esta EA no separador História, não encontrei nenhuma encomenda pendente, apenas COMPRAR ou VENDER. Ou é apenas um exemplo de outra EA mostrada na fotografia?

***


Tentei executar a vossa EA nos vossos parâmetros.

No testador de estratégia visual, seleccionar "Ordens e ofícios":


 

Não estou a mostrar nenhuma ordem pendente por algum motivo.

Cumprimentos, Vladimir.


 

Fórum sobre Comércio, Sistemas de Comércio Automatizados e Testes de Estratégia

FAQ de Iniciantes MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2019.10.14 14:07

Tenho estado a executar a vossa EA sobre os vossos parâmetros.

No testador de estratégia visual, no separador seleccionar "Ordens e ofícios":


Obrigado, Vladimir. Isso agora faz sentido. Tenho estado a observá-lo no modo errado.

Ainda não consigo compreender porque é que uma encomenda pendente é colocada em vez de abrir uma posição. Há algo de errado nos cenários?

Com os melhores cumprimentos, Vladimir.


 
MrBrooklin:

Obrigado, Vladimir. Isso agora faz sentido. Estava a olhar para ela no modo errado.

Ainda não compreendo por que razão se estabelece uma ordem pendente em vez de se abrir uma posição.

Atenciosamente, Vladimir.


A resposta deve ser encontrada aqui:"Nível de preços para executar um negócio".

Do artigoMQL5 Wizard: Como ensinar o Expert Advisor a abrir encomendas pendentes a qualquer preço:


Preste atenção ao parâmetroSignal_PriceLevel. Por defeito, o Expert Advisor é gerado comSignal_PriceLevel=0. Este parâmetro controla o travessão a partir do preço actual. Se o valor for zero, a ordem será aberta ao preço actual de mercado. Para abrir uma ordem pendente, definir um valor não zero para o parâmetroSignal_PriceLevel, ou seja, oSignal_PriceLevel pode ser inferior a zero ou superior.

Signal_PriceLevel é especificado em pontos "grandes". Os números abaixo mostram a diferença entre os valores negativos e positivos:

QuandoSinal_PriceLevel=-50:

Figura 1. Sinal_PreçoNível=-50

Figura 1. Sinal_PreçoNível=-50

WhenSignal_PriceLevel=50:

Figura 2. Sinal_PriceLevel=50

Figura 2. Sinal_PriceLevel=50

Assim, seSignal_PriceLevel=50, a ordem pendente será aberta a um preço pior do que o actual, enquanto que seSignal_PriceLevel=50, a ordem pendente será aberta a um preço melhor.

 
Snajper007:
Olá, poderia por favor dizer-me como fazer isto? Como soletrar correctamente a condição: *se houver uma nova hora*?
if(NewBar(PERIOD_H1))Alert("Наступил новый час!");
//----
bool NewBar(ENUM_TIMEFRAMES TF = 0)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
     {
      NewTime=iTime(Symbol(),TF,0);
      return(true);
     }
   return(false);
  }
//----
 

Fórum sobre Comércio, Sistemas de Comércio Automatizados e Testes de Estratégia

FAQ de Iniciantes MQL5 MT5 MetaTrader 5

Vladimir Karputov, 2019.10.14 14:20

Deve procurar a resposta aqui:"Nível de preços para executar um negócio".

Do artigoMQL5 Wizard: Como ensinar o seu Expert Advisor a abrir encomendas pendentes a qualquer preço:


Preste atenção ao parâmetroSignal_PriceLevel. Por defeito, o Expert Advisor é gerado com Signal_PriceLevel=0. Este parâmetro controla o travessão a partir do preço actual. Se o valor for zero, a ordem será aberta ao preço actual de mercado. Para abrir uma ordem pendente, definir um valor não zero para o parâmetro Signal_PriceLevel, ou seja, oSignal_PriceLevel pode ser inferior a zero ou superior.

Signal_PriceLevel é especificado em pontos "grandes". Os números abaixo mostram a diferença entre os valores negativos e positivos:

QuandoSinal_PriceLevel=-50:


Figura 1. Sinal_PreçoNível=-50

WhenSignal_PriceLevel=50:


Figura 2. Sinal_PriceLevel=50

Assim, seSignal_PriceLevel=50, a ordem pendente será aberta a um preço pior do que o actual, enquanto que se Signal_PriceLevel=50, a ordem pendente será aberta a um preço melhor.


Muito obrigado, Vladimir, pela sua resposta detalhada e detalhada.

Com todo o respeito, Vladimir.

 
Iurii Tokman:
Obrigado! Vou tentar agora.
 
Snajper007:
Obrigado! Vou tentar agora.

se para mt5 será ligeiramente diferente