Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1275

 
Aleksandr Egorov:

lesen Sie es bereits )

Ich habe es jetzt auch nachgeschlagen. Der Artikel stammt aus dem Jahr 2011... Vor allem aber wird erklärt, wie die Zecken im Modus "Alle Zecken" erzeugt werden. Und "basierend auf echten Zecken" spricht für sich selbst. Das ist der Unterschied.

 
Frage zum Testgerät.

Im Visualisierungsmodus werden die Ausdrucke nicht angezeigt. Sollte dies der Fall sein, oder mache ich etwas falsch?
 
Hallo zusammen!!! Und frohes neues Jahr!!! Ich habe meine Programmierkurve im Unterricht bekommen. Und hier habe ich ein Rätsel. Ich habe im Ordner #include/ChartObject eine Klassendatei - ChartObjectsLines und es enthält nicht nur eine Klasse von Trendlinien, sondern auch andere Klassen mit Linien und Konstruktoren für alle diese Klassen. Und hier ist die Frage, die Antwort auf die ich nicht gefunden habe, dass in einer Klasse kann viele Klassen und Konstruktoren für diese Klassen sein?
 
Und noch eine Frage: Wie erhält man den Preis und das Datum aus den X-/Y-Koordinaten im Diagrammfenster?
 
Kira27:
Und noch eine Frage: Wie erhalte ich den Preis und das Datum aus den X-/Y-Koordinaten im Diagrammfenster?

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
 
Ich habe eine weitere Frage)) Schicken Sie mich einfach nicht, um das Handbuch zu lesen, ich habe es mehr als einmal gelesen, ich verstehe immer noch nicht alles in den Klassen) Es gibt eine Klasse Trailing Stop für Parabolic SAR, in den Ordner Expert\Trailing\ namens TrailingParabolicSAR.mqh Sagen Sie mir, wenn es nicht schwierig ist, wie man mit ihm interagieren. Ich verstehe es besser durch Beispiele))) Danke im Voraus an diejenigen, die antworten)
//+------------------------------------------------------------------+
//|                                         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:
Ich habe eine weitere Frage)) Bitte schicken Sie mich nicht, um Anweisungen zu lesen, ich habe es viele Male gelesen, ich verstehe immer noch nicht alle Klassen) Es gibt eine Trailing Stop Klasse für Parabolic SAR, in Expert\Trailing\ Ordner und namens TrailingParabolicSAR.mqh Bitte sagen Sie mir, wie es zu benutzen. Ich verstehe es besser durch Beispiele))) Danke im Voraus an diejenigen, die antworten)

Ein Beispiel für die Verwendung findet sich in [dta folder]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

 
Vladimir Karputov:

Ein Beispiel für die Verwendung findet sich in [dta folder]\MQL5\Experts\Advisors\ExpertMAPSAR.mq5

Ich danke Ihnen!!!

 
User_mt5:
Frage zum Testgerät.

Im Visualisierungsmodus werden die Ausdrucke nicht angezeigt. Sollte dies der Fall sein, oder mache ich etwas falsch?
Ich glaube nicht, dass das jemand weiß.
Grund der Beschwerde: