Questions des débutants MQL5 MT5 MetaTrader 5 - page 269

 
tol64:
Volume tic et réel (le cas échéant).

et quelle est la différence entre tique et réel ????

 
soroko:

Quelle est la différence entre un teck et un vrai teck ?

Le tick est le nombre de transactions, le real est basé sur la taille.
 
zfs:
tick est le nombre de transactions, real est basé sur la taille de la transaction.

alors pourquoi le vrai montre 0 partout ?

 
soroko:

alors pourquoi le vrai montre 0 partout ?

pas de données, les volumes réels du forex ne sont pas connus, ceci est pour d'autres échanges comme les forts
 
zfs:
pas de données, en forex les volumes réels ne sont pas connus, c'est pour d'autres échanges comme les forts

Merci de m'avoir épargné le temps que j'aurais passé à le chercher).

 
Et pour ma question principale, quelle fonction puis-je utiliser pour remplir le tableau avec les 5 derniers prix afin de trouver de quel côté le prix traverse la ligne ? Merci d'avance.
 
soroko:
Je comprends cela, mais comment déplacer le prix dans le tableau. J'ai essayé avec la fonction ArrayCopy, elle passe 0,0 ou le même Bid. Et je m'inquiète aussi de la masse de code, ne puis-je pas tout faire avec une seule fonction ?
Élément par élément dans une boucle.
 
soroko:
Pour ma question principale, quelle fonction puis-je utiliser pour remplir le tableau avec les 5 derniers prix afin de trouver de quel côté le prix traverse la ligne ? Merci d'avance.
Vous devez avoir des connaissances de base en programmation.
 

Je ne peux pas obtenir les paramètres d'un indicateur qui n'est pas sur le graphique. Voici le code avec toutes les choses inutiles supprimées, les lignes pour obtenir les paramètres de l'indicateur sont copiées de l'aide. L'indicateur lui-même est attaché à un graphique d'une heure, mais je veux travailler avec cinq minutes. GetLastError() génère l'erreur 4006, mais rien ne semble clocher...

int m_MA_M5;

int OnInit()
  {
  
m_MA_M5 = iMA(NULL, PERIOD_M5, 12, 0, MODE_SMA, PRICE_CLOSE);

if (m_MA_M5 <=0 )
{
   Print("Error create MA");
   return (INIT_FAILED);
}
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   if (prev_calculated == rates_total)
      return (rates_total);

   
          MqlParam parameters[];
          ENUM_INDICATOR indicator_type;
          int params=IndicatorParameters(m_MA_M5,indicator_type,parameters);
          
          if (params<0)
          {
            Print("Error geted data Last Error=", GetLastError());
          }else{
          
         	 //--- заголовок сообщения
	          string par_info="Short name M5"+", type "
                          +EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
        	  //--- 
	          for(int p=0;p<params;p++)
        	    {
	             par_info+=StringFormat("parameter %d: type=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
                                    p,
                                    EnumToString((ENUM_DATATYPE)parameters[p].type),
                                    parameters[p].integer_value,
                                    parameters[p].double_value,
                                    parameters[p].string_value
                                    );
        	    }
	          Print(par_info);
    
   	}
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
Bonjour, j'ai un EA écrit en mt4 qui peut être converti en mt5.