LSMA test 1

Download script
Author: Ron T
LSMA test 1

This tool is a specialized technical indicator designed for the MetaTrader platform to assist traders in identifying potential market trends and entry points. It operates by analyzing price action data—specifically tailored for a 5-minute timeframe—and translates complex mathematical fluctuations into clear visual signals directly on your trading chart.

Core Functionality

The primary purpose of this script is to provide high-visibility visual cues (arrows, dots, and boxes) that represent specific market conditions. Instead of requiring you to manually interpret multiple overlapping charts, the script filters the data and highlights key moments where trend changes or momentum shifts occur.

Key Components of the Logic:

  • Trend Identification: The logic incorporates several moving averages and trend-following indicators (such as SAR and EMA) to determine the underlying direction of the market. It looks for "flips" or crossovers, which often signal that a current move is gaining strength or beginning to exhaust.
  • Momentum Filtering: By utilizing RSI (Relative Strength Index) logic over specific periods, the tool helps distinguish between a healthy trend and an overextended market move. This ensures that signals are generated based on consistent momentum rather than random price noise.
  • Visual Signal Mapping: The script utilizes eight distinct "buffers," each corresponding to a different geometric shape or color:
    • Directional Arrows: These provide immediate alerts for potential upward (White) or downward (Red) movements.
    • Box and Dot Markers: These serve as secondary confirmation points, highlighting specific areas of interest or high-probability setups based on the interplay between multiple technical filters.
  • Automated Historical Analysis: The script is programmed to scan through historical price data to populate these signals, allowing you to see how previous trend shifts behaved, which helps in developing a consistent trading strategy.

Summary for the User

Think of this tool as an automated "filter" for your charts. It looks at various technical requirements simultaneously—including moving averages, volatility, and momentum—and simplifies all that data into simple shapes. When you see a specific arrow or box appear, it represents a moment where multiple technical conditions have aligned to suggest a potential shift in the market's direction.

Price Data Components
Miscellaneous
Implements a curve of type %1
9 Views
0 Downloads
0 Favorites
LSMA test 1
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//| 5 Min RSI 12-period qual INDICATOR                               |
//+------------------------------------------------------------------+
#property copyright "Ron T"
#property link      "http://www.lightpatch.com"

#property indicator_chart_window
#property indicator_buffers 8

#property indicator_color1 Red
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_color4 Red

#property indicator_color5 White
#property indicator_color6 White
#property indicator_color7 White
#property indicator_color8 White


//---- buffers
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];


// User Input


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|

int init()
  {

   // 233 up arrow
   // 234 down arrow
   // 159 big dot
   // 168 open square
   // 120 box with X
   
   SetIndexStyle(0,DRAW_ARROW);  //RED ARROW
   SetIndexBuffer(0, Buffer1);
   SetIndexArrow(0,234);
   
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(1, Buffer2);
   SetIndexArrow(1,159);

   SetIndexStyle(2,DRAW_ARROW);  //RED OPEN BOX
   SetIndexBuffer(2, Buffer3);
   SetIndexArrow(2,120);

   SetIndexStyle(3,DRAW_ARROW);  //RED DOT
   SetIndexBuffer(3, Buffer4);
   SetIndexArrow(3,159);

   
   
   SetIndexStyle(4,DRAW_ARROW);  //WHITE ARROW
   SetIndexBuffer(4, Buffer5);
   SetIndexArrow(4,233);

   SetIndexStyle(5,DRAW_ARROW);
   SetIndexBuffer(5, Buffer6);
   SetIndexArrow(5,159);

   SetIndexStyle(6,DRAW_ARROW);  //WHITE X BOX
   SetIndexBuffer(6, Buffer7);
   SetIndexArrow(6,120);

   SetIndexStyle(7,DRAW_ARROW);  //RED DOT
   SetIndexBuffer(7, Buffer8);
   SetIndexArrow(7,159);

   return(0);
  }


//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   int i;
   
   for( i=0; i<Bars; i++ ) Buffer1[i]=0;
   for( i=0; i<Bars; i++ ) Buffer2[i]=0;
   for( i=0; i<Bars; i++ ) Buffer3[i]=0;
   for( i=0; i<Bars; i++ ) Buffer4[i]=0;
   for( i=0; i<Bars; i++ ) Buffer5[i]=0;
   for( i=0; i<Bars; i++ ) Buffer6[i]=0;
   for( i=0; i<Bars; i++ ) Buffer7[i]=0;
   for( i=0; i<Bars; i++ ) Buffer8[i]=0;

   return(0);
  }


//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int      pos=350; // leave room for moving average periods
   
   double   cEMA10=0, pEMA10=0;
   double   cEMA40=0, pEMA40=0;
   double   cSAR=0,   pSAR=10;
   
   bool      rising=false;
   bool     falling=false;

   bool       sarLO=false;
   bool       sarHI=false;
   
   bool      flipUP=false;
   bool      flipDN=false;
   
   double x=0;


   int      dCROSS;    // how many periods since last MA cross
   
   int      above=0;   // how long SAR has been up
   int      below=0;   // how long SAR has been down
   
   double    p=Point();
   
   bool      Over=false;
   bool      Under=false;
   
   
   // 1 RED    DOWN ARROW
   // 2 RED
   // 3 RED    BIG OPEN BOX
   // 4 RED    BIG DOT
   // 5 WHITE  UP ARROW
   // 6 WHITE
   // 7 WHITE  BIG X BOX
   // 8 WHITE  BIG DOT
   
   while(pos>=0)
     {
      x=iCustom(Symbol(),PERIOD_M30,"LSMA_in_Color.ex4","48,1500",0,0);
      Buffer1[pos]=x;


 	   pos--;
     }

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

Comments