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

 
Vladimir Karputov:

J'ai écrit ça hier :

Tâche :

à chaque tick, obtenir les éléments "InpCountCopy" : open, high, low, close et time.

Mise en œuvre :

  1. boucle de "0" à "InpCountCopy-1" - la boucle récupère une ouverture, un haut, un bas, une fermeture et un temps à la fois.
  2. A un moment donné, nous récupérons les éléments "InpCountCopy" dans la structure MqlRates et nous bouclons ensuite dans la structure.

Caractéristiques :

Vous pouvez choisir le mode de vérification : en OnTick ou en OnTimer (1 seconde).


Pourquoi en ai-je besoin ? La question ne s'adressait pas à tout le monde, mais seulement à Aleksey Vyazmikin.
 
Alexey Viktorov:
Pourquoi moi ? La question ne s'adressait pas à tout le monde, mais seulement à Aleksey Vyazmikin.

Modifié : maintenant pour tout le monde :)

 

Pouvez-vous me dire, j'ai tout fait selon le style fantaisie, j'ai dessiné une ligne dans init, je l'ai sélectionnée, mais dans le testeur en mode visuel je ne peux pas la déplacer de sa place, en général il est impossible de faire quoi que ce soit avec elle.

Qu'est-ce qui ne va pas, que dois-je faire pour le manipuler ? Il n'y a pas de problème de quadruplet


 
Vitaly Muzichenko:

Pouvez-vous me dire, j'ai tout fait selon le style fantaisie, j'ai dessiné une ligne dans init, je l'ai sélectionnée, mais dans le testeur en mode visuel je ne peux pas la déplacer de sa place, en général il est impossible de faire quoi que ce soit avec elle.

Qu'est-ce qui ne va pas, que dois-je faire pour le manipuler ? Il n'y a pas de problème de quadruplet

Dans le testeur, pour autant que je sache, vous ne pouvez pas contrôler manuellement les graphiques.
 
Alexey Kozitsyn:
Dans le testeur, pour autant que je sache, vous ne pouvez pas contrôler les graphiques manuellement.

La réponse est probablement fausse, ce n'est pas possible, c'est un testeur de stratégie. Plus probablement un bug de ma part, mais comment le corriger ?

 
Vitaly Muzichenko:

La réponse est probablement fausse, ce n'est pas possible, c'est un testeur de stratégie. C'est probablement une erreur de ma part, mais comment la réparer ?

Je ne pense pas... Le testeur de stratégie MT5 ne permet pas d'interaction manuelle avec les objets, car le testeur MT5 est un programme distinct.
 
Alexey Kozitsyn:
Peu probable... Le testeur de stratégie MT5 ne permet pas d'interaction manuelle avec les objets, car le testeur MT5 est un programme distinct.
OnChartEvent() ne fonctionne pas dans le testeur mt5 ?
 
Artyom Trishkin:
OnChartEvent() ne fonctionne pas dans le testeur mt5 ?
Vérifions-le maintenant :)
 
Alexey Kozitsyn:
Allons voir ça maintenant :)
Je pense que ça a marché. Ça fait un moment, cependant. Maintenant, je ne peux pas vérifier sur mon téléphone portable. En attente.
 
Artyom Trishkin:
Ça semble avoir marché. Mais il y a longtemps. Mais maintenant, je ne peux pas vérifier sur mon téléphone portable. En attente.

Un événement de mouvement de souris n'est absolument pas généré. C'est la même chose pour les autres, je pense.

#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,true);
//---
   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[])
  {
//---

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
     {
      Print(__FUNCTION__,": ДВИЖЕНИЕ!");
     }
  }
//+------------------------------------------------------------------+