Price Data Components
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
MA Chanels FIBO
//+------------------------------------------------------------------+
//| MA Chanels.mq4 |
//| °njel° |
//| iamnotlinked |
//+------------------------------------------------------------------+
#property copyright "°njel°"
#property link "iamnotlinked"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 Orange
#property indicator_color3 Yellow
#property indicator_color4 White
#property indicator_color5 White
#property indicator_color6 Yellow
#property indicator_color7 Orange
#property indicator_color8 Red
//---- input parameters
extern int BarsCount = 500;
extern int MAPeriod=100;
extern int MAMethod=MODE_SMA;
extern int MAPrice=PRICE_CLOSE;
extern int fontsize=10;
double max =0;
double min =0;
double Inc0 = 0.0000;
double Inc1 = 0.0000;
double Inc2 = 0.0000;
double Inc3 = 0.0000;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
double ExtMapBuffer7[];
double ExtMapBuffer8[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,"61.8%");
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,"50%");
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexLabel(2,"38.2%");
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexLabel(3,"23.5%");
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,ExtMapBuffer5);
SetIndexLabel(4,"23.5%");
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,ExtMapBuffer6);
SetIndexLabel(5,"38.2%");
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,ExtMapBuffer7);
SetIndexLabel(6,"50%");
SetIndexStyle(7,DRAW_LINE);
SetIndexBuffer(7,ExtMapBuffer8);
SetIndexLabel(7,"61.8%");
ObjectCreate("l1", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l1", "61.8%",fontsize,"Arial",Red);
ObjectCreate("l2", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l2", "50%",fontsize,"Arial",Red);
ObjectCreate("l3", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l3", "38.2%",fontsize,"Arial",Red);
ObjectCreate("l4", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l4", "23.5%",fontsize,"Arial",Red);
ObjectCreate("l5", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l5", "23.5%",fontsize,"Arial",Red);
ObjectCreate("l6", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l6", "38.2%",fontsize,"Arial",Red);
ObjectCreate("l7", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l7", "50%",fontsize,"Arial",Red);
ObjectCreate("l8", OBJ_TEXT, 0, 0, 0);
ObjectSetText("l8", "61.8%",fontsize,"Arial",Red);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
max =0;
min =0;
ObjectDelete("l1");
ObjectDelete("l2");
ObjectDelete("l3");
ObjectDelete("l4");
ObjectDelete("l5");
ObjectDelete("l6");
ObjectDelete("l7");
ObjectDelete("l8");
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
max =0;
min =0;
if (iBars(NULL,0) < BarsCount)
BarsCount = iBars(NULL,0) -MAPeriod-1 ;
for (int i =BarsCount; i>=0; i--)
{
double m = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i);
double top = High[i] - m;
if (top > max)
max = top;
double bottom = Low[i] - m;
if (bottom < min)
min = bottom;
}
if (MathAbs(max) > MathAbs(min))
Inc3 = max;
else
Inc3 = min;
Inc2 = Inc3*0.618;
Inc1 = Inc3*0.5;
Inc0 = Inc3*0.236;
Inc3 = Inc3*0.382;
for (i =BarsCount; i>=0; i--)
{
ExtMapBuffer1[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) + Inc2;
ExtMapBuffer2[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) + Inc1;
ExtMapBuffer3[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) + Inc3;
ExtMapBuffer4[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) + Inc0;
ExtMapBuffer5[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) - Inc0;
ExtMapBuffer6[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) - Inc3;
ExtMapBuffer7[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) - Inc1;
ExtMapBuffer8[i] = iMA(NULL,0,MAPeriod,0,MAMethod,MAPrice,i) - Inc2;
}
ObjectMove("l1", 0, Time[0],ExtMapBuffer1[0]);
ObjectMove("l2", 0, Time[0],ExtMapBuffer2[0]);
ObjectMove("l3", 0, Time[0],ExtMapBuffer3[0]);
ObjectMove("l4", 0, Time[0],ExtMapBuffer4[0]);
ObjectMove("l5", 0, Time[0],ExtMapBuffer5[0]);
ObjectMove("l6", 0, Time[0],ExtMapBuffer6[0]);
ObjectMove("l7", 0, Time[0],ExtMapBuffer7[0]);
ObjectMove("l8", 0, Time[0],ExtMapBuffer8[0]);
return(0);
}
//+------------------------------------------------------------------+
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
---