3_Level_ZZ_Semafor Indicator For MT5
Table Of Contents:
- 3_Level_ZZ_Semafor Indicator For MT5
- Installation du 3_Level_ZZ_Semafor Indicator For MT5
- Paramètres du 3_Level_ZZ_Semafor Indicator For MT5
- Tampons du 3_Level_ZZ_Semafor Indicator For MT5
- Parties principales du code
L' 3_Level_ZZ_Semafor Indicator For MT5 est une version améliorée de l'indicateur de zigzag qui trace les valeurs de 3 zigzags sur le graphique. Les 3 zigzags ont une période différente pour le calcul. Par conséquent, un petit, un moyen et un grand zigzag sont calculés. Au lieu de tracer les lignes en zigzag sur le graphique (ce qui encombrerait le graphique), cet indicateur trace des points aux points en zigzag. Les points ont des tailles différentes afin que vous puissiez distinguer les différents zigzags.
Installation du 3_Level_ZZ_Semafor Indicator For MT5
Après avoir téléchargé l'indicateur via le formulaire ci-dessus, vous devez décompresser le fichier zip. Ensuite, vous devez copier le fichier 3_level_zz_semafor.mq5 dans le dossier MQL5Indicators de votre installation MT5 . Ensuite, redémarrez MT5 et vous pourrez voir l’indicateur dans la liste des indicateurs.
Paramètres du 3_Level_ZZ_Semafor Indicator For MT5
3_Level_ZZ_Semafor Indicator For MT5 a des paramètres 15 à configurer.
input int Period1=5; input int Deviation1=1; input int Backstep1=3; input int HighSymbol1=159; input int LowSymbol1=159; input int Period2=13; input int Deviation2=8; input int Backstep2=5; input int HighSymbol2=108; input int LowSymbol2=108; input int Period3=34; input int Deviation3=21; input int Backstep3=12; input int HighSymbol3=163; input int LowSymbol3=163;
Tampons du 3_Level_ZZ_Semafor Indicator For MT5
Le 3_Level_ZZ_Semafor Indicator For MT5 6 3_Level_ZZ_Semafor Indicator For MT5 fournit des tampons 6 .
SetIndexBuffer(0,LowBuffer1,INDICATOR_DATA); SetIndexBuffer(1,HighBuffer1,INDICATOR_DATA); SetIndexBuffer(2,LowBuffer2,INDICATOR_DATA); SetIndexBuffer(3,HighBuffer2,INDICATOR_DATA); SetIndexBuffer(4,LowBuffer3,INDICATOR_DATA); SetIndexBuffer(5,HighBuffer3,INDICATOR_DATA);
Parties principales du code
int OnCalculate(const int rates_total, // number of bars in history at the current tick const int prev_calculated,// number of bars calculated at previous call const datetime &time[], const double &open[], const double& high[], // price array of maximums of price for the indicator calculation const double& low[], // price array of minimums of price for the indicator calculation const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //---- checking the number of bars to be enough for the calculation if(rates_total lt StartBar) return(0); //---- declarations of local variables int limit,to_copy1,to_copy2,to_copy3; //---- calculation of the first starting index for the bars recalculation loop if(prev_calculated gt rates_total || prev_calculated lt =0) // checking for the first start of calculation of an indicator { limit=rates_total-StartBar; // starting index for calculation of all bars to_copy1=rates_total; to_copy2=rates_total; to_copy3=rates_total; } else { limit=rates_total-prev_calculated; to_copy1=limit+StartBar1; to_copy2=limit+StartBar2; to_copy3=limit+StartBar3; } //---- copy the newly appeared data in the indicator buffers if(CopyBuffer(Handle1,1,0,to_copy1,HighBuffer1) lt =0) return(0); if(CopyBuffer(Handle1,2,0,to_copy1,LowBuffer1) lt =0) return(0); if(CopyBuffer(Handle2,1,0,to_copy2,HighBuffer2) lt =0) return(0); if(CopyBuffer(Handle2,2,0,to_copy2,LowBuffer2) lt =0) return(0); if(CopyBuffer(Handle3,1,0,to_copy3,HighBuffer3) lt =0) return(0); if(CopyBuffer(Handle3,2,0,to_copy3,LowBuffer3) lt =0) return(0); //---- return(rates_total); } //+------------------------------------------------------------------+