Author: Copyright � 2005, wellx
WisemanAO

This tool is designed as a visual technical indicator for trading platforms, specifically created to identify potential shifts in market momentum by analyzing price movement patterns. Rather than looking at raw price alone, the script utilizes a mathematical calculation known as the "Awesome Oscillator" (AO) to smooth out market noise and reveal underlying trends.

Core Logic and Functionality

The script monitors the relationship between current and past momentum values to identify specific "turning points" in the market. It looks for unique sequences where the momentum begins to curve back toward a zero baseline, suggesting that a trend might be losing steam or reversing.

How it identifies signals:

  • Upward Signals: The logic scans for a sequence where the momentum is positive but begins a consistent downward decline over five consecutive periods. When this specific "rounding off" pattern occurs, the script places a visual marker (a green arrow) above the price candle to signal a potential bullish shift or an area of interest.
  • Downward Signals: Conversely, the script monitors for instances where momentum is negative but shows a consistent upward climb over five consecutive periods. When this "bottoming out" pattern is detected, it places a visual marker (a red arrow) below the price candle to indicate a potential bearish shift.

User Experience Features

  • Visual Aids: The primary way users interact with this script is through these on-chart arrows. They provide a quick, at-a-glance reference for where the momentum logic detects a change in sentiment.
  • Automated Alerts: To ensure traders don't have to watch the screen constantly, the script includes a notification system. When the specific momentum patterns described above are triggered on a new candle, the tool can generate an audible alert and a pop-up message on the trading platform.
  • Customizable Sensitivity: The script includes a user-defined parameter that allows for minor adjustments to the distance of the arrows from the price candles, ensuring they remain visible and do not clutter the chart.

In summary, this tool acts as a "momentum filter." It ignores the constant fluctuations of the market and only highlights moments where the momentum shows a clear, sequential reversal pattern, helping traders identify potential entry or exit points based on the exhaustion of a current move.

Indicators Used
Bill Williams Awesome oscillator
Miscellaneous
Implements a curve of type %1
13 Views
0 Downloads
0 Favorites
WisemanAO
/*-----------------------------+
|			       |
| 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 Red
#property indicator_color2 Green
//---- input parameters
extern int updown = 10;
extern bool UseAlert=true;
//---- buffers
double BWWM2Up[];
double BWWM2Down[];
string UD="";

//----
int pos = 0;
double AO, AO1, AO2, AO3, AO4;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexBuffer(0, BWWM2Up);
   SetIndexBuffer(1, BWWM2Down);   
//----
   SetIndexStyle(0, DRAW_ARROW, 0, 2);
   SetIndexStyle(1, DRAW_ARROW, 0, 2);
//----
   SetIndexArrow(0, 140);
   SetIndexArrow(1, 141);
//----
   IndicatorShortName("StrInd(" + updown + ")");
   SetIndexLabel(0, "StrIndUp"); 
   SetIndexLabel(1, "StrIndDn");  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int cbars = IndicatorCounted();
//----
   if(cbars < 0) 
       return(-1);
//----
   if(cbars > 0) 
       cbars--;
//----
   if(cbars > (Bars - 40)) 
       pos = (Bars - 40);
   else
       pos = Bars - 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 (pos < 2 )
  { 
  UD=" Up.";	
  DoAlert(UD);
  }
           
      //----
       if((AO4 < 0.0 && AO3 < 0.0) && (AO4 > AO3 && AO3 < AO2 && AO2 < AO1 && AO1 < AO)) 
           BWWM2Down[pos] = (Low[pos] - updown*Point);
            if (pos < 2 )
  { 
  UD=" Down.";	
  DoAlert(UD);
  }
           
       pos--; 
     } 
       return(0);
      
       
    //   SpeechText("There is an opportunity to buy or sell ", 

    }
void DoAlert(string UD)
{
   if (!NewBar() || !UseAlert)
      return;
     Alert (Symbol()," ",Period(),"WisemanAO ",UD);

}


  bool NewBar()
{
   static datetime dt  = 0;
   if (dt != Time[0])
   {
      dt = Time[0];
      return(true);
   }
  
}

Comments