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

 
BillionerClub:

Comment convertir la position de la souris dans le temps, mais sans lancer ?

Il doit y avoir au moins une sorte d'événement. Est-ce que déplacer la souris fonctionnerait ?
 
Alexey Viktorov:
Eh bien, il doit y avoir une sorte d'événement. Peut-être qu'un mouvement de souris fonctionnerait ?

Non, juste la lecture des coordonnées et la conversion pendant la bougie.

 
Alexey Viktorov:
Au moins, il doit y avoir un événement. Peut-être qu'en déplaçant la souris, ça marcherait ?

Oui merci, vous avez raison, c'est la même chose. Même si, bien sûr, une personne doit d'abord déplacer la souris, puis appuyer sur le raccourci clavier.

 
Il s'est avéré impossible d'utiliser les fonctions des événements personnalisés dans les scripts. Maintenant, je dois exécuter l'indicateur et l'utiliser pour exécuter le script. En principe, quelle différence cela fait-il si vous n'utilisez pas le glisser-déposer, mais des touches de raccourci.
 
BillionerClub:
C'est drôle, il s'avère que les fonctions d'événements personnalisés ne peuvent pas être utilisées dans les scripts. Maintenant je dois lancer l'indicateur et exécuter le script à travers lui. En principe, quelle différence cela fait-il si je n'utilise pas le glisser-déposer, mais des touches de raccourci.

J'aurais probablement dû écrire dans la documentation de manière plus spécifique que OnChartEvent ne fonctionne pas dans les scripts, mais une telle ligne est dans la documentation

La fonction peut être appelée dans les Expert Advisors et les indicateurs, elle doit avoir le type void et 4 paramètres :

Et les événements personnalisés n'ont rien à voir avec cela.

 
BillionerClub:

Comment convertir, la position de la souris, en temps, mais sans lancer ?

Certaines personnes écrivent sans ponctuation, d'autres s'amusent à... Ils pensent que parce qu'ils posent une question, tout le monde devrait savoir de quoi il s'agit...

Tu es allé à l'école ? C'était difficile ? Tu crois que ça va être facile ici ? Tu ne préfères pas retourner à l'école ?

 
Alexey Viktorov:

Eh bien, voici la ligne.

Il suffit de mettre un nombre au lieu d'une formule et ...

Je le fais, mais cela renvoie zéro. Cette fonction dans l'indicateur"A_D1", je mets sa valeur dans le tampon, puis j'appelle l'indicateur à partir du script, la valeur est sortie sur l'imprimante.

  Lot= iCustom(NULL,0,"A_D1",0,1);
  Print("Lot ",DoubleToStr(Lot,2));

Si la fonction dans le code avec la chaîne

RiskMony = floor(FreeMargin*risk/100);

il imprimera un certain nombre de 0.07, mais si

RiskMony =1.5;//

il imprimera 0.00

 

Merci à tous pour votre aide et vos critiques, bonne journée à tous. J'ai ajouté le script entier à l'indicateur via CHARTEVENT_CLICK comme fonction. Tout a fonctionné, la commodité des horaires et la rapidité.


#include <Keys.mqh>
CKeys ckeys;

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//--- нажатие кнопки на клавиатуре 
   if(id==CHARTEVENT_CLICK)
     {

      if(ckeys.KeyCtrlState())
        {
        Запустить();        
        }

     }

  }



 
macleta:

Je le fais, mais cela renvoie zéro. Cette fonction dans l'indicateur"A_D1", je mets sa valeur dans le tampon, puis j'appelle l'indicateur depuis le script, je sors la valeur sur l'imprimante.

Si la fonction dans le code avec la chaîne

il imprimera un certain nombre de 0.07, mais si

il imprimera 0.00.

Int semble aller à l'arrondi binaire, la troncature, et n'est pas compatible avec d'autres types de données, sans pertes.

 
macleta:

Je le fais, mais cela renvoie zéro. Cette fonction dans l'indicateur"A_D1", je mets sa valeur dans le tampon, puis j'appelle l'indicateur depuis le script, je sors la valeur sur l'imprimante.

Si la fonction dans le code avec la chaîne

il imprimera un certain nombre de 0.07, mais si

il imprimera 0.00

Que diriez-vous de 15 ou 20 au lieu de 1,5 ? Peut-être voulez-vous faire très peu de profit sur un TP trop long ?