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

 
Aleksandr Egorov:

lisez-le déjà )

Je l'ai aussi regardé maintenant. L'article date de 2011... Mais, surtout, on y trouve une explication sur la façon dont les ticks sont générés en mode " tous les ticks ". Et "basé sur des tics réels" parle de lui-même. C'est là toute la différence.

 
Question sur le testeur.

En mode de visualisation, les impressions ne sont pas affichées. Est-ce que c'est censé être le cas, ou est-ce que je fais quelque chose de mal ?
 
Salut à tous ! !! Et bonne année ! !! J'ai eu ma courbe de programmation en cours. Et là, je suis perplexe. J'ai dans le dossier #include/ChartObject un fichier de classe -- ChartObjectsLines et il contient non seulement une classe de lignes de tendance, mais aussi d'autres classes avec des lignes et des constructeurs pour toutes ces classes. Et voici la question, dont je n'ai pas trouvé la réponse, il s'avère que dans une classe peuvent être plusieurs classes et des constructeurs pour ces classes ?
 
Et une autre question)) Comment obtenir le prix et la date à partir des coordonnées X / Y dans la fenêtre du graphique ???
 
Kira27:
Et une autre question :))) Comment obtenir le prix et la date à partir des coordonnées X / Y dans la fenêtre du graphique ? ??

https://www.mql5.com/ru/docs/chart_operations/charttimepricetoxy

https://www.mql5.com/ru/docs/chart_operations/chartxytotimeprice

Документация по MQL5: Операции с графиками / ChartTimePriceToXY
Документация по MQL5: Операции с графиками / ChartTimePriceToXY
  • www.mql5.com
ChartTimePriceToXY - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
J'ai une autre question)) Ne m'envoyez pas lire le manuel, je l'ai lu plus d'une fois, je ne comprends toujours pas tout dans les classes) Il y a une classe Trailing Stop pour Parabolic SAR, située dans le dossier Expert\Trailing\ nommée TrailingParabolicSAR.mqh Dites-moi comment interagir avec elle si ce n'est pas difficile. Je le comprends mieux à travers des exemples))) Merci d'avance à ceux qui répondent)
//+------------------------------------------------------------------+
//|                                         TrailingParabolicSAR.mqh |
//|                   Copyright 2009-2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#include <Expert\ExpertTrailing.mqh>
// wizard description start
//+------------------------------------------------------------------+
//| Description of the class                                         |
//| Title=Trailing Stop based on Parabolic SAR                       |
//| Type=Trailing                                                    |
//| Name=ParabolicSAR                                                |
//| Class=CTrailingPSAR                                              |
//| Page=                                                            |
//| Parameter=Step,double,0.02,Speed increment                       |
//| Parameter=Maximum,double,0.2,Maximum rate                        |
//+------------------------------------------------------------------+
// wizard description end
//+------------------------------------------------------------------+
//| Class CTrailingPSAR.                                             |
//| Appointment: Class traling stops with Parabolic SAR.             |
//| Derives from class CExpertTrailing.                              |
//+------------------------------------------------------------------+
class CTrailingPSAR : public CExpertTrailing
  {
protected:
   CiSAR             m_sar;            // object-indicator
   //--- adjusted parameters
   double            m_step;           // the "speed increment" parameter of the indicator
   double            m_maximum;        // the "maximum rate" parameter of the indicator

public:
                     CTrailingPSAR(void);
                    ~CTrailingPSAR(void);
   //--- methods of setting adjustable parameters
   void              Step(double step)       { m_step=step;       }
   void              Maximum(double maximum) { m_maximum=maximum; }
   //--- method of creating the indicator and timeseries
   virtual bool      InitIndicators(CIndicators *indicators);
   //---
   virtual bool      CheckTrailingStopLong(CPositionInfo *position,double &sl,double &tp);
   virtual bool      CheckTrailingStopShort(CPositionInfo *position,double &sl,double &tp);
  };
//+------------------------------------------------------------------+
//| Constructor                                                      |
//+------------------------------------------------------------------+
void CTrailingPSAR::CTrailingPSAR(void) : m_step(0.02),
                                          m_maximum(0.2)

  {
  }
//+------------------------------------------------------------------+
//| Destructor                                                       |
//+------------------------------------------------------------------+
void CTrailingPSAR::~CTrailingPSAR(void)
  {
  }
//+------------------------------------------------------------------+
//| Create indicators.                                               |
//+------------------------------------------------------------------+
bool CTrailingPSAR::InitIndicators(CIndicators *indicators)
  {
//--- check pointer
   if(indicators==NULL)
      return(false);
//--- add object to collection
   if(!indicators.Add(GetPointer(m_sar)))
     {
      printf(__FUNCTION__+": error adding object");
      return(false);
     }
//--- initialize object
   if(!m_sar.Create(m_symbol.Name(),m_period,m_step,m_maximum))
     {
      printf(__FUNCTION__+": error initializing object");
      return(false);
     }
//--- ok
   return(true);
  }
//+------------------------------------------------------------------+
//| Checking trailing stop and/or profit for long position.          |
//+------------------------------------------------------------------+
bool CTrailingPSAR::CheckTrailingStopLong(CPositionInfo *position,double &sl,double &tp)
  {
//--- check
   if(position==NULL)
      return(false);
//---
   double level =NormalizeDouble(m_symbol.Bid()-m_symbol.StopsLevel()*m_symbol.Point(),m_symbol.Digits());
   double new_sl=NormalizeDouble(m_sar.Main(1),m_symbol.Digits());
   double pos_sl=position.StopLoss();
   double base  =(pos_sl==0.0) ? position.PriceOpen() : pos_sl;
//---
   sl=EMPTY_VALUE;
   tp=EMPTY_VALUE;
   if(new_sl>base && new_sl<level)
      sl=new_sl;
//---
   return(sl!=EMPTY_VALUE);
  }
//+------------------------------------------------------------------+
//| Checking trailing stop and/or profit for short position.         |
//+------------------------------------------------------------------+
bool CTrailingPSAR::CheckTrailingStopShort(CPositionInfo *position,double &sl,double &tp)
  {
//--- check
   if(position==NULL)
      return(false);
//---
   double level =NormalizeDouble(m_symbol.Ask()+m_symbol.StopsLevel()*m_symbol.Point(),m_symbol.Digits());
   double new_sl=NormalizeDouble(m_sar.Main(1)+m_symbol.Spread()*m_symbol.Point(),m_symbol.Digits());
   double pos_sl=position.StopLoss();
   double base  =(pos_sl==0.0) ? position.PriceOpen() : pos_sl;
//---
   sl=EMPTY_VALUE;
   tp=EMPTY_VALUE;
   if(new_sl<base && new_sl>level)
      sl=new_sl;
//---
   return(sl!=EMPTY_VALUE);
  }
//+------------------------------------------------------------------+
 
Kira27:
J'ai une autre question)) Ne m'envoyez pas lire les instructions, je les ai lues plusieurs fois, je ne comprends toujours pas toutes les classes) Il y a une classe de Trailing Stop pour le SAR Parabolique, située dans le dossier Expert\Trailing\ et nommée TrailingParabolicSAR.mqh Veuillez me dire comment l'utiliser. Je le comprends mieux à travers des exemples))) Merci d'avance à ceux qui répondent)

Un exemple d'utilisation est donné dans [dossier dta]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

 
Vladimir Karputov:

Un exemple d'utilisation est donné dans [dossier dta]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

Merci ! !!

 
User_mt5:
Question sur le testeur.

En mode de visualisation, les impressions ne sont pas affichées. Est-ce que c'est censé être le cas, ou est-ce que je fais quelque chose de mal ?
Je pense que personne ne le sait.