Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1275

 
Aleksandr Egorov:

l'ha già letto)

L'ho cercato anche adesso. L'articolo è del 2011... Ma, soprattutto, c'è una spiegazione di come si generano le zecche in modalità "tutte le zecche". E "Basato su zecche reali" parla da solo. Questa è la differenza.

 
Domanda sul tester.

In modalità visualizzazione, le stampe non vengono visualizzate. Dovrebbe essere così o sto facendo qualcosa di sbagliato?
 
Ciao a tutti!!! E felice anno nuovo!!! Ho ottenuto la mia curva di programmazione nelle classi. Ho nella cartella #include/ChartObject un file di classe -- ChartObjectsLines e contiene non solo una classe di linee di tendenza, ma anche altre classi con linee e costruttori per tutte queste classi. Ed ecco la domanda, la cui risposta non ho trovato, risulta che in una classe possono esserci molte classi e costruttori per queste classi?
 
E un'altra domanda)) Come si ottiene il prezzo e la data dalle coordinate X / Y nella finestra del grafico?
 
Kira27:
E un'altra domanda))) Come posso ottenere il prezzo e la data dalle coordinate X / Y nella finestra del grafico?

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
 
Ho un'altra domanda)) Basta non mandarmi a leggere il manuale, l'ho letto più di una volta, ancora non capisco tutto nelle classi) C'è una classe Trailing Stop per Parabolic SAR, situata nella cartella Expert\Trailing\ chiamata TrailingParabolicSAR.mqh Dimmi se non è difficile, come interagire con essa. Lo capisco meglio attraverso gli esempi))) Grazie in anticipo a coloro che rispondono)
//+------------------------------------------------------------------+
//|                                         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:
Ho un'altra domanda)) Per favore non mandatemi a leggere le istruzioni, le ho lette molte volte, non ho ancora capito tutte le classi) C'è una classe Trailing Stop per Parabolic SAR, situata nella cartella Expert\Trailing\ e chiamata TrailingParabolicSAR.mqh Per favore ditemi come usarla. Lo capisco meglio attraverso gli esempi))) Grazie in anticipo a coloro che rispondono)

Un esempio di utilizzo è dato in [dta folder]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

 
Vladimir Karputov:

Un esempio di utilizzo è dato in [dta folder]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

Grazie!!!

 
User_mt5:
Domanda sul tester.

In modalità visualizzazione, le stampe non vengono visualizzate. Dovrebbe essere così o sto facendo qualcosa di sbagliato?
Credo che nessuno lo sappia.
Motivazione: