bonjour a tous
j'ai deja posté sur ce forum une demande d'aide de programmation sur un indicateur un point pivot variable extremement utile quant on lui indique le bon nombre de calcule de barres voici le programme que se raproche le plus mais il a un defaut car la derrniere ligne bouche a regarder vous meme merci pour que quelqu'un puisse donner une bonne regularisation a ce programme:
//+------------------------------------------------------------------+
//| pointPivot.mq4 |
//| ch |
//| webcrea.fr |
//+------------------------------------------------------------------+
#property copyright "ch"
#property link "http://www.webcrea.fr"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue
//---- input parameters
extern int aa = 21;
//---- buffers
double pointPivotBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string pointPivotLabel;
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,pointPivotBuffer);
pointPivotLabel="PointPivot("+aa+")";
IndicatorShortName(pointPivotLabel);
SetIndexLabel(0,pointPivotLabel);
SetIndexDrawBegin(0,aa);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
double a,b,c;
//----
if(Bars<=aa) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=aa;i++) pointPivotBuffer[Bars-i]=0.0;
//----
i=Bars-aa-1;
if(counted_bars>=aa) i=Bars-counted_bars-1;
while(i>=0){
if( i - MathRound( (i-counted_bars)/aa * aa) == 0 ){
a = iHighest(NULL,0,MODE_HIGH,aa,0);
b = iLowest(NULL,0,MODE_LOW,aa,0);
c = Close[i];
}
pointPivotBuffer[i] = (a+b+c)/3;
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
![]() |
|


LinkBack URL
About LinkBacks
Répondre avec citation