wlxBWWiseMan-2_v1

Download script
Author: Copyright � 2005, wellx
wlxBWWiseMan-2_v1

This tool is designed as a visual aid for traders who use the MetaTrader platform to identify specific momentum shifts in the market. Rather than providing a continuous line or a complex moving average, this script functions as a signal generator that identifies unique "turning points" based on the behavior of the Awesome Oscillator (AO) indicator.

How the Logic Works

The script continuously monitors the price history and looks for a very specific sequence of movements in momentum. It acts like a filter that only alerts you when the market exhibits a distinct change in direction.

1. Identifying Upward Signals The tool looks for a specific "mountain" shape in the indicator data. For a signal to appear, it verifies two conditions:

  • Positive Territory: The indicator must be above the zero line (indicating positive momentum).
  • Sequential Peak: It checks that the most recent values are decreasing while the previous values were increasing. Essentially, it detects the moment momentum reaches a peak and starts to curl backward, suggesting a potential exhaustion of the upward move.

2. Identifying Downward Signals Conversely, the tool looks for a "valley" shape in the indicator data to signal downward pressure:

  • Negative Territory: The indicator must be below the zero line (indicating negative momentum).
  • Sequential Bottom: It verifies that recent values are increasing while the preceding values were decreasing. This identifies the moment momentum hits a floor and begins to turn upward, signaling a potential shift in the downtrend.

Visual Output

When these specific mathematical conditions are met, the script places an arrow on your chart:

  • Upward Signals: An arrow appears slightly above the high of the candle to highlight potential areas where bullish momentum may be reaching a climax.
  • Downward Signals: An arrow appears slightly below the low of the candle to highlight areas where bearish momentum may be finding a floor.

Key Takeaway for the User

This script does not tell you "when" to enter a trade automatically; instead, it highlights technical "inflection points." It filters out the constant noise of the market and only flags instances where the underlying momentum has completed a specific structural cycle (a peak or a trough), allowing you to see potential trend reversals more clearly on your price chart.

Indicators Used
Bill Williams Awesome oscillator
Miscellaneous
Implements a curve of type %1
18 Views
0 Downloads
0 Favorites
wlxBWWiseMan-2_v1
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//|                                               wlxBWWiseMan-2.mq4 |
//|                                          Copyright © 2005, wellx |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, wellx"
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DarkOrange
#property indicator_color2 Magenta

//---- input parameters

extern int       updown=8;
//---- buffers
double BWWM2Up[];
double BWWM2Down[];

int pos=0;
double AO,AO1,AO2,AO3,AO4;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,141);
   SetIndexBuffer(0,BWWM2Up);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,141);
   SetIndexBuffer(1,BWWM2Down);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int  cbars=IndicatorCounted();
   if  (cbars<0) return(-1);
   if  (cbars>0) cbars--;
//---- TODO: add your code here
   if (cbars > (Bars-40)) pos=(Bars-40);
   else pos=cbars;
//----
   while (pos > 0)
   {
    BWWM2Up[pos]=NULL;
    BWWM2Down[pos]=NULL;    
    AO=iAO(NULL,0,pos);
    AO1=iAO(NULL,0,pos+1);
    AO2=iAO(NULL,0,pos+2);
    AO3=iAO(NULL,0,pos+3);
    AO4=iAO(NULL,0,pos+4);
   
    if (
        (AO4>0.0 && AO3>0.0 ) 
          && 
        (AO4<AO3 && AO3>AO2 && AO2>AO1 && AO1>AO)
       ) 
        BWWM2Up[pos]=(High[pos]+updown*Point);
        
    if (
        (AO4<0.0 && AO3<0.0 ) 
          && 
        (AO4>AO3 && AO3<AO2 && AO2<AO1 && AO1<AO)
       ) 
        BWWM2Down[pos]=(Low[pos]-updown*Point);
     pos--;    
    }
    
     
    return(0);
  }
//+------------------------------------------------------------------+

Comments