Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1783

 
Volodymyr Zubov #:

Il faut toujours penser aux coupures de courant et autres...

Un EA de l'histoire devrait être configuré et fonctionner à tout moment.

C'est à ce moment-là que le robot est un système de trading qui fonctionne vraiment. C'est trop tôt pour les débutants. Pour commencer, ils doivent prescrire un algorithme de base et tester le système de trading.

 
законопослушный гражданин perte éventuelle de données due à la conversion de type


double openPrice()
  {
   double OP = dMA;
   if (GetLotSize()>LotControl) OP = dMA + Deviation * _Point;
   return(OP);
  }
 
Nerd Trader #:

Faire en sorte qu'une ligne suive le curseur de la souris après avoir appuyé sur un bouton par le biais des fonctions de dessin et de suppression.

Peut-être y a-t-il un autre moyen ? Parce que le refroidisseur du processeur commence à faire du bruit :)

Bien. Supprimer, créer. Créer, supprimer. Et pourquoi le CPU fait-il du bruit... :)

Mais nous n'allons pas ouvrir la documentation et lire de belles fonctions telles que ObjectSetInteger et ObjectSetDouble...

 
Nerd Trader #:

Faire en sorte qu'une ligne suive le curseur de la souris après avoir appuyé sur un bouton par l'intermédiaire des fonctions dessiner et supprimer.

Peut-être y a-t-il un autre moyen ? Le refroidisseur du processeur commence à être bruyant :)

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {    
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE))
     {
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;
     
      if(id == CHARTEVENT_MOUSE_MOVE)
        {
         if(ChartXYToTimePrice(0,x,y,window,dt,price))
           {
            if(ObjectMove(0,"H Line",window,dt,price))
              {
               ChartRedraw(0);
              }
           }
        }
     }
   else
     {
      ObjectDelete(0,"H Line");
     }
  }
 
MakarFX #:
ObjectMove se déplace, mais ne fixe pas de nouvelles coordonnées... ? En tout cas, la documentation le dit...
 
MakarFX #:

juste ce dont j'ai besoin, merci.


Mihail Matkovskij #:

C'est génial. Supprimer, créer. Créer, supprimer. Et pourquoi le CPU fait-il du bruit... :)

Mais nous n'allons pas ouvrir la documentation et lire de belles fonctions comme ObjectSetInteger et ObjectSetDouble...

Je comprends très bien pourquoi le CPU est chargé intelligemment. Quand ils mettront google search dans *.chm, tu écriras ce que j'ouvre et où je ne lis pas.

 
Nerd Trader #:

juste ce dont j'ai besoin, merci.


Je sais exactement pourquoi l'unité centrale charge des pantalons intelligents. Quand ils mettront google search dans *.chm, alors vous pourrez m'écrire ce que j'ouvre et où je ne lis pas.

Quelle recherche google ? :)

https://www.mql5.com/ru/docs/objects

Документация по MQL5: Графические объекты
Документация по MQL5: Графические объекты
  • www.mql5.com
Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
J'ai supprimé la création de ligne de l'événement de déplacement de la souris, mais ce n'est toujours pas mieux - le refroidisseur est bruyant, je suppose que c'est comme cela doit être.
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE)){
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;

      if(ChartXYToTimePrice(0,x,y,window,dt,price)){
        ObjectCreate(0,"H Line",OBJ_HLINE,window,dt,price);
        if(id == CHARTEVENT_MOUSE_MOVE)
          if(ObjectMove(0,"H Line",window,dt,price))
            ChartRedraw(0);
      }
      else{
        ObjectDelete(0,"H Line");
      }
  }
 
Nerd Trader #:
J'ai supprimé la création de lignes à partir de l'événement de déplacement de la souris, mais cela ne s'est pas amélioré - le refroidisseur est bruyant, je suppose qu'il devrait l'être.

Ensuite, dépoussiérage, lubrification des roulements, remplacement de la pâte thermique... :)

 
Mihail Matkovskij #:

Ensuite, dépoussiérage, lubrification des roulements, remplacement de la pâte thermique... :)

Mais sérieusement, ChartRedraw est appelé plus de 24 fois par seconde...

Et ObjectCreate ! L'horreur...