LSMA test 1
Download scriptThis 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.
/*-----------------------------+
| |
| 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