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

 
User_mt5:
Oui, j'aurais dû présenter le code. Mais c'est simple : dans la fonction OnChartEvent(), la première ligne est print :

Ce n'est probablement pas suffisant...

Vous avez fourni des lignes de programme, dont je vais examiner le contenu en détail et faire des expériences. Peut-être que cela résoudra le problème.

Merci beaucoup !

Le code dans l'aide fonctionne, j'ai obtenudelta =+120 etdelta =- 120 dans le journal pour le défilement de la roue.

qui correspond à un défilement dans un sens et dans l'autre

SZY : tenez compte du fait que le terminal Printy peut parfois "avaler" s'il y a des sorties fréquentes dans le journal.

 
Igor Makanu:

Le code dans l'aide fonctionne, j'ai obtenudelta =+120 etdelta =- 120 pour le défilement de la roue dans le journal.

qui correspond au défilement d'un côté et vice versa

SZY : tenez compte du fait que Prynty peut parfois "avaler" si vous avez des sorties fréquentes dans le journal.

Le MQL reste un mystère pour moi à bien des égards. Dans ce cas, après l'activation de la souris, l'événement 9 n'a pas quitté les journaux. Maintenant, c'est 9 et 11 d'un côté et seulement 11 de l'autre. Je ne comprends pas ça, sur ma vie.

Et je ne comprends pas pourquoi certains événements doivent être inclus, alors que d'autres ne le nécessitent pas (je comprends maintenant pourquoi j'ai manqué l'inclusion de la souris - parce que je ne m'y attendais pas, et l'aide, nous ne lisons pas toute la ligne sans exception).

120 J'ai également reçu et je ne comprends toujours pas ce que c'est. Je vais trouver une solution.

Merci encore, vous m'avez été très utile !

 
User_mt5:

Le MQL reste un mystère pour moi à bien des égards. Dans ce cas, après l'activation de la souris, l'événement 9 n'a pas quitté les journaux. Maintenant, c'est 9 et 11 d'un côté et seulement 11 de l'autre. Je ne comprends pas ça, sur ma vie.

Et je ne comprends pas pourquoi certains événements doivent être inclus, alors que d'autres ne le nécessitent pas (je comprends maintenant pourquoi j'ai manqué l'inclusion de la souris - parce que je ne m'y attendais pas, et l'aide, nous ne lisons pas toute la ligne sans exception).

120 J'ai également reçu et je ne comprends toujours pas ce que c'est. Je devrai faire avec.

Merci encore, vous êtes très utile !

Ce n'est pas un problème MQL, Windows génère des événements de cette manière, par exemple, un événement de clic de souris Windows est généré en donnant plusieurs événements : bouton pressé, puis bouton cliqué - et vous n'avez besoin de traiter qu'un seul clic

Il en est de même pour la roue - la file d'attente des messages est générée

 
Igor Makanu:

Ce n'est pas un problème MQL, c'est la façon dont Windows génère les événements, par exemple le message de clic de souris de Windows est généré en générant plusieurs événements : bouton enfoncé, puis bouton enfoncé - et un seul clic doit être traité.

la même chose avec la roue - une file de messages est générée

Puisque vous le dites, il doit en être ainsi. Mais je ne suis pas un programmeur professionnel, et il m'est donc difficile de comprendre certaines choses.

Merci.

 

Salutations à tous !

Aider à comprendre sans ambiguïté l'exactitude du calcul du risque acceptable en argent et le volume de la position prévue, je suis intéressé par la formule qui prend en compte le TickPrice et d'autres nuances, plutôt que de raisonner sur le sujet.

Données d'entrée :

Dépôt, $ = 3000
Risque par transaction, % = 5
Prix du risque, $ = ?
Taille SL, point= 250
Prix tick = 1,3
Volume du lot = ?

Je calcule comme suit :

Prix du risque, $ = Dépôt, $ * Risque par transaction, % / 100
Volume du lot = Prix du risque, $ / Taille SL, point / Prix du Tick

 
Anzhela Sityaeva:

Salutations à tous !

Aider à comprendre sans ambiguïté l'exactitude du calcul du risque acceptable en argent et le volume de la position prévue, je suis intéressé par la formule qui prend en compte le TickPrice et d'autres nuances, plutôt que de raisonner sur le sujet.

Entrées :

Dépôt, $ = 3000
Risque par transaction, % = 5
Prix du risque, $ = ?
Taille SL, point = 250
Prix du tic-tac = 1,3
Volume du lot = ?

Je calcule comme suit :

Prix du risque, $ = Dépôt, $ * Risque par transaction, % / 100
Volume du lot = Prix du risque, $ / Taille du SL, point / Prix du tick.

Regardez dans ce conseiller.
Советник 4UJ
Советник 4UJ
  • www.mql5.com
Рекомендаций по валютной паре нет. Используемые индикаторы: Простая скользящая средняя с периодом 48 — SMA(48). Индикатор ATR с периодом 7 и MA по ценам ATR с периодом 30 Условия для покупок: 1. Цена находится выше скользящей средней. 2. Индикатор ATR пересекает свою скользящую среднюю снизу вверх. 3. Как только сформируется первая медвежья...
 
Alexey Viktorov:
Regardez cette EA.

Merci pour votre réponse !

Y a-t-il des mathématiciens dans le coin ? Je voudrais comprendre la différence entre la première et la deuxième version du calcul, dans les deux cas le résultat est le même. Lequel des deux est correct ?

Première option : Volume Volume = Prix à risque, $ / Taille SL, point / Valeur tick
Deuxième variante : Volume du lot = Prix du risque, $ / ( Taille du SL, point * Valeur du tick)

 
Anzhela Sityaeva:

Merci pour votre réponse !

Y a-t-il des mathématiciens dans le coin ? Je voudrais comprendre la différence entre la première et la deuxième version du calcul, dans les deux cas le résultat est le même. Lequel des deux est correct ?

Première option : Volume Volume = Risque Prix, $ / Taille SL, point / Valeur tick
Deuxième variante : Volume du lot = Prix du risque, $ / ( Taille SL, point * Valeur du tick)

Et quel rôle la virgule joue-t-elle dans les formules ???? Si je comprends bien la question, rappelez-vous vos cours de maths de CM2 : vous faites d'abord les expressions entre parenthèses, puis les expressions hors parenthèses. Vous effectuez d'abord les parenthèses, puis la multiplication et la division, et enfin l'addition et la soustraction dans l'ordre de gauche à droite.

Exemple :

100/10/10=1

100/(10*10)=1

 
Alexey Viktorov:

Quel rôle joue la virgule dans les formules ???? Eh bien, si je comprends bien la question, rappelez-vous votre cours de mathématiques de CM2 : vous faites d'abord les expressions entre parenthèses, puis les expressions derrière les parenthèses. Vous effectuez d'abord les parenthèses, puis la multiplication et la division, et enfin l'addition et la soustraction dans l'ordre de gauche à droite.

Exemple :

100/10/10=1

100/(10*10)=1

La virgule ne joue pas de rôle dans la formule, vous l'avez bien noté, elle sépare juste la valeur du type, pour faciliter la compréhension, rien de plus. La cinquième année, c'était il y a longtemps :), je n'ai jamais été bon en maths, c'est comme ça. Mais je me souviens de l'ordre des opérations.

La question est exactement la même dans les deux variantes du calcul, quelle variante est correcte ?

 

Bonjour à tous...

J'essaie de supprimer un indicateur que j'ai ajouté à un EA. Je fais ce qui suit :

//Объявляю переменные
int win_ind=-1,
    handle_ind = INVALID_HANDLE;

//Создаю
   handle_ind= iCustom(NULL,0,"ind");
   if(handle_ind== INVALID_HANDLE){
      Print("Не удалось создать индикатор. Код ошибки: ",GetLastError());
      return(false);
   }
   win_ind=(int)ChartGetInteger(0,CHART_WINDOWS_TOTAL); //--- получим номер нового подокна, в которое добавим индикатор 
   if(!ChartIndicatorAdd(0,win_ind,handle_ind)){
      Print("Не удалось добавить индикатор на окно графика. Код ошибки: ",GetLastError());
      return(false);
   }

//Удаляю
   string name = ChartIndicatorName(0, win_ind, 0);
   bool res = ChartIndicatorDelete(0, win_ind, name); 
   if (!res) PrintFormat("Не удалось удалить индикатор %s с окна №%d. Код ошибки %d", name,win_ind,GetLastError());

Dans Indicateur :

int OnInit(){
   IndicatorSetString(INDICATOR_SHORTNAME,"blablabla");

L'indicateur est ajouté, le numéro de la sous-fenêtre et le nom court sont corrects, mais il y a une erreur lors de la suppression :

2019.05.08 12:01:10.068 2019.04.03 12:39:31 Impossible de supprimer l'indicateur blablabla de la fenêtre n°2. Code d'erreur 4014

4014 - "La fonction système n'est pas autorisée à être appelée". Pouvez-vous me dire ce que cela signifie, comment supprimer l'indicateur ?

Raison: