Author: Copyright � 2010, basisforex@gmail.com
Para_B

This tool is designed to provide traders with a comprehensive visual overview of market momentum across multiple timeframes simultaneously. Rather than forcing you to switch between different charts to see what is happening on the 1-minute, 15-minute, or daily levels, this script consolidates that information into a single view.

Core Functionality

The primary logic of the script revolves around a technical analysis calculation known as the Parabolic Sarity (SAR). It monitors price action to identify potential trend reversals and acceleration points. By calculating these values across eight distinct timeframes, the tool allows you to see "the big picture" at a glance while executing on a specific timeframe.

How it Works

  • Multi-Timeframe Synchronization: The script automatically pulls data from various intervals—including 1-minute (M1), 5-minute (M5), 15-minute (M15), 30-minute (M30), 1-hour (H1), 4-hour (H4), Daily (D1), and Monthly (MN1) charts.
  • Visual Cues: It represents the trend data for each of these timeframes using specific visual markers (arrows) on your current chart. This makes it easy to spot whether the shorter-term trends are aligning with the long-term market direction.
  • Customizable Sensitivity: The logic includes adjustable parameters (Step and Maximum) that determine how quickly the indicator reacts to price changes, allowing for a balance between capturing quick moves and filtering out minor market "noise."
  • Operational Requirement: To ensure accuracy in the data visualization, the script is designed to run specifically on a 1-minute chart. It includes a built-in check to notify you if the chart period is incorrect, ensuring that the multi-timeframe calculations remain synchronized and reliable.

User Experience

For the user, this means you no longer need to juggle multiple windows to identify support, resistance, or trend shifts. By viewing the consolidated signals of every major timeframe on one screen, you can better understand the prevailing market sentiment and make more informed decisions based on how different time cycles are interacting with one another.

Indicators Used
Parabolic Stop and Reverse system
Miscellaneous
Implements a curve of type %1
11 Views
0 Downloads
0 Favorites
Para_B
/*------------------------------------------------------------------+
 |                                                       Para_B.mq4 |
 |                                                 Copyright © 2010 |
 |                                             basisforex@gmail.com |
 +------------------------------------------------------------------*/
#property copyright "Copyright © 2010, basisforex@gmail.com"
#property link      "basisforex@gmail.com"
//----
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 White
#property indicator_color2 Yellow
#property indicator_color3 Orange
#property indicator_color4 Red
#property indicator_color5 Brown
#property indicator_color6 Green
#property indicator_color7 Blue
#property indicator_color8 Black
//----
extern double    Step = 0.02;
extern double    Maximum = 0.2;
//----
extern int       MaShift   = 0;
//----
double M1Buffer[];
double M5Buffer[];
double M15Buffer[];
double M30Buffer[];
double H1Buffer[];
double H4Buffer[];
double D1Buffer[];
double MnBuffer[];
//+------------------------------------------------------------------+
int init()
 {
   SetIndexShift(0, MaShift);
   SetIndexShift(1, MaShift);
   SetIndexShift(2, MaShift);
   SetIndexShift(3, MaShift);
   SetIndexShift(4, MaShift);
   SetIndexShift(5, MaShift);
   SetIndexShift(6, MaShift);
   SetIndexShift(7, MaShift);
//----
   SetIndexBuffer(0, M1Buffer);
   SetIndexBuffer(1, M5Buffer);
   SetIndexBuffer(2, M15Buffer);
   SetIndexBuffer(3, M30Buffer);
   SetIndexBuffer(4, H1Buffer);
   SetIndexBuffer(5, H4Buffer);
   SetIndexBuffer(6, D1Buffer);
   SetIndexBuffer(7, MnBuffer);
//----
   SetIndexStyle(0, DRAW_ARROW);
   SetIndexArrow(0, 159);
   SetIndexStyle(1, DRAW_ARROW);
   SetIndexArrow(1, 159);
   SetIndexStyle(2, DRAW_ARROW);
   SetIndexArrow(2, 159);
   SetIndexStyle(3, DRAW_ARROW);
   SetIndexArrow(3, 159);
   SetIndexStyle(4, DRAW_ARROW);
   SetIndexArrow(4, 159);
   SetIndexStyle(5, DRAW_ARROW);
   SetIndexArrow(5, 159);
   SetIndexStyle(6, DRAW_ARROW);
   SetIndexArrow(6, 159);
   SetIndexStyle(7, DRAW_ARROW);
   SetIndexArrow(7, 159);
//----
   SetIndexLabel(0, "M1");
   SetIndexLabel(1, "M5");
   SetIndexLabel(2, "M15");
   SetIndexLabel(3, "M30");
   SetIndexLabel(4, "H1");
   SetIndexLabel(5, "H4");
   SetIndexLabel(6, "D1");
   SetIndexLabel(7, "Mn");
//----
   return(0);
 }
//+------------------------------------------------------------------+
int start()
 {
   if (Period() != 1)
    {
		Comment("Not a right Period!!! It should be M1");
		return(0);	
	 }
   int limit;
   int counted_bars = IndicatorCounted();
   if(counted_bars < 0) return(-1);
   if(counted_bars > 0) counted_bars--;
   limit = Bars - counted_bars;
   for(int i = 0; i < limit; i++)
    {
      M1Buffer[i]  = iSAR(NULL, PERIOD_M1, Step, Maximum, i);
      M5Buffer[i]  = iSAR(NULL, PERIOD_M5, Step, Maximum, i / PERIOD_M5);
      M15Buffer[i] = iSAR(NULL, PERIOD_M15, Step, Maximum, i / PERIOD_M15);
      M30Buffer[i] = iSAR(NULL, PERIOD_M30, Step, Maximum, i / PERIOD_M30);
      H1Buffer[i]  = iSAR(NULL, PERIOD_H1, Step, Maximum, i / PERIOD_H1);
      H4Buffer[i]  = iSAR(NULL, PERIOD_H4, Step, Maximum, i / PERIOD_H4);
      D1Buffer[i]  = iSAR(NULL, PERIOD_D1, Step, Maximum, i / PERIOD_D1);
      MnBuffer[i]  = iSAR(NULL, PERIOD_MN1, Step, Maximum, i / PERIOD_MN1);
    }  
   //-----
   return(0);
 }
//+------------------------------------------------------------------+

Comments