Author: Copyright � 2005, Don Lawson (don_forex)
V-T&B_v1

The V-T&B Indicator is a technical analysis tool designed to identify specific price action signals on a trading chart. Rather than relying on simple moving averages or standard oscillators, this script analyzes the physical structure of individual candles—specifically looking at the relationship between the candle's body and its "wicks" (the thin lines representing price extremes).

Core Logic and Methodology

The indicator operates by evaluating the geometric proportions of price movement to identify instances of exhaustion or rejection. It breaks down its logic into three main phases:

1. Dynamic Range Calculation

Before making any determinations, the script establishes a "baseline" for volatility. It calculates the average size of the candles over the previous 10 periods. This allows the indicator to remain relevant across different market conditions, ensuring that a signal on a highly volatile pair looks consistent with a signal on a quieter one.

2. Candle Anatomy Analysis

The script examines each individual candle to determine its primary characteristics. It specifically looks for:

  • Directional Bias: Whether the price closed higher or lower than it opened.
  • Wick Dominance: It measures the length of the upper and lower wicks relative to the size of the candle body.

3. Signal Generation

The indicator triggers visual markers based on two specific types of price rejection:

  • Upper Rejection (Top Signals): The script identifies "High Wicks." This occurs when a candle shows significant upward movement but fails to sustain it, resulting in a wick that is disproportionately longer than the body. When this happens, a signal is placed below the low of the candle, suggesting a potential overhead resistance or downward reversal.
  • Lower Rejection (Bottom Signals): The script identifies "Low Wicks." This occurs when price pushes downward significantly but is met with buying pressure, creating a long lower wick relative to the body. When detected, a signal is placed above the high of the candle, suggesting a potential floor of support or an upward reversal.

Summary for Traders

In essence, this tool acts as a visual filter for "Price Action" traders. It highlights moments where the market tried to move in one direction but was pushed back by opposing force. By identifying these "wicks" relative to the recent average candle size, it helps traders spot potential turning points where the momentum may be shifting.

Miscellaneous
Implements a curve of type %1
12 Views
0 Downloads
0 Favorites
V-T&B_v1
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//|                                                        V-T&B.mq4 |
//|                         Copyright © 2005, Don Lawson (don_forex) |
//+------------------------------------------------------------------+

   
#property copyright "Copyright © 2005, Don Lawson (don_forex)"
#property link      "d_n_d_enterprises@sbcglobal.net"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red

double VTop[];
double VBottom[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, VTop);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, VBottom);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
   int limit, i, counter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();
//---- check for possible errors
   if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;
   
   for(i = 0; i <= limit; i++) {
   
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
       
      bool  HiClose = false,
            HiOpen  = false,
            HiWick  = false,
            LoWick  = false;
            
      if (Open[0]<Close[0])
         HiClose = true;
      else 
         HiOpen = true;
      
      if (HiClose){
         if ((High[0]-Close[0])>(Close[0]-Open[0]) && (High[0]-Close[0])>(Open[0]-Low[0]))
            HiWick = true;
      }
      if (HiOpen){
         if ((High[0]-Open[0])>(Open[0]-Close[0]) && (High[0]-Open[0])>(Close[0]-Low[0]))
            HiWick = true;
      }
      if (HiClose){
         if ((Open[0]-Low[0])>(Close[0]-Open[0]) && (Open[0]-Low[0])>(High[0]-Close[0]))
            LoWick = true;
      }
      if (HiOpen){
         if ((Close[0]-Low[0])>(Open[0]-Close[0]) && (Close[0]-Low[0])>(High[0]-Open[0]))
            LoWick = true;
      }
      
      
            
      if (HiWick) {
         VTop[i] = Low[i] - Range*0.5;
      }
      else if (LoWick) {
         VBottom[i] = High[i] + Range*0.5;
      }
   }
   return(0);
}

Comments