BuySell Indicator For MT5
Table Of Contents:
- BuySell Indicator For MT5
- Installere BuySell Indicator For MT5
- Parametere for BuySell Indicator For MT5
- Buffere av BuySell Indicator For MT5
- Hoveddeler av koden
BuySell Indicator For MT5 viser den dynamiske støtte- og motstandssonen i BuySell Indicator For MT5 med enkle prikker. Men hvis du følger prisoversikten nøye, vil du ofte legge merke til en liten magenta farge firkant over lysestaken, og dette betyr at du må gjøre deg klar for nedtrenden. Tvert imot, når du ser en blå firkant under lysestaken, bør du være klar for det bullish rally. For å handle markedet ved å bruke dette verktøyet, må du lære å analysere støtte- og motstandsnivået. Noen handelsmenn bruker ofte prikker og firkantmerke for å gå ut av lønnsomme handler siden indikatoren også beregner ATR-verdien mens du plotter disse punktene og firkanten.
Installere BuySell Indicator For MT5
Etter at du har lastet ned indikatoren via skjemaet over, må du pakke ut zip-filen. Deretter må du kopiere filen buysell.mq5 til mappen MQL5Indicators for din MT5 installasjon. Etter det kan du starte MT5 på nytt, så vil du kunne se indikatoren i listen over indikatorer.
Parametere for BuySell Indicator For MT5
BuySell Indicator For MT5 har 4 parametere som skal konfigureres.
input uint MA_Period=14; input ENUM_MA_METHOD MA_Method=MODE_SMA; // Smoothing method input ENUM_APPLIED_PRICE MA_Price=PRICE_CLOSE; // Price input uint ATR_Period=60;
Buffere av BuySell Indicator For MT5
BuySell Indicator For MT5 inneholder 4 buffere.
SetIndexBuffer(0,UpBuffer,INDICATOR_DATA); SetIndexBuffer(1,DnBuffer,INDICATOR_DATA); SetIndexBuffer(2,SellBuffer,INDICATOR_DATA); SetIndexBuffer(3,BuyBuffer,INDICATOR_DATA);
Hoveddeler av koden
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- checking of bars, needed for calculation if(BarsCalculated(MA_Handle) lt rates_total || BarsCalculated(ATR_Handle) lt rates_total || rates_total lt min_rates_total) return(RESET); //---- declaration of local variables int limit,to_copy,bar; double MA[],ATR[]; //---- set starting bar index limit if(prev_calculated gt rates_total || prev_calculated lt =0)// checking of first call limit=rates_total-min_rates_total-2; // starting bar index for all bars else limit=rates_total-prev_calculated; // starting bar index for new bars to_copy=limit+2; //---- copy new data to arrays if(CopyBuffer(MA_Handle,0,0,to_copy,MA) lt =0) return(RESET); if(CopyBuffer(ATR_Handle,0,0,to_copy,ATR) lt =0) return(RESET); //---- set indexing as time series ArraySetAsSeries(MA,true); ArraySetAsSeries(ATR,true); //---- first calculation for(bar=limit; bar gt =0 && !IsStopped(); bar--) { //---- set buffers to zero DnBuffer[bar]=0.0; UpBuffer[bar]=0.0; if(MA[bar] gt MA[bar+1]) DnBuffer[bar]=MA[bar]-ATR[bar]; if(MA[bar] lt MA[bar+1]) UpBuffer[bar]=MA[bar]+ATR[bar]; } //---- recalculation of starting bar index for new bars if(prev_calculated gt rates_total || prev_calculated lt =0)// checking of first call limit--; //---- second calculation for(bar=limit; bar gt =0 && !IsStopped(); bar--) { //---- set buffers to zero BuyBuffer[bar]=0.0; SellBuffer[bar]=0.0; if(UpBuffer[bar+1]&&DnBuffer[bar]) BuyBuffer [bar]=DnBuffer[bar]; if(DnBuffer[bar+1]&&UpBuffer[bar]) SellBuffer[bar]=UpBuffer[bar]; } //---- return(rates_total); } //+------------------------------------------------------------------+