super-signals-channel

Download script
Author: Copyright � 2006, Nick Bilak
super-signals-channel

This tool is designed to help traders visualize key structural points on a price chart by identifying and marking significant local peaks and valleys. Rather than relying on complex mathematical formulas, the script focuses on recognizing the "highs" and "lows" of the market within a specific moving window.

How the Logic Works

The script constantly scans the historical price data to find the highest and lowest points over a predefined period (determined by the distance variable). By looking at these specific segments of time, it identifies where the price reached its maximum height and its minimum depth.

Visual Indicators

Once the script identifies these turning points, it provides two distinct types of visual feedback:

  • Price Channels: It maps out the boundaries of these peaks and valleys. These lines help you see the "envelope" of price action, effectively highlighting the boundaries where the market has recently pushed against resistance or found support.
  • Signal Arrows: To make these turning points instantly recognizable, the script places specific symbols (arrows) directly above the detected highs and below the detected lows. These act as clear visual cues, indicating where the "turning" of the market occurred relative to the surrounding price movement.

Key Features for the Trader

  • Dynamic Visibility: You can customize how much historical data is displayed on your screen, allowing you to focus on recent trends or look back at a larger range of history.
  • Clearer Perspective: By providing a visual gap between the actual price point and the signal arrow, the script ensures that the markings do not overlap with the actual candles, making it easier to read the chart at a glance.
  • Structural Awareness: The primary goal of this logic is to help you identify the "skeleton" of the market—the peaks and valleys that define the current trend and potential zones of interest.
Miscellaneous
Implements a curve of type %1
15 Views
1 Downloads
0 Favorites
super-signals-channel
//+------------------------------------------------------------------+
//|                                        super-signals-channel.mq4 |
//|                Copyright © 2006, Nick Bilak, beluck[AT]gmail.com |
//+------------------------------------------------------------------+

#property copyright "Copyright © 2006, Nick Bilak"
#property link      "http://www.forex-tsd.com/"

// hacked into a channel ind. by t_david sometime in early 2007

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_width1 1
#property indicator_color2 Lime
#property indicator_width2 1
#property indicator_color3 Red
#property indicator_width3 1
#property indicator_color4 Lime
#property indicator_width4 1

extern int SignalGap = 4;
extern int ShowBars = 500;

int dist=24;

double b1[];
double b2[];
double b3[];
double b4[];

int init()  {
   
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
   SetIndexStyle(2,DRAW_ARROW,STYLE_SOLID,1);
   SetIndexStyle(3,DRAW_ARROW,STYLE_SOLID,1);
   
   SetIndexBuffer(0,b1);
   SetIndexBuffer(1,b2);
   SetIndexBuffer(2,b3);
   SetIndexBuffer(3,b4);
   
   SetIndexArrow(2,234);
   SetIndexArrow(3,233);
   
   return(0);
}

int start() {
   
   int k,i,j,limit,hhb,llb;
   
   if (ShowBars >= Bars) ShowBars = Bars;
   
   for (i=0;i<ShowBars;i++)   {
   
      b1[i]=0;
      b2[i]=0;
      b3[i]=0;
      b4[i]=0;
      
      hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2);
      llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2);

      
      if (i==hhb)
         b3[i]=High[hhb]+SignalGap*Point;
      
      if (i==llb)
         b4[i]=Low[llb]-SignalGap*Point;
         
         b1[i]=High[hhb];//+SignalGap*Point;
         b2[i]=Low[llb];//-SignalGap*Point;
   
   }
   return(0);
}


Comments