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

 
afsmerinostra:

Boa altura,

Por favor, ajudem-me a encontrar um insecto... Copio valores de barras (BarsCount) do buffer de indicadores no guião, depois faço um loop em torno dos valores, detecto um sinal e imprimo-os para Print(); parece ser simples, mas não é assim tão fácil... Recebo todos os sinais como eu queria, excepto o de atravessar a linha zero.

Talvez isto não seja permitido no guião? anexei o código e uma imagem de ecrã do registo... Muito obrigado!

O cruzamento só pode ser definido comparando o valor do índice da matriz anterior com zero e o valor da matriz actual com zero. Ou seja, estava acima de zero e ficou abaixo de zero. Ou vice-versa, era mais baixo e tornou-se mais alto.

E não se esqueça de ler a documentação como se a documentação funcionar.

Se uma das condições do seu código for verdadeira, todas as condições seguintes não serão processadas.

 
Alexey Viktorov:

Uma intersecção só pode ser definida comparando o índice da matriz anterior com zero e o índice actual com zero. Ou seja, estava acima de zero e ficou abaixo de zero. Ou vice-versa, era mais baixo e tornou-se mais alto.

E não se esqueça de ler a documentação como se a documentação funcionar.

Se o seu código contiver uma condição, todas as seguintes não serão processadas.

A verificação do nível contra zero estava correcta. Movi as condições de passagem para o início do código e tudo funcionou. Obrigado!
 
afsmerinostra:
Tudo estava certo sobre a verificação do nível relativo a zero. Movi as condições de intersecção para o início do código, e tudo funciona. Obrigado!

Em geral, é preciso fazer uma limpeza diferente, só são necessárias quando as condições são mutuamente exclusivas e a sobreposição é condições separadas.

 
Olá a todos!!! Podem dizer-me o que se passa?
//+------------------------------------------------------------------+
//|                                                 Signal_Line.mqh |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
class Signal_Line
  {
private:

public:
                     Signal_Line();
                    ~Signal_Line();
   bool              Signal_Short(double &Trend_Line_UP[][], int UP);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::Signal_Line()
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::~Signal_Line()
  {
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|     Метод проверки флагов событий цены относительно линий тренда                                                             |
//+------------------------------------------------------------------+
bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
  }
//+------------------------------------------------------------------+
 

Diz: Porque não se dignou a devolver o valor?

bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
//---
   return(false);
  }
 
Vladimir Karputov:

Diz: Porque não se dignou a devolver o valor?

Exactamente!!! Oh meu Deus))))

 
Vladimir Karputov:

Diz: porque não se dignou a devolver o valor?

Obrigado!!!

 
Em mql4 há funções

OrderCloseTime();

e datetimeOrderOpenTime(); Como posso obter estes dados programmaticamente em mql5 para posiçõesfechadas? Ou seja, o tempo de abertura e fecho de uma posição fechada?

 
bahtiyar:
Em mql4 há funções

OrderCloseTime();

e datetimeOrderOpenTime(); Como posso obter estes dados programmaticamente em mql5 para posiçõesfechadas? Ou seja, o tempo de abertura e encerramento de posições fechadas

Seleccione na história do comércio por ID de posição e nas propriedades do comércio há abertura e fecho. Não só o tempo, mas também o preço e a razão para fechar e outra coisa qualquer.
 

Pode dar-me uma dica? Esta entrada:

var1=(var<10)?1:0;

O que significa, como interpretá-lo, opções de utilização. Parâmetros.