Bibliotheken: CPrice
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.
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. D.h. es gibt keine direkte Möglichkeit, den Code von MT4 nach MT5 zu übersetzen.
CPrice:
Autor: Dmitry Melnichenko