Erreurs, bugs, questions - page 6

 
Prival:

c'est écrit dans l'aide.

intday_of_year;// numéro dans une année (le 1er février est le 32e jour de l'année)

Pour une raison quelconque, c'est toujours 31 ((

le script ci-joint

dans le fichier

2010.02.01 00:00:00 143.832 143.839 143.758 143.771 186 2010 2 1 0 0 1 31

Il s'agit d'une erreur dans la documentation. La numérotation des jours dans une année commence à partir de 0. Merci.
 
stringo:
Il s'agit d'une erreur dans la documentation. La numérotation des jours d'une année commence à partir de 0. Merci.
Je comprends que c'est plus compliqué, mais cela semble plus familier (pour le profane, mais pas pour le programmeur). Le 1er janvier est un jour de l'année. Je pense que la référence est correcte.
 
Prival:
Je comprends que c'est plus compliqué, mais cela semble plus familier (pour le profane. Pour le programmeur, c'est bon). Le 1er janvier est le premier jour de l'année. Cela me semble juste dans l'aide.
Nous traduisons la structure de temps du système standard à notre structure MqlTime
 
Pour une raison quelconque, je ne peux pas télécharger le terminal à partir du serveur, il est indiqué "failed to download data from server", quel est le problème ?
 

Bonjour, pouvez-vous m'aider à traduire la fonction de mt4 à mt5. Je l'ai traduit, mais ce n'est pas bon, si vous n'êtes pas dur, s'il vous plaît envoyez-moi le bon code, je ne suis pas très bon en MQL. Je commence tout juste à l'apprendre.

//+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#lien de propriété"http://www.mql5.com"
#propriété version "1.00"
//--- paramètres d'entrée

entrée double Lots=0.1 ;
entrée bool MM = true ;
entrée double Risque = 10 ;


//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'expert|
//+------------------------------------------------------------------+
int OnInit()
{
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction de désinitialisation des experts|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}

//+------------------------------------------------------------------+
//| fonction tick expert|
//+------------------------------------------------------------------+
void OnTick()
{
if( MM )double Lots = LotSon() ; //appelle la fonction LotSon
}
//+------------------------------------------------------------------+
double LotSon()
{
double LotMin = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN) ;
double LotMax = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX) ;
double Lots = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk ;
double Lots = MathMin(Lotmax,MathMax(Lotmin,Lots)) ;

si (LotMin < 0.1)Lots = NormalizeDouble(Lots,2) ;
sinon
{
si (LotMin < 1.0)Lots = NormalizeDouble(Lots,1) ;
sinon Lots = NormalizeDouble(Lots,0) ;
}
if (Lots < LotMin) Lots = LotMin ;
if (Lots > LotMax) Lots = LotMax ;
}

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 

Comment obtenir le code en couleur ?

 
FEDOR_MQL:

Comment obtenez-vous la couleur de votre code ?

Article de la communauté MQL5 - Mémo de l'utilisateur:

Le bouton est destiné à insérer le code source MQL dans le texte du message. Dès que vous appuyez sur ce bouton, une fenêtre vide apparaît, dans laquelle vous devez insérer le code, puis appuyer sur le bouton Insérer. Pour annuler l'insertion du code, appuyez sur le bouton Annuler.

Il n'est pas recommandé de mettre du code en gras afin de faire ressortir certains morceaux de code d'une certaine manière. Le fait est que les polices mono-espaces s'affichent différemment selon les systèmes d'exploitation et les navigateurs. Par exemple, Windows Vista utilise la police monospace Consolas, qui possède une police en gras pour la taille 10, presque impossible à distinguer d'une police ordinaire.

 
FEDOR_MQL:

Bonjour, pouvez-vous m'aider à traduire la fonction de mt4 à mt5. Je l'ai traduit, mais ce n'est pas bon, si vous n'êtes pas dur, s'il vous plaît envoyez-moi le bon code, je ne suis pas très bon en MQL. Je commence tout juste à l'apprendre.


 //+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//--- input parameters

input double   Lots=0.1;
input bool     MM = true;
input double   Risk = 10;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
  return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if( MM ) Lots = LotSon();      //вызов функции LotSon 
  }
//+------------------------------------------------------------------+
double LotSon()
{
  double LotMin     = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
  double LotMax     = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
  double LotStep    = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
  double Lot        = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk;
  Lot               = MathMin(Lotmax,MathMax(Lotmin,Lot));
  
  if (Lot < LotMin) Lot = LotMin;
  if (Lot > LotMax) Lot = LotMax;
  // Вариант первый
  switch(LotStep)
  {
   case 0.01: return(NormalizeDouble(Lot,2));
   case 0.1 : return(NormalizeDouble(Lot,1));
   case 1.0 : return(NormalizeDouble(Lot,0));
  }
  // Вариант второй
  // if (LotStep == 0.01)return(NormalizeDouble(Lot,2));
  // if (LotStep == 0.1) return(NormalizeDouble(Lot,1));
  // if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
  // Вариант третий
  // if (LotStep == 0.01)return(NormalizeDouble(Lot,2));
  // else if (LotStep == 0.1) return(NormalizeDouble(Lot,1));
  // else if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
  
}
 

Très bien, faisons un essai. Merci à tous ! Est-ce que je pose même ces questions ? Ou dois-je aller ailleurs ? Merci d'avance pour la réponse.

 

Et à ce stade du développement : les paramètres, l'appel de la fonction et la fonction elle-même doivent afficher ou non les erreurs de compilation. Si oui, pourquoi ? J'ai des erreurs qui montrent

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5