Miscellaneous
0
Views
0
Downloads
0
Favorites
Copy of PriceChannel_FiboLevels100_MTF
//+------------------------------------------------------------------------------+
//| MTF_PriceChannel_FiboLevels.mq4 mod. |
//+------------------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 DodgerBlue
#property indicator_color2 RoyalBlue
#property indicator_color3 Blue
#property indicator_color4 DodgerBlue
#property indicator_color5 Blue
#property indicator_color6 RoyalBlue
#property indicator_color7 DodgerBlue
extern int Range=1;
extern int TimeFrame=1440;
extern int Shift=0;
extern int xShift=0;
double UpBuffer[];
double MdBuffer[];
double DnBuffer[];
double Up23.6Buffer[];
double Up61.8Buffer[];
double Dn23.6Buffer[];
double Dn61.8Buffer[];
int i; //ñ÷åò÷èê
//string PeriodName; //õðàíèò èìÿ òàéìôðåéìà
int init()
{
string short_name;
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,UpBuffer);
SetIndexDrawBegin(0,0);
if(TimeFrame==0) TimeFrame = Period();
SetIndexShift(0,Shift+xShift*TimeFrame/Period());
SetIndexLabel(0,"ChannelHi0 ("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Dn23.6Buffer);
SetIndexDrawBegin(1,0);
SetIndexShift(1,Shift+xShift*TimeFrame/Period());
SetIndexLabel(1,"ChannelDn23.6/Up76.4("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Up61.8Buffer);
SetIndexDrawBegin(2,0);
SetIndexShift(2,Shift+xShift*TimeFrame/Period());
SetIndexLabel(2,"ChannelDn38.2/Up61.8("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,MdBuffer);
SetIndexDrawBegin(3,0);
SetIndexShift(3, Shift+xShift*TimeFrame/Period());
SetIndexLabel(3,"MidChannel50 ("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Dn61.8Buffer);
SetIndexDrawBegin(4,0);
SetIndexShift(4, Shift+xShift*TimeFrame/Period());
SetIndexLabel(4,"ChannelDn61.8/Up38.2("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Up23.6Buffer);
SetIndexDrawBegin(5,0);
SetIndexShift(5, Shift+xShift*TimeFrame/Period());
SetIndexLabel(5,"ChannelDn76.4/Up23.6("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,DnBuffer);
SetIndexDrawBegin(6,0);
SetIndexShift(6, Shift+xShift*TimeFrame/Period());
SetIndexLabel(6,"ChannelLo100 ("+Range+"),TF"+TimeFrame+",xS"+xShift+"");
IndicatorShortName(short_name);
switch(TimeFrame) // ïðèñâîåíèå çíà÷åíèÿ TimeFrame â çàâèñèìîñòè îò âûáðàííîãî â ïàðàìåòðàõ
{
case 1 : TimeFrame=PERIOD_M1; break; //â òîì æå ïîðÿäêå, ÷òî è êíîïêè íà ïàíåëè
case 5 : TimeFrame=PERIOD_M5; break;
case 15 : TimeFrame=PERIOD_M15; break;
case 30 : TimeFrame=PERIOD_M30; break;
case 60 : TimeFrame=PERIOD_H1; break;
case 240 : TimeFrame=PERIOD_H4; break;
case 1440 : TimeFrame=PERIOD_D1; break;
case 10080: TimeFrame=PERIOD_W1; break;
case 43200: TimeFrame=PERIOD_MN1; break;
default : TimeFrame=Period(); break;
}
/*
switch(TimeFrame) // ïîëó÷åíèå èìåíè òàéìôðåéìà
{
case PERIOD_M1 : PeriodName="M1"; break;
case PERIOD_M5 : PeriodName="M5"; break;
case PERIOD_M15 : PeriodName="M15"; break;
case PERIOD_M30 : PeriodName="M30"; break;
case PERIOD_H1 : PeriodName="H1"; break;
case PERIOD_H4 : PeriodName="H4"; break;
case PERIOD_D1 : PeriodName="D1"; break;
case PERIOD_W1 : PeriodName="W1"; break;
case PERIOD_MN1 : PeriodName="MN1"; break;
}
*/
short_name="PriceChannel_FiboLevels_MTF";
return(0);
}
int start()
{
int i,counted_bars=IndicatorCounted();
//---- initial zero
if(counted_bars<1)
for(i=1;i<Bars;i++)
{
UpBuffer[i]=0.0;
DnBuffer[i]=0.0;
MdBuffer[i]=0.0;
Dn23.6Buffer[i]=0.0;
Up23.6Buffer[i]=0.0;
Dn61.8Buffer[i]=0.0;
Up61.8Buffer[i]=0.0;
}
//----
datetime TimeArray[];
double LowArray[],HighArray[];
int y=0; //ñ÷åò÷èê áàðîâ äðóãîãî òàéìôðåéìà
if (TimeFrame<Period()) //íåëüçÿ ïðîðèñîâàòü èíäèêàòîð ìåíüøåãî òàéìôðåéìà íà áîëüøåì
{
SetIndexDrawBegin(0,Bars); //î÷èñòêà îò ìóñîðà
SetIndexDrawBegin(1,Bars);
SetIndexDrawBegin(2,Bars);
SetIndexDrawBegin(3,Bars);
SetIndexDrawBegin(4,Bars);
SetIndexDrawBegin(5,Bars);
SetIndexDrawBegin(6,Bars);
SetIndexDrawBegin(7,Bars);
return(0);
}
//ïîëó÷åíèå âðåìåíè íà÷àëà êàæäîãî áàðà ñ äðóãîãî òàéìôðåéìà
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
//ïîëó÷åíèå âñåõ Low îòòóäà æå
ArrayCopySeries(LowArray,MODE_LOW,Symbol(),TimeFrame);
//àíàëîãè÷íî High
ArrayCopySeries(HighArray,MODE_HIGH,Symbol(),TimeFrame);
for(i=0,y=0;i<Bars-counted_bars+TimeFrame/Period();i++)
{
//åñëè âðåìÿ íà÷àëà áàðà íàøåãî òàéìôðåéìà ìåíüøå âðåìåíè íà÷àëà áàðà äðóãîãî òàéìôðåéìà,
//òî ïåðåõîäèì ê ñëåäóþùåìó áàðó íà äðóãîì òàéìôðåéìå (îòñ÷åò â îáðàòíîì ïîðÿäêå)
if (Time[i]<TimeArray[y]) y++;
//|âûáèðàåò áàð ñ ìèíèìàëüíûì/ìàêñèìàëüíûì çíà÷åíèåì ñ äðóãîãî òàéìôðåéìà,
DnBuffer[i]=LowArray[Lowest(NULL,TimeFrame,MODE_LOW,Range,y)];
//|è ïî íîìåðó áàðà âûòàñêèâàåò ñîîòâåòñòâóþùåå çíà÷åíèå èç ìàññèâîâ
UpBuffer[i]=HighArray[Highest(NULL,TimeFrame,MODE_HIGH,Range,y)];
//|LowArray è HighArray
MdBuffer[i]=(UpBuffer[i]+DnBuffer[i])/2;
Up23.6Buffer[i] = DnBuffer[i]+((UpBuffer[i]-DnBuffer[i])*23.6/100);
Dn23.6Buffer[i] = UpBuffer[i]-((UpBuffer[i]-DnBuffer[i])*23.6/100);
Up61.8Buffer[i] = DnBuffer[i]+((UpBuffer[i]-DnBuffer[i])*61.8/100);
Dn61.8Buffer[i] = UpBuffer[i]-((UpBuffer[i]-DnBuffer[i])*61.8/100);
}
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
//----
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
---