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

 
Salut à tous ! !! Je suis un débutant. J'ai une question à poser : lorsque je compile un EA, j'obtiens le message d'erreur suivant : 'StopLoss' - declaration without type.

Voici le code :

//--- Pour travailler avec des courtiers utilisant des cotations à 3 et 5 chiffres,
//--- multiplier par 10 les valeurs de SL et TP
StopLoss = STP;-et IL Y A L'OCCASION DE CHANGER CELA ? ?????
TakeProfit = TKP ;
if(_Digits==5 || _Digits==3)
{
SL = SL*10 ;
TP = TP*10 ;

}

Des conseils ?

 
vyacheslavovich:
Bonjour à tous ! !! Je suis un débutant. Je voudrais demander : Lors de la compilation de l'EA, j'obtiens en erreur : 'StopLoss' - déclaration sans type.
Cela signifie que la variable StopLoss n'a pas été déclarée auparavant.
 
vyacheslavovich:
Salut à tous ! !! Je suis un débutant. J'ai une question à poser : lorsque je compile un EA, j'obtiens le message d'erreur suivant : 'StopLoss' - declaration without type.

Voici le code :

//--- Pour travailler avec des courtiers utilisant des cotations à 3 et 5 chiffres,
//--- multiplier par 10 les valeurs de SL et TP
StopLoss = STP;-et IL Y A L'OCCASION DE CHANGER CELA ? ?????
TakeProfit = TKP ;
if(_Digits==5 || _Digits==3)
{
SL = SL*10 ;
TP = TP*10 ;

}

Des conseils ?

   double StopLoss = STP;
   double TakeProfit = TKP;

Cela devrait être mieux.

 
Bon après-midi. Cela fait deux jours que je me bats avec des fichiers externes. Pouvez-vous me dire ce qui ne va pas.
#import "shell32.dll"
   int ShellExecuteA(int hwnd, string lpOperation, string lpFile,string lpParameters,string lpDirectory,int nShowCmd);
#import
void OnStart()
  {
   ShellExecuteA(CHART_WINDOW_HANDLE,"open","F:\\222.mp3", NULL,NULL,1);
  }
 
Andrei-1:
Bonjour. Je me débats avec le lancement de fichiers externes pour la deuxième journée. S'il vous plaît, dites-moi ce qui ne va pas.
//+------------------------------------------------------------------+
//| Функция получает хэндл графика                                   |
//+------------------------------------------------------------------+
int ChartWindowsHandle(long chart_ID)
  {
//--- подготовим переменную для получения значения свойства
   long result=-1;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_WINDOW_HANDLE,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((int)result);
  }

Mais il n'obtiendra que la poignée du graphique. Et le graphique lui-même est contenu dans une fenêtre de classe supérieure (fenêtre parent). Dans ShellExecuteA, vous devez substituer le handle de la fenêtre parent.

Regardez le script Transparent MetaTrader 5 : il a pour fonction de récupérer le handle du terminal via ChartID().

Transparent MetaTrader 5
Transparent MetaTrader 5
  • votes : 19
  • 2014.03.10
  • Karputov Vladimir
  • www.mql5.com
Данный скрипт позволяет делать полупрозрачным весь терминал.
 
Salutations à tous !
MQL4 possède une bonne fonction - Barshift. Malheureusement, elle n'est pas disponible dans MQL5. Comme variante pour remplacer cette fonction, vous pouvez copier les données de la série chronologique à partir de la date de début (pour laquelle le décalage est recherché) et voir le nombre d'éléments copiés. Mais si nous devons traiter un grand nombre de dates différentes, nous ne voulons pas surcharger l'ordinateur en copiant constamment plusieurs séries chronologiques. Bien sûr, nous sommes obligés d'essayer de trouver les bonnes valeurs en utilisant l'énumération des tableaux. Et nous en arrivons à la question. :) Après avoir parcouru la documentation, je n'ai trouvé qu'une seule fonction standard, qui recherche des valeurs dans un tableau : ArrayBSearch. Mais il ne fonctionne pas avec les tableaux contenant des données de type date. Existe-t-il une fonction standard pour rechercher par date dans un tableau de dates ? Ou est-il possible d'utiliser une sorte de conversion de données ?
 
BlackTomcat:
Salutations à tous !
MQL4 possède une bonne fonction - Barshift. Malheureusement, elle n'est pas disponible dans MQL5. Comme variante pour remplacer cette fonction, vous pouvez copier les données de la série chronologique à partir de la date de début (pour laquelle le décalage est recherché) et voir le nombre d'éléments copiés. Mais si nous devons traiter un grand nombre de dates différentes, nous ne voulons pas surcharger l'ordinateur en copiant constamment plusieurs séries chronologiques. Bien sûr, nous sommes obligés d'essayer de trouver les bonnes valeurs en utilisant l'énumération des tableaux. Et nous en arrivons à la question. :) Après avoir parcouru la documentation, je n'ai trouvé qu'une seule fonction standard, qui recherche des valeurs dans un tableau : ArrayBSearch. Mais il ne fonctionne pas avec les tableaux contenant des données de type date. Existe-t-il une fonction standard pour rechercher par date dans un tableau de dates ? Ou est-il possible d'utiliser une conversion de données ?
Des analogues ont déjà été écrits depuis longtemps - cherchez sur le site.
 
Existe-t-il un moyen d'augmenter un fichier (notamment csv) via FileOpen sans l'écraser ? Je veux dire, FileOpen(name,FILE_CSV|FILE_WRITE|...) recrée juste un fichier propre, pas ouvre un fichier existant s'il existait déjà. La question du texte est résolue, mais pas de manière très élégante : il suffit de le lire dans une variable au préalable et de l'ajouter au nouvel enregistrement. Mais le csv ne fonctionne pas...
 
Bonjour à tous et bonne journée !!! Aujourd'hui j'ai essayé de gagner sur les nouvelles de la GBP, j'ai mis deux ordres en attente buy stop et sell stop, stop loss a été mis à 200 points, take profit de 100 points. Après la publication des nouvelles le prix a monté directement, mais l'ordre buy stop a clôturé avec -0.34$ quand le prix a monté directement de 500 points.
 
Je ne sais pas... l'écart doit être