Erros, bugs, perguntas - página 677

 
Esqueci-me de uma coisa. Quem me pode dizer como usar #importar correctamente para uma biblioteca que se encontra numa subdirectoria da pasta principal?
 
danielalmaty:

Olá, pode dar-me uma dica?


A diferença é que, na versão original, o objecto é descrito como:

CiADX *m_ADX;

ou seja, o objecto é dinâmico. E no seu:

CiADX m_ADX;

Neste caso, o método deve ser parecido com este:

//+------------------------------------------------------------------+
//| Create ADX indicator.                                            |
//| INPUT:  indicators -pointer of indicator collection.             |
//| OUTPUT: true-if successful, false otherwise.                     |
//| REMARK: no.                                                      |
//+------------------------------------------------------------------+
bool CSignalMY_MA_ADX::InitADX(CIndicators* indicators)
  {
//--- add ADX indicator to collection
   if(!indicators.Add(m_ADX))
     {
      printf(__FUNCTION__+": error adding object of the ADX");
      return(false);
     }
//--- initialize ADX indicator
   if(!m_ADX.Create(m_symbol.Name(),m_period,m_period_ADX))
     {
      printf(__FUNCTION__+": error initializing object of the ADX");
      return(false);
     }
//--- ok
   return(true);
  }
 
Interesting:
Esqueci-me de uma coisa. Quem me pode dizer como utilizar correctamente o #importar para a biblioteca que se encontra na subdirectoria da pasta principal?

Em MT4, funciona assim: #importar "TrendLine\\\MemoryDLL.dll".
 

https://www.mql5.com/ru/forum/23/page15

MetaTester: Alteração do funcionamento do método de ensaio "por preços abertos". Tal como antes, o OnTick do Expert Advisor é accionado apenas na abertura do bar, mas em vez de carraças M1 OHLC, toca estados alto, baixo e próximo do bar a ser testado. Devido a isto, as paragens e ordens pendentes podem desencadear a um preço diferente do especificado. Isto permitiu-nos alcançar uma aceleração múltipla dos testes.

Podemos manter o modo antigo juntamente com o novo? Todos poderão escolher um compromisso entre velocidade e qualidade.
 
papaklass:

Para qualidade, o modo "todas as carraças" não lhe serviria?

Em certos casos, não. Não gosto muito do modo em que as transacções podem não ser executadas ao preço indicado (e este fenómeno será considerado a norma).

Por conseguinte, apoiarei pessoalmente o pedido de Konstantin.

 
papaklass:

O que quer dizer com "não ao preço anunciado"? Esclarecer.

Leia o texto com mais atenção.

MetaTester: Alteração do funcionamento do método de ensaio "pelo preço de abertura". Como antes, OnTick do Conselheiro Especialista é lançado apenas na abertura do bar, mas em vez de M1 OHLC faz tic-tac aos estados alto, baixo e fechado do bar a ser testado. Devido a isto, as paragens e ordens pendentes podem desencadear a um preço diferente do especificado. Isto permitiu-nos alcançar uma aceleração múltipla dos testes.

Como sou viciado em trabalhar com ordens pendentes, este ponto é muito importante para mim, e não quero que as ordens pendentes accionem"não ao preço indicado".

Com esta abordagem, este tipo de testes não tem absolutamente nenhum interesse para mim.

É por isso que suponho que a variante que prevê dois tipos de testes "através de preços de abertura" (em barras minúsculas e na barra a ser testada) será uma solução bastante razoável.

 
papaklass:

Sim, também não gosto desse ponto. Na barra seguinte pode apenas verificar se a ordem pendente está na gama alta - baixa da barra anterior. Se o fez, então funcionou aos preços estabelecidos.

A questão não é de verificar, pode ser feito se desejado. A questão é porquê? De facto, tal implementação não seria aceitável para mim pessoalmente no modo "Preços Abertos", e portanto, ao usar o modo "todos os tiques", obterei enormes lentidões. Ou não sei qual será o resultado de uma corrida "rápida".
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Há um exemplo de MovingAverages que funciona da mesma maneira (na actual construção 607) tanto no modo M1 OHLC como no modo de Preços Abertos. Porquê? Porque funciona estritamente no início de um bar - há uma verificação especial.

Coloque a mesma condição na sua EA e utilize M1 OHLC. E terá sorte.

 
stringo:

Há um exemplo de MovingAverages que funciona da mesma maneira (na actual construção 607) tanto no modo M1 OHLC como no modo de Preços Abertos. Porquê? Porque funciona estritamente no início dos bares - há uma verificação especial.

Se definir a mesma condição na sua EA e utilizar M1 OHLC. E ficará feliz.


1. Bem, sim, ele pode estar a negociar como deve ser. Mas está integrado na sua estratégia. Não o tenho como parte da minha estratégia, uso ordens pendentes.

E não é claro no que diz respeito a paragens - uma vez que quando devem (podem) trabalhar a preços que não são exibidos?

Por isso não ficarei feliz, pelo menos a não ser que mude para "Todos os tiques".

E se eu verificar a existência de um novo bar e comércio apenas na sua abertura, será uma estratégia diferente.

Será que preciso disso?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Interesting:

Bem, sim, ele pode estar a negociar correctamente. Mas ele tem isso na sua estratégia. E não o tenho na minha estratégia, negoceio com ordens pendentes.

E não compreendo as paragens - uma vez que quando devem (podem) trabalhar a preços que não são definidos?

Por isso não ficarei feliz, pelo menos a não ser que mude para "Todos os tiques".

E se eu verificar a existência de um novo bar e comércio apenas na sua abertura, então será uma estratégia completamente diferente.

Será que preciso dele?

Não, como eu entendi, eles ofereceram-lhe uma forma de "como negociar a preços de abertura no testador, mas tendo em conta as carraças". Precisa dessa opção no testador, não precisa? Pode reproduzir os resultados do seu trabalho completando um pouco o seu código e executando-o no modo M1 OHLC (sabe, como introduzir uma opção/switch no seu EA para testar)... E até executá-lo no modo "todas as carraças".