Errori, bug, domande - pagina 413

 

Allora ditemi cosa viene restituito se la funzione ha successo

e cosa restituisce se fallisce, perché la documentazione non dice nulla al riguardo...

come ho capito 1 è vero

0 - falso ???????????????

//-----------------------------------------//

Restituisce il valore di una proprietà corrispondente di un programma mql5 in esecuzione.

intMQL5InfoInteger(
intproperty_id// identificatore di proprietà
);

Parametri

ID proprietà

[Identificatore della proprietà. Può essere uno dei valori dell'enumerazione ENUM_MQL5_INFO_INTEGER.

Valore restituito

Valore di tipo int.

//---------------------------------------//

 

In questa costruzione

NormalizeDouble(p, SymbolInfoInteger(symbol,SYMBOL_DIGITS));

errore di mancata corrispondenza del tipo di dati

possibile perdita di dati a causa della conversione del tipo


Forse qualcuno sa come risolvere il problema = davvero ...?

Grazie!

 
Im_hungry:

Allora ditemi cosa viene restituito se la funzione ha successo

e cosa restituirà quando fallisce

I documenti non dicono nulla sull'esecuzione"fallita" MQL5InfoInteger.

Per controllare il successo usa GetLastError

 
Im_hungry:

Qualcuno sa come risolvere il problema = davvero ...?

per portarlo al tipo richiesto.
 
sergeev:
al tipo richiesto.

Non so come farete a portarlo dentro quando la documentazione dello sviluppatore mostra chiaramente

Quel long to int non funzionerà come scrivi: "cast al tipo richiesto".

 
sergeev:

non c'è niente nei documenti sull'esecuzione"fallita" MQL5InfoInteger. ci sono solo quelli di successo.

E per controllare il successo usa GetLastError

Capisco il suo scettico ottimismo,

Grazie per il vostro aiuto, buona giornata.

 
Im_hungry:

Non so come si possa citare se la documentazione degli sviluppatori mostra chiaramente

Quel long to int non funzionerà come scrivete: "ridurre al tipo richiesto".

Come questo

int OrdersLimit = (int)AccountInfoInteger(ACCOUNT_LIMIT_ORDERS);
 
Interesting:

Va più o meno così.

Alla fine=la prima persona reale che respirava per la prima volta è apparsa per

oggi, grazie a tutte le opere. Buona fortuna!

 

Non posso battere iCustom().

Sia in Quartet che ora in Fiver, quando si estraggono i valori degli indicatori nelle barre senza segnali

iCustom() a volte mostra artefatti diversi:

I dati sono estratti come segue:

int OnInit()
  {
...
    IH=iCustom(Symbol(),PERIOD_CURRENT,"Indicator.ex5");
...
  }

void OnTick()
  {
...
      double IC=0;      
      double IB[];
      CopyBuffer(IH,1,WorkBar,1,IB);
      IC=IB[0];
      if(IC>0){Print(IC);}
...
  }

Il valore della variabile WorkBar=1 determina il numero della barra il cui valore stiamo estraendo dal buffer.

Quale potrebbe essere il problema? Non puoi usare le variabili?

Se si cerca di estrarre dati da due buffer diversi in un solo tick, a volte si ottiene quanto segue:

 
MoneyJinn:

Non posso battere iCustom().

Sia in Quartet che ora in Fiver, quando si estraggono i valori degli indicatori nelle barre senza segnali

a volte iCustom() produce artefatti diversi:

Imposta sempre esplicitamente i valori per tutte le barre negli indicatori. Leggete l'articolo Indicatore per indicatore in MQL5:

Dovresti impostare un valore per ogni elemento del buffer dell'indicatore, e se il valore dell'indicatore per una data barra non è definito (non calcolato, secondo l'algoritmo incorporato nell'indicatore), dovresti impostare esplicitamente un valore vuoto per questi casi. Per esempio, il valore del buffer dell'indicatore è calcolato attraverso l'operazione di divisione, e ad un certo punto può risultare che il divisore è uguale a zero.

Motivazione: