Errori, bug, domande - pagina 1541

 
Karputov Vladimir:
Avete bisogno di un analogo del clic destro sul grafico e "Aggiorna" per l'indicatore?
Ehm... Non ho bisogno di nulla. Ho solo detto che ChartRedraw() non è analogo al clic "refresh".
 
come aprire un conto demo sul server metaquotes? Per ottenere nuove versioni di mt5 ...
 
Vladimir Pastushak:
come aprire un conto demo sul server metaquotes? Per ottenere nuove versioni di mt5 ...
scegliere il server MetaQuotes-Demo quando si apre un conto demo
 
Karputov Vladimir:
Avete bisogno di un analogo del clic destro sul grafico e "Aggiorna" per l'indicatore?

Sì, proprio così. In modo che l'indicatore possa calcolare, ma non indirizzare l'init. ChartRedraw() non lo fa.

Chiamato in OnChartEvent

 
Владимир:

Sì, proprio così. In modo che l'indicatore possa calcolare, ma non indirizzare l'init. ChartRedraw() non lo fa.

Chiamato in OnChartEvent

Rendete l'intero ciclo una funzione e chiamatela con i parametri richiesti da dove volete.
 
Владимир:

Sì, proprio così. In modo che l'indicatore possa calcolare, ma non indirizzare l'init. ChartRedraw() non lo fa.

Chiamato in OnChartEvent

Per quattro

  static int FullOnCalculate( void )
  {
    long volume[];
    int spread[];

    ArraySetAsSeries(volume, TRUE);
    ArraySetAsSeries(spread, TRUE);

    const int Size = MathMin(CopyTickVolume(Symbol(), Period(), 0, Bars, volume),
                             CopySpread(Symbol(), Period(), 0, Bars, spread));

    return(OnCalculate(Size, 0, Time, Open, High, Low, Close, Volume, volume, spread));
  }

Lo stesso per il quinto.

 

Perché questa classe si compila sotto MT4 ma non sotto MT5?

class CHARTOBJECT
{
public:
  template <typename T>
#ifdef __MQL4__
  void SetProperty( const int id, const T Value, const int Modifier = 0 ) const
#else #endif
#ifdef __MQL5__
  void SetProperty( const ENUM_OBJECT_PROPERTY_STRING id, const T Value, const int Modifier = 0 ) const
#endif      
  {
    const string sType = typename(T);

    if (sType == "double")
      ::ObjectSetDouble(0, "", id, Modifier, (double)Value);
    else if (sType == "string")
      ::ObjectSetString(0, "", id, Modifier, (string)Value);
    else
      ::ObjectSetInteger(0, "", id, Modifier, (long)Value);

    return;
  } 
  
  virtual void operator =( const string Value ) const
  {
    this.SetProperty(OBJPROP_TEXT, Value);

    return;
  }
};
 
C'è per caso un #else o un #endif?
 
Комбинатор:
#else o #endif non sono inutili lì?

Nella linea#else #endif, se rimuovo #endif, non compila. Non so nemmeno io perché non si compila.

Ma anche se rimuovo tutta la compilazione condizionale, non compila sotto MT5, ma compila sotto MT4.

 
Alexey Kozitsyn:
Cos'è un multiterminale?)
Si tratta di una versione del terminale MT4, un'istanza del quale può presumibilmente lavorare con diversi conti allo stesso tempo. Ho scaricato il file di installazione fcmt4multisetup_it.exe dal sito di FXCluba. È il loro sviluppo in generale e mi sto rivolgendo all'indirizzo sbagliato?