Indicators Used
0
Views
0
Downloads
0
Favorites
ChuvaChu
//+------------------------------------------------------------------+
//| ChuvaChu.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern color UpColor = Green;
extern color DnColor = Red;
double fr_up[6];
double fr_dn[6];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
DeleteUpLines();
DeleteDnLines();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
DeleteUpLines();
DeleteDnLines();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
static int prewbar;
if(prewbar==iTime(Symbol(),0,0)) return;
prewbar= iTime(Symbol(),0,0);
//----
int j=0;
ArrayInitialize(fr_up, 0);
for(int i=3; i<=1000; i++)
{ fr_up[j]=iFractals(Symbol(), 0, MODE_UPPER, i);
if(fr_up[j]>0)
{ fr_up[j+1]=i;
j=j+2;
}
if(j>4)
{ if(CreateUpLines()<0)
{ j=0; i=fr_up[3]-1;
ArrayInitialize(fr_up, 0);
}
else
break;
}
}
j=0;
ArrayInitialize(fr_dn, 0);
for(i=3; i<=1000; i++)
{ fr_dn[j]=iFractals(Symbol(), 0, MODE_LOWER, i);
if(fr_dn[j]>0)
{ fr_dn[j+1]=i;
j=j+2;
}
if(j>4)
{ if(CreateDnLines()<0)
{ j=0; i=fr_dn[3]-1;
ArrayInitialize(fr_dn, 0);
}
else
break;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//--------------------------------------------------------------------------------
int CreateUpLines()
{
if(fr_up[4]>fr_up[2])
{ if(ObjectFind("UPCHUV2")>=0)
if(ObjectGet("UPCHUV2", OBJPROP_PRICE1)!=fr_up[4] || ObjectGet("UPCHUV2", OBJPROP_PRICE2)!=fr_up[2])
DeleteUpLines();
else
return(1);
ObjectCreate("UPCHUV2", OBJ_TREND, 0, iTime(Symbol(), 0, fr_up[5]), fr_up[4], iTime(Symbol(), 0, fr_up[3]), fr_up[2]);
ObjectSet("UPCHUV2", OBJPROP_COLOR, UpColor);
if(ObjectGetValueByShift("UPCHUV2", fr_up[1])<fr_up[0] && fr_up[0]<fr_up[2])
{ ObjectCreate("UPCHUV1", OBJ_TREND, 0, iTime(Symbol(), 0, fr_up[3]), fr_up[2], iTime(Symbol(), 0, fr_up[1]), fr_up[0]);
ObjectSet("UPCHUV1", OBJPROP_COLOR, UpColor);
return(1);
}
}
if(ObjectFind("UPCHUV2")>=0) ObjectDelete("UPCHUV2");
return(-1);
}
//-------------------------------------------------------------------
int CreateDnLines()
{
if(fr_dn[4]<fr_dn[2])
{ if(ObjectFind("DNCHUV2")>=0)
if(ObjectGet("DNCHUV2", OBJPROP_PRICE1)!=fr_dn[4] || ObjectGet("DNCHUV2", OBJPROP_PRICE2)!=fr_dn[2])
DeleteDnLines();
else
return(1);
ObjectCreate("DNCHUV2", OBJ_TREND, 0, iTime(Symbol(), 0, fr_dn[5]), fr_dn[4], iTime(Symbol(), 0, fr_dn[3]), fr_dn[2]);
ObjectSet("DNCHUV2", OBJPROP_COLOR, DnColor);
if(ObjectGetValueByShift("DNCHUV2", fr_dn[1])>fr_dn[0] && fr_dn[0]>fr_dn[2])
{ ObjectCreate("DNCHUV1", OBJ_TREND, 0, iTime(Symbol(), 0, fr_dn[3]), fr_dn[2], iTime(Symbol(), 0, fr_dn[1]), fr_dn[0]);
ObjectSet("DNCHUV1", OBJPROP_COLOR, DnColor);
return(1);
}
}
if(ObjectFind("DNCHUV2")>=0) ObjectDelete("DNCHUV2");
return(-1);
}
//---------------------------------------------------------------------------------
void DeleteUpLines()
{
if(ObjectFind("UPCHUV1")>=0) ObjectDelete("UPCHUV1");
if(ObjectFind("UPCHUV2")>=0) ObjectDelete("UPCHUV2");
}
//---------------------------------------------------------------------------------
void DeleteDnLines()
{
if(ObjectFind("DNCHUV1")>=0) ObjectDelete("DNCHUV1");
if(ObjectFind("DNCHUV2")>=0) ObjectDelete("DNCHUV2");
}
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
---