Author: Copyright � 2004, MetaQuotes Software Corp.
i Trend_v1

This script is designed as a technical analysis tool for the MetaTrader platform, specifically created to help traders visualize and identify market trends through price momentum and volatility. It provides a visual representation of how the current market price is interacting with established mathematical boundaries.

Core Functionality

The logic of this tool operates by calculating two distinct types of data points which are then displayed as lines on a separate window in your trading interface:

1. Trend Deviation Analysis The script monitors the relationship between the current market price and a "Bollinger Band" style calculation. Rather than just looking at where the price is, it calculates the distance (or deviation) between the current price and specific zones (such as the High, Low, or Main center of a moving range). This helps traders understand if the price is pushing aggressively against a boundary or staying within a stable "normal" zone.

2. Power Dynamics (Bull vs. Bear) The second part of the logic measures market "power" by evaluating the strength of buying (bullish) and selling (bearish) pressures over a specific period. It combines these two forces to create a secondary indicator line. This allows you to see the underlying momentum—essentially showing whether the market is being driven more by aggressive sellers or eager buyers at any given moment.

Key Customizable Parameters

The script is highly adaptable, allowing users to refine the "sensitivity" of the signals through several professional settings:

  • Band Configuration: Users can choose which part of the market range to track (Main, High, or Low) and adjust the period and deviation levels to suit different trading styles (e.g., scalping vs. long-term investing).
  • Price Source Selection: The logic can be told to calculate its data based on various price types, such as the Open, High, Low, Close, or even Weighted averages. This gives traders the flexibility to align the script with their specific trading methodology.
  • Power Period: This determines how far back the script looks to calculate the current "power" of the trend, allowing for a smoother or more reactive visual output depending on your needs.

Summary for the Trader

In simple terms, this indicator acts as a "tension meter." It calculates how far the price is stretching away from its average boundaries while simultaneously measuring the strength of the push behind that movement. By observing these two lines, traders can better identify when a trend is becoming overextended or when momentum is shifting in a new direction.

Indicators Used
Bollinger bands indicatorBears Power indicatorBulls Power indicator
Miscellaneous
Implements a curve of type %1
15 Views
0 Downloads
0 Favorites
i Trend_v1
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//|                                                       iTrend.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
//---- input parameters
extern int Bands_Mode_0_2=0;  // =0-2 MODE_MAIN, MODE_LOW, MODE_HIGH
extern int Power_Price_0_6=0; // =0-6 PRICE_CLOSE,PRICE_OPEN,PRICE_HIGH,PRICE_LOW,PRICE_MEDIAN,PRICE_TYPICAL,PRICE_WEIGHTED
extern int Price_Type_0_3=0;  // =0-3 PRICE_CLOSE,PRICE_OPEN,PRICE_HIGH,PRICE_LOW
extern int Bands_Period=20;
extern int Bands_Deviation=2;
extern int Power_Period=13;
extern int CountBars=300;
//---- buffers
double value[];
double value2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(0,value);
   SetIndexBuffer(1,value2);
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Trend                                                         |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexDrawBegin(0,Bars-CountBars+Bands_Period+1);
   SetIndexDrawBegin(1,Bars-CountBars+Bands_Period+1);
   int i,CurrentBar,Bands_Mode,counted_bars=IndicatorCounted();
   double Power_Price,CurrentPrice;
//----
   if(Bars<=Bands_Period) return(0);
//---- initial zero
   if(counted_bars<Bands_Period)
   {
      for(i=1;i<=Bands_Period;i++) value[Bars-i]=0.0;
      for(i=1;i<=Bands_Period;i++) value2[Bars-i]=0.0;
   }
//----
   i=CountBars-Bands_Period-1;
//   if(counted_bars>=Bands_Period) i=Bars-counted_bars-1;

     
if (Bands_Mode_0_2==1) Bands_Mode=MODE_LOW;
if (Bands_Mode_0_2==2) Bands_Mode=MODE_HIGH;
if (Bands_Mode_0_2==0) Bands_Mode=MODE_MAIN;

if (Power_Price_0_6==1) Power_Price=PRICE_OPEN;
if (Power_Price_0_6==2) Power_Price=PRICE_HIGH;
if (Power_Price_0_6==3) Power_Price=PRICE_LOW;
if (Power_Price_0_6==4) Power_Price=PRICE_MEDIAN;
if (Power_Price_0_6==5) Power_Price=PRICE_TYPICAL;
if (Power_Price_0_6==6) Power_Price=PRICE_WEIGHTED;
if (Power_Price_0_6==6) Power_Price=PRICE_CLOSE;

for (i=CountBars-1; i>=0; i--)
{  
  if (Price_Type_0_3==1) CurrentPrice=Open[i];
  
  if (Price_Type_0_3==2) CurrentPrice=High[i];

  if (Price_Type_0_3==3) CurrentPrice=Low[i];
  if (Price_Type_0_3==0) CurrentPrice=Close[i]; 
     
  value[i]=CurrentPrice-iBands(NULL,0,Bands_Period,Bands_Deviation,0,Bands_Mode,Power_Price,i);
  value2[i]=-(iBearsPower(NULL,0,Power_Period,Power_Price,i)+iBullsPower(NULL,0,Power_Period,Power_Price,i)); 

}  


   return(0);
  }
//+------------------------------------------------------------------+

Comments