//+------------------------------------------------------------------+
//| VTS.mq4 |
//| |
//+------------------------------------------------------------------+
#define MAXBARSCOUNT 15000
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
//extern int Sb = 300;
extern int PeriodAtr = 10;
extern double kATR = 2.0;
double VTS[MAXBARSCOUNT];
double VTS1[MAXBARSCOUNT];
double VTS2[MAXBARSCOUNT];
double VTS3[MAXBARSCOUNT];
double VTS4[MAXBARSCOUNT];
double VTS5[MAXBARSCOUNT];
double VTS6[MAXBARSCOUNT];
double VTS7[MAXBARSCOUNT];
double VTS8[MAXBARSCOUNT];
double VTS9[MAXBARSCOUNT];
double VTS10[MAXBARSCOUNT];
double VTS11[MAXBARSCOUNT];
double VTS12[MAXBARSCOUNT];
double VTS13[MAXBARSCOUNT];
double VTS14[MAXBARSCOUNT];
double VTS15[MAXBARSCOUNT];
double VTS16[MAXBARSCOUNT];
double VTS17[MAXBARSCOUNT];
double VTS18[MAXBARSCOUNT];
double VTS19[MAXBARSCOUNT];
double VTS20[MAXBARSCOUNT];
double VTS21[MAXBARSCOUNT];
double VTS22[MAXBARSCOUNT];
double VTS23[MAXBARSCOUNT];
double VTS24[MAXBARSCOUNT];
double VTS25[MAXBARSCOUNT];
double VTS26[MAXBARSCOUNT];
double VTS27[MAXBARSCOUNT];
double VTS28[MAXBARSCOUNT];
double VTS29[MAXBARSCOUNT];
double VTS_TS[MAXBARSCOUNT];
double VTS_TS1[MAXBARSCOUNT];
int init()
{
//---- indicators
IndicatorBuffers(2);
SetIndexBuffer(0, VTS_TS);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexBuffer(1, VTS_TS1);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int counted_bars=IndicatorCounted();
//----
int StartBars = Bars - counted_bars+2;
//if (StartBars=0; i--){
VTS[i] = (Close[i]-kATR*iATR(NULL,0,PeriodAtr,i));
VTS1[i]= (Close[i]+kATR*iATR(NULL,0,PeriodAtr,i));
}
for(i = StartBars-1; i>0; i--){
VTS2[i]= MathMax(VTS[i],VTS[i+1]);
VTS3[i]= MathMin(VTS1[i],VTS1[i+1]);
VTS4[i]= MathMax(VTS2[i],VTS2[i+1]);//VTS2[i+1];
VTS5[i]= MathMin(VTS3[i],VTS3[i+1]);//VTS3[i+1];
VTS6[i]= MathMax(VTS4[i],VTS4[i+1]);//VTS4[i+1];
VTS7[i]= MathMin(VTS5[i],VTS5[i+1]);//VTS5[i+1];
VTS8[i]= MathMax(VTS6[i],VTS6[i+1]);//VTS6[i+1];
VTS9[i]= MathMin(VTS7[i],VTS7[i+1]);//VTS7[i+1];
VTS10[i]= MathMax(VTS8[i],VTS8[i+1]);//VTS8[i+1];
VTS11[i]= MathMin(VTS9[i],VTS9[i+1]);//VTS9[i+1];
VTS12[i]= MathMax(VTS10[i],VTS10[i+1]);//VTS10[i+1];
VTS13[i]= MathMin(VTS11[i],VTS11[i+1]);//VTS11[i+1];
VTS14[i]= MathMax(VTS12[i],VTS12[i+1]);//VTS10[i+1];
VTS15[i]= MathMin(VTS13[i],VTS13[i+1]);//VTS11[i+1];
VTS16[i]= MathMax(VTS14[i],VTS14[i+1]);//VTS6[i+1];
VTS17[i]= MathMin(VTS15[i],VTS15[i+1]);//VTS7[i+1];
VTS18[i]= MathMax(VTS16[i],VTS16[i+1]);//VTS6[i+1];
VTS19[i]= MathMin(VTS17[i],VTS17[i+1]);//VTS7[i+1];
VTS20[i]= MathMax(VTS18[i],VTS18[i+1]);//VTS6[i+1];
VTS21[i]= MathMin(VTS19[i],VTS19[i+1]);//VTS7[i+1];
VTS22[i]= MathMax(VTS20[i],VTS20[i+1]);//VTS6[i+1];
VTS23[i]= MathMin(VTS21[i],VTS21[i+1]);//VTS7[i+1];
VTS24[i]= MathMax(VTS22[i],VTS22[i+1]);//VTS6[i+1];
VTS25[i]= MathMin(VTS23[i],VTS23[i+1]);//VTS7[i+1];
VTS26[i]= MathMax(VTS24[i],VTS24[i+1]);//VTS6[i+1];
VTS27[i]= MathMin(VTS25[i],VTS25[i+1]);//VTS7[i+1];
VTS28[i]= MathMax(VTS26[i],VTS26[i+1]);//VTS6[i+1];
VTS29[i]= MathMin(VTS27[i],VTS27[i+1]);//VTS7[i+1];
VTS_TS[i] = VTS_TS[i+1];
VTS_TS1[i] = VTS_TS1[i+1];
if (Close[i]>VTS29[i]) {
VTS_TS[i] = VTS28[i];
VTS_TS1[i] = 0;//VTS_TS[i+1];
}
if (Close[i]0; i--){
//----
return(0);
}
//+------------------------------------------------------------------+