Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1303

 
afsmerinostra:

Buon pomeriggio,

Per favore aiutatemi a trovare un bug... Copio i valori delle barre (BarsCount) dal buffer dell'indicatore nello script, poi faccio un loop dei valori, rilevo un segnale e li stampo a Print(); sembra semplice, ma non è così facile... Ricevo tutti i segnali come volevo, tranne che per l'attraversamento della linea dello zero.

Forse questo non è permesso nello script? Ho allegato il codice e uno screenshot del log... Grazie mille!

Il crossover può essere definito solo confrontando il valore dell'indice dell'array precedente con zero e il valore di quello attuale con zero. Cioè, era sopra lo zero ed è diventato sotto lo zero. O viceversa, era più basso ed è diventato più alto.

E assicuratevi di leggere la documentazione su come funziona l'if tlse if.

Se il vostro codice contiene una condizione, tutte le successive non saranno processate.

 
Alexey Viktorov:

Un'intersezione può essere definita solo confrontando l'indice della matrice precedente con zero e quello attuale con zero. Cioè era sopra lo zero ed è diventato sotto lo zero. O viceversa, era più basso ed è diventato più alto.

E assicuratevi di leggere la documentazione su come funziona l'if tlse if.

Se il vostro codice contiene una condizione, tutte le successive non saranno processate.

Il controllo del livello contro lo zero era corretto. Ho spostato le condizioni di attraversamento all'inizio del codice e tutto ha funzionato. Grazie!
 
afsmerinostra:
Tutto era giusto per quanto riguarda il controllo del livello rispetto a zero. Ho spostato le condizioni di intersezione all'inizio del codice e tutto funziona. Grazie!

In generale, è necessario pulire altro, sono necessari solo quando le condizioni sono reciprocamente esclusive e la sovrapposizione è condizioni separate.

 
Ciao a tutti!!! Potete dirmi cosa c'è che non va?
//+------------------------------------------------------------------+
//|                                                 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);
  }
//+------------------------------------------------------------------+
 

Dice: perché non ti sei degnato di restituire il valore?

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:

Dice: perché non ti sei degnato di restituire il valore?

Esattamente!!! Oh mio Dio)))

 
Vladimir Karputov:

Dice: perché non si è degnato di restituire il valore?

Grazie!!!

 
In mql4 ci sono funzioni

OrderCloseTime();

e datetimeOrderOpenTime(); Come posso ottenere questi dati programmaticamente in mql5 per le posizioni già chiuse? Cioè, il tempo di apertura e chiusura di una posizione chiusa?

 
bahtiyar:
In mql4 ci sono funzioni

OrderCloseTime();

e datetimeOrderOpenTime(); Come posso ottenere questi dati programmaticamente in mql5 per le posizioni già chiuse? Cioè, il tempo di apertura e chiusura delle posizioni chiuse

Selezionate nella storia del commercio per ID di posizione e nelle proprietà dei commerci c'è l'apertura e la chiusura. Non solo il tempo, ma anche il prezzo e il motivo della chiusura e qualcos'altro.
 

Puoi darmi un suggerimento? Questa voce:

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

Cosa significa, come interpretarlo, opzioni di utilizzo. Parametri.