Bibliotheken: CPrice

 

CPrice:

Die Instanz der Klasse gibt solche Daten wie Bid, Ask, High, Low, Schlusskurse und Eröffnungskurse der aktuellen oder einer in den Parametern angegebenen Kerze sowie die Eröffnungszeit der Kerze zurück.

Autor: Dmitry Melnichenko

 

Werfen Sie einen Blick auf diese Option

#define  DEFINE_TIMESERIE(NAME,FUNC,T)                                                                         \
  class CLASS##NAME                                                                                           \
  {                                                                                                           \
  public:                                                                                                     \
    static T Get(const string Symb,const int TimeFrame,const int iShift)                                      \
    {                                                                                                         \
      T tValue[];                                                                                             \
                                                                                                              \
      return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \
    }                                                                                                         \
                                                                                                              \
    T operator[](const int iPos) const                                                                        \
    {                                                                                                         \
      return(CLASS##NAME::Get(_Symbol, _Period, iPos));                                                       \
    }                                                                                                         \
  };                                                                                                          \
                                                                                                              \
  CLASS##NAME  NAME;                                                                                           \
                                                                                                              \
  T i##NAME(const string Symb,const int TimeFrame,const int iShift)                                           \
  {                                                                                                           \
    return(CLASS##NAME::Get(Symb,  TimeFrame, iShift));                                                        \
  }

DEFINE_TIMESERIE(Volume,TickVolume,long)
DEFINE_TIMESERIE(Time,Time,datetime)
DEFINE_TIMESERIE(Open,Open,double)
DEFINE_TIMESERIE(High,High,double)
DEFINE_TIMESERIE(Low,Low,double)
DEFINE_TIMESERIE(Close,Close,double)

Sie können, wie in MT4, Open[bar], High[bar], Time[bar], Volume[bar], etc. aufrufen. Und auch iHigh(...), iClose(...) und andere.

 
fxsaber:

Werfen Sie einen Blick auf diese Option

Sie können, wie in MT4, Open[bar], High[bar], Time[bar], Volume[bar], etc. aufrufen. Sowie iHigh(...), iClose(...) und andere.

Im Gegensatz zu MT4, wo der Zugriff auf Open[], High[], Low[], Close[] garantiert Werte zurückgibt, können in MT5 Funktionen wie CopyClose() -1 zurückgeben, d.h. der zurückgegebene Wert muss überprüft werden. Das heißt, es gibt keine direkte Möglichkeit, den Code von MT4 nach MT5 zu übersetzen.
 
Dmitry Fedoseev:
Im Gegensatz zu MT4, wo der Zugriff auf Open[], High[], Low[], Close[] garantiert Werte zurückgibt, können in MT5 Funktionen wie CopyClose() -1 zurückgeben, d.h. der zurückgegebene Wert muss überprüft werden. D.h. es gibt keine direkte Möglichkeit, den Code von MT4 nach MT5 zu übersetzen.
Wie kann ich eine Situation reproduzieren, in der MT5 nicht in der Lage ist, das Verhalten von MT4 zu wiederholen?