EWOCCI_Indicator
Download scriptThis script is designed to act as a visual signaling tool for traders, identifying specific moments in the market where price momentum and trend direction align. Instead of just looking at a single price movement, it analyzes three different layers of data simultaneously to confirm whether a "Buy" (Up) or "Sell" (Down) signal is valid.
How the Logic Works
The script monitors the market by combining three distinct technical components:
1. Momentum Analysis (CCI) The tool uses a "Commodity Channel Index" (CCI) to measure how far the current price is moving away from its average. It specifically looks for "crosses." When the CCI moves from a negative value to a positive one, it suggests upward momentum is building. Conversely, moving from positive to negative suggests downward momentum.
2. Trend Strength (The EWO Component) To ensure the signals aren't just temporary spikes, the script calculates a trend variance (referred to in the logic as an Elliot Wave component). It compares two different Moving Averages:
- A short-term average (5 periods)
- A long-term average (35 periods) By subtracting the long-term average from the short-term one, the script determines the "gap" between current price behavior and historical averages. This helps confirm if the market is actually trending in a specific direction or just moving sideways.
3. Pivot Point Reference The script identifies a "Pivot" point based on the High, Low, and Close prices of the previous day. It marks this on your chart as a horizontal reference line (a Magenta dotted line). This provides a visual anchor to help you see where the price is relative to the previous day's balanced range.
Signal Execution
The script generates signals only when multiple conditions are met simultaneously:
- Bullish Signal (UP): Triggered when the Momentum Index (CCI) crosses into positive territory AND the Trend Strength (EWO) is positive. When this happens, a light blue arrow appears below the price candle.
- Bearish Signal (DOWN): Triggered when the Momentum Index (CCI) crosses into negative territory AND the Trend Strength (EWO) is negative. When this happens, a red arrow appears above the price candle.
User Experience Features
- Visual Alerts: The script places arrows directly on your chart so you can see historical signals at a glance.
- Real-Time Notifications: If enabled, the script will trigger an audible alert and a pop-up message on your screen the moment a new signal is confirmed on the current candle.
- Smart Filtering: The alert system includes a "New Bar" check, which prevents the script from sending multiple repetitive alerts for the same price movement; it only triggers once per candle.
//+---------------------------------------------------------+
//| T3 Trix crossing signals.mq4
//|
//| Perky..
//+------------------------------------------------------------------+
#property copyright "Author - Perky Aint no Porky"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 LightBlue
#property indicator_width1 3
#property indicator_color2 Red
#property indicator_width2 3
//---- input parameters
extern int smoothing=13;
extern int timeframe=0;
extern int A_t3_period=18;
extern int num_bars=350;
extern int CountBars=350;
extern bool UseAlert=True;
extern bool SignalCandle=1;
//---- buffers
double val1[];
double val2[];
double CCI,CCIb4;
double EWO;
double MA5,MA35;
int Timer;
string UD="";
double PrevPrice;
double PrevHigh ;
double PrevLow ;
double P ;
double Price;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,108);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
// if (CountBars>=500) CountBars=500;
// SetIndexDrawBegin(0,500-CountBars);
// SetIndexDrawBegin(1,500-CountBars);
int i,shift,counted_bars=IndicatorCounted();
//---- check for possible errors
// if(counted_bars<0) return(-1);
//---- initial zero
// if(counted_bars<1)
// {
// for(i=1;i<=CountBars;i++) val1[CountBars-i]=0.0;
// for(i=1;i<=CountBars;i++) val2[CountBars-i]=0.0;
// }
for ( shift = CountBars; shift>=0; shift--)
{
PrevPrice = iClose(NULL,PERIOD_D1,SignalCandle+1);
PrevHigh = iHigh(NULL,PERIOD_D1,SignalCandle+1);
PrevLow = iLow(NULL,PERIOD_D1,SignalCandle+1);
P = (PrevHigh + PrevLow + PrevPrice)/3;
Price = iClose(NULL,PERIOD_H1,1); //gets close of last closed candle
CCI =iCCI(NULL,0,55,PRICE_CLOSE,SignalCandle+shift);
CCIb4=iCCI(NULL,0,55,PRICE_CLOSE,SignalCandle+shift+1);
//Elliot Wave
MA5=iMA(NULL,0,5,0,MODE_SMA,PRICE_MEDIAN,SignalCandle+shift);
MA35=iMA(NULL,0,35,0,MODE_SMA,PRICE_MEDIAN,SignalCandle+shift);
EWO=MA5-MA35; // yes thats it - Elliot Wave
//Comment ( "mtfstochs=",mtfstochs,"mtfstochsb4=",mtfstochsb4,"\nmtfstochs1=",mtfstochs1,"mtfstochs1b4=",mtfstochs1b4);
val1[shift]=0;
val2[shift]=0;
if(ObjectFind("P label") != 0)
{
ObjectCreate("P label", OBJ_TEXT, 0, Time[20], P);
ObjectSetText("P label", "Pivot", 8, "Arial", Magenta);
}
if(ObjectFind("P line") != 0)
{
ObjectCreate("P line", OBJ_HLINE, 0, Time[40], P);
ObjectSet("P line", OBJPROP_STYLE, STYLE_DOT);
ObjectSet("P line", OBJPROP_COLOR, Magenta);
}
//if ( TTb4>TT1b4 && TT<TT1 )
if ( CCI>=0 && CCIb4<0 && EWO>0)
{
val1[shift]=Low[shift]-8*Point;
if (shift < 2 )
{
UD=" UP.";
DoAlert(UD);
}
}
// if ( TTb4<TT1b4 && TT>TT1)
if ( CCI<=0 && CCIb4> 0 && EWO<0)
{
val2[shift]=High[shift]+8*Point;
if (shift < 2 )
{
UD=" DOWN.";
DoAlert(UD);
}
}
}
//return(0);
}
void DoAlert(string UD)
{
if (!NewBar() || !UseAlert)
return;
Alert (Symbol()," ",Period(),"T3 TRIX cross ",UD);
}
bool NewBar()
{
static datetime dt = 0;
if (dt != Time[0])
{
dt = Time[0];
return(true);
}
}
//+------------------------------------------------------------------+
Comments