Price Data Components
0
Views
0
Downloads
0
Favorites
fibopiv monthly
//+------------------------------------------------------------------+
//| fibopiv monthly.mq4 |
//| Copyright © 2007, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("MS1");
ObjectDelete("MS2");
ObjectDelete("MS3");
ObjectDelete("MR1");
ObjectDelete("MR2");
ObjectDelete("MR3");
ObjectDelete("MONTHLY PIVOT");
ObjectDelete("Monthly Support 1");
ObjectDelete("Monthly 2");
ObjectDelete("Monthly 3");
ObjectDelete("Monthly Pivot level");
ObjectDelete("Monthly Resistance 1");
ObjectDelete("Monthly Resistance 2");
ObjectDelete("Monthly Resistance 3");
Comment(" ");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
double rates[1][6],monthly_close,monthly_high,monthly_low;
ArrayCopyRates(rates, Symbol(), PERIOD_MN1);
if(DayOfWeek() == 1)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_MN1,1)) == 5)
{
monthly_close = rates[1][4];
monthly_high = rates[1][3];
monthly_low = rates[1][2];
}
else
{
for(int d = 5;d>=0;d--)
{
if(TimeDayOfWeek(iTime(Symbol(),PERIOD_MN1,d)) == 5)
{
monthly_close = rates[d][4];
monthly_high = rates[d][3];
monthly_low = rates[d][2];
}
}
}
}
else
{
monthly_close = rates[1][4];
monthly_high = rates[1][3];
monthly_low = rates[1][2];
}
//---- Calculate Pivots
Comment("\nMonthly quotations:\nH ",monthly_high,"\nL ",monthly_low, "\nC ",monthly_close);
double R = monthly_high - monthly_low;//range
double mp = (monthly_high + monthly_low + monthly_close)/3;// Standard Pivot
double mr3 = mp + (R * 1.000);
double mr2 = mp + (R * 0.618);
double mr1 = mp + (R * 0.382);
double ms1 = mp - (R * 0.382);
double ms2 = mp - (R * 0.618);
double ms3 = mp - (R * 1.000);
drawLine(mr3,"MR3", DarkGreen,0);
drawLabel("Monthly Resistance 3",mr3,White);
drawLine(mr2,"MR2", DarkGreen,0);
drawLabel("Monthly Resistance 2",mr2,White);
drawLine(mr1,"MR1", DarkGreen,0);
drawLabel("Monthly Resistance 1",mr1,White);
drawLine(mp,"MONTHLY PIVOT",White,1);
drawLabel("Monthly Pivot ",mp,White);
drawLine(ms1,"MS1",DarkSlateBlue,0);
drawLabel("Monthly Support 1",ms1,White);
drawLine(ms2,"MS2",DarkSlateBlue,0);
drawLabel("Monthly Support 2",ms2,White);
drawLine(ms3,"MS3",DarkSlateBlue,0);
drawLabel("Monthly Support 3",ms3,White);
//----
return(0);
}
//+------------------------------------------------------------------+
void drawLabel(string name,double lvl,color Color)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_TEXT, 0, Time[10], lvl);
ObjectSetText(name, name, 8, "Lucida Handwriting", EMPTY);
ObjectSet(name, OBJPROP_COLOR, Color);
}
else
{
ObjectMove(name, 0, Time[10], lvl);
}
}
void drawLine(double lvl,string name, color Col,int type)
{
if(ObjectFind(name) != 0)
{
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
else
{
ObjectDelete(name);
ObjectCreate(name, OBJ_HLINE, 0, Time[0], lvl,Time[0],lvl);
if(type == 1)
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
else
ObjectSet(name, OBJPROP_STYLE, STYLE_DOT);
ObjectSet(name, OBJPROP_COLOR, Col);
ObjectSet(name,OBJPROP_WIDTH,1);
}
}
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
---