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

 
É possível que oUpper[i] não esteja preenchido (igual a 0) em algumas barras.
 
Sergey Savinkin:
É possível que oUpper[i] não seja preenchido (igual a 0) em algumas barras.

Penso ter encontrado alguma pista para a solução: quando a condição é escrita contra o estado de preço actual antes de executar o código, o registo produz o seguinte:

Ponto importante - estes parâmetros coincidem com o preço já gerado anteriormente

Para esclarecer:

É aqui que a última linha do tronco indica que o preço foi além da linha superior. A única questão é por que razão o fez? Tenho uma versão que durante o recálculo do indicador desde o início até ao momento presente o código regista estes eventos e pára no último evento - explica a diferença entre o preço e os dados de registo actuais, mas não explica mais nada - preciso do código para fazer uma simples comparação em lógica "o preço foi para além da linha superior - dar alerta mas nada acontece".

Verifiquei também a condição de código quando o preço está abaixo da linha superior - simplesmente não registou o evento nos registos, que está na imagem acima - parei para o compreender no final, se é que funciona de todo.

 

Meus amigos, sou novo na MQL5, por isso se os problemas sobre os quais estou a escrever aqui são os meus próprios defeitos, por favor não me dêem pontapés a mais.

Queria fazer uma coruja com várias moedas, mas enfrentei algumas coisas estranhas no testador de estratégias que aparecem quando se testa as de várias moedas. Recebo algumas mudanças estranhas de símbolos da série temporal para além do símbolo do gráfico principal. Fiz uma simples coruja que recebe zero e o primeiro bar aberto por dois símbolos no início de cada bar. Por alguma razão, a segunda série cronológica de símbolos começa a mudar após 1 barra. Aparece em qualquer símbolo e em qualquer período de tempo. Eu estava a testar no EURUSD, o segundo símbolo era GBPUSD. Já experimentei vice-versa, já experimentei em outros pares, o erro aparece sempre. Esta é a fotografia da revista após os testes em М15:

Imagem de registo após testes em H1:

Configurações do Testador de Estratégia:

Aqui está o código para o teste:

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
input string SecondSymbol="GBPUSD";

int OnInit()
  {
   SymbolSelect(SecondSymbol,true);//выбираем второй символ в MarketWatch(для тестера)
//---
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
//---

  }

void OnTick()
  {
   static datetime BarTime;//время начала бара
   int per=PeriodSeconds(PERIOD_CURRENT);

   datetime time_curr=TimeCurrent()/per*per;
   if(time_curr!=BarTime)
     {
      BarTime=time_curr;

      datetime Time_One[],Time_Two[];
      bool yes=ArraySetAsSeries(Time_One,true);
      yes=ArraySetAsSeries(Time_Two,true);

      int i=CopyTime(NULL,PERIOD_CURRENT,0,2,Time_One);    //текущий символ
      i=CopyTime(SecondSymbol,PERIOD_CURRENT,0,2,Time_Two);//второй символ
      
      Print("ВремяНачалаБара по ",Symbol(),":",Time_One[0]," ВремяНачалаБара по ",SecondSymbol,":",Time_Two[0]);
     }
  }

Qualquer ajuda seria bem-vinda.

 
stroganow:

Meus amigos, sou novo na MQL5, por isso se os problemas sobre os quais estou a escrever aqui são os meus próprios defeitos, por favor não me dêem pontapés a mais.

Queria fazer uma coruja com várias moedas, mas enfrentei algumas coisas estranhas no testador de estratégias que aparecem quando se testa as de várias moedas. Recebo algumas mudanças estranhas de símbolos da série temporal para além do símbolo do gráfico principal. Fiz uma simples coruja que recebe zero e o primeiro bar aberto por dois símbolos no início de cada bar. Por alguma razão, a segunda série cronológica de símbolos começa a mudar após 1 barra. Aparece em qualquer símbolo e em qualquer período de tempo. Tenho estado a testar no EURUSD, o segundo símbolo era GBPUSD. Já experimentei vice-versa, já experimentei em outros pares, o erro aparece sempre. Esta é a fotografia da revista após os testes em М15:

Imagem de registo após testes em H1:

Configurações do Testador de Estratégia:

O código para os testes:

Qualquer ajuda seria bem-vinda.

O provador funciona correctamente. Há um erro na lógica do programa: dois símbolos são como duas vidas de pessoas diferentes (aqui "pessoa" é análogo a "símbolo"). E a segunda pessoa não tem de acordar ao mesmo tempo que a primeira ("acordar" é análogo a "nova barra a aparecer").

Portanto, é preciso esperar que apareça uma nova barra E no primeiro símbolo E no segundo.


Acrescentado: artigo"novo bar" manipulador de eventos

 

Pode dizer-me, aqui está uma imagem de uma barra de alfinetes em forma de pino, como deve ser o código principal da condição para a reconhecer?

if(low[i] <= open[i] && high[i] > close[i] && open[i] >= close[i] && close[i] <= Base[i]) // верно ли это утверждение?
 
clickaider:

Pode dizer-me, aqui está uma imagem de uma barra de alfinetes em forma de pino, como deve ser o código principal da condição para a reconhecer?

Esta é uma barra de pino em baixa. A direcção da vela não é importante. A posição da sombra longa é importante: para cima é em baixa, para baixo é em alta. E é necessária uma confirmação a partir dos indicadores de nível.
 
Artyom Trishkin:
Esta é uma barra de pino em baixa. A direcção da vela não é importante. A posição da sombra longa é importante: para cima é em baixa, para baixo é em alta. E precisamos de confirmação a partir dos indicadores de nível.
Podemos mostrá-lo através de uma construção de código? Só não é muito claro como o código deve ser
 
clickaider:
É possível mostrar isto através da construção de códigos? Só não é muito claro como o código deve ser
Não lhe posso escrever o código a partir do meu telemóvel. Num relance:
É necessário o tamanho do candelabro de Alto Baixo, o tamanho do corpo do candelabro, a percentagem do corpo até ao tamanho do candelabro inteiro, o tamanho da sombra curta não deve exceder um certo limiar (por isso ou estava ausente ou relativamente pequeno para o corpo), e a localização do corpo superior/baixo em relação ao tamanho total do candelabro.
Algo parecido com isto...
 
Artyom Trishkin:
Não lhe posso escrever o código do meu telemóvel. Num relance:
É necessário o tamanho da vela de Alto Baixo, o tamanho do corpo da vela, a percentagem do corpo ao tamanho da vela inteira, o tamanho da sombra curta não deve exceder um certo limiar (de modo que estava ausente, ou era relativamente pequena para o corpo), e a localização do corpo de cima/baixo em relação ao tamanho total da vela.
Algo parecido com isto...

Em termos gráficos, é o que parece:

 
clickaider:

Em termos gráficos, é o que parece:

Agora descreva por palavras o que descreveu graficamente. Usar alto, baixo, aberto, fechado.
Depois de o descrever por palavras, já escreveu os ToR para si próprio :)
Tudo o que resta é substituir a palavra construções por código.