Price Data Components
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
EWOCCI_Indicator
//+---------------------------------------------------------+
//| 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
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---