//+------------------------------------------------------------------+ //| PChannel_m.mq4 | //+------------------------------------------------------------------+ #property indicator_chart_window //Íàçíà÷àåì îêíî äëÿ âûâîäà ãðàôèêà (òàì, ãäå áàðû) #property indicator_buffers 3 //Âûäåëÿåì äëÿ èíäèêàòîðà òðè áóôåðà #property indicator_color1 DodgerBlue //Íàçíà÷àåì öâåò äëÿ îòîáðàæåíèÿ äàííûõ 1 áóôåðà #property indicator_color2 DodgerBlue //Íàçíà÷àåì öâåò äëÿ îòîáðàæåíèÿ äàííûõ 2 áóôåðà #property indicator_color3 DodgerBlue //Íàçíà÷àåì öâåò äëÿ îòîáðàæåíèÿ äàííûõ 3 áóôåðà //---- input parameters //îáúÿâëåíèå ââîäèìûõ âíåøíèõ ïàðàìåòðîâ extern int Range=14; //ïî óìîë÷àíèþ ââîäèìîå çíà÷åíèå ðàâíî 14 //---- buffers double UpBuffer[]; //îáÿâëåíèå ïåðåìåííîé UpBuffer òèïà "ìàññèâ ñ ïëàâàþùåé òî÷êîé" double DnBuffer[]; //îáÿâëåíèå ïåðåìåííîé DnBuffer òèïà "ìàññèâ ñ ïëàâàþùåé òî÷êîé" double MdBuffer[]; //îáÿâëåíèå ïåðåìåííîé MdBuffer òèïà "ìàññèâ ñ ïëàâàþùåé òî÷êîé" //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() //èíèöèàëèçàöèÿ ïåðåìåííûõ { string short_name; //îáÿâëåíèå ïåðåìåííîé short_name òèïà "ñòðîêîâûé" //---- indicator line SetIndexStyle(0,DRAW_LINE,1,2); //óñòàíîâêà ñòèëÿ äëÿ ïåðâîãî çíà÷åíèÿ èíäèêàòîðà SetIndexStyle(1,DRAW_LINE,1,2); //óñòàíîâêà ñòèëÿ äëÿ âòîðîãî çíà÷åíèÿ èíäèêàòîðà SetIndexStyle(2,DRAW_LINE,2); //óñòàíîâêà ñòèëÿ äëÿ òðåòüåãî çíà÷åíèÿ èíäèêàòîðà SetIndexBuffer(0,UpBuffer); //çíà÷åíèå çàïèñûâàåìîå â 0 áóôåð ðàâíî ïåðåìåííîé UpBuffer SetIndexBuffer(1,DnBuffer); //çíà÷åíèå çàïèñûâàåìîå â 1 áóôåð ðàâíî ïåðåìåííîé DnBuffer SetIndexBuffer(2,MdBuffer); //çíà÷åíèå çàïèñûâàåìîå â 2 áóôåð ðàâíî ïåðåìåííîé MdBuffer //---- name for DataWindow and indicator subwindow label short_name="PriceChannel("+Range+")"; //ïåðåìåííîé short_name ïðèñâàèâàåì ñòðîêîâîå //çíà÷åíèå ðàâíîå âûðàæåíèþ IndicatorShortName(short_name); //äëÿ îòîáðàæåíèÿ íà ãðàôèêå ïðèñâîèì èíäèêàòîðó êðàòêîå //íàèìåíîâàíèå SetIndexLabel(0,"Up Channel"); //äëÿ îòîáðàæåíèÿ íà ãðàôèêå ïðèñâîèì ìåòêå îòîáðàæàþùåé //çíà÷åíèÿ 0 áóôåðà èìÿ Up Channel SetIndexLabel(1,"Down Channel"); //äëÿ îòîáðàæåíèÿ íà ãðàôèêå ïðèñâîèì ìåòêå îòîáðàæàþùåé //çíà÷åíèÿ 1 áóôåðà èìÿ Down Channel SetIndexLabel(2,"Middle Channel"); //äëÿ îòîáðàæåíèÿ íà ãðàôèêå ïðèñâîèì ìåòêå îòîáðàæàþùåé //çíà÷åíèÿ 2 áóôåðà èìÿ Middle Channel //---- SetIndexDrawBegin(0,0); //óñòàíîâêà íà÷àëüíîé òî÷êè ïðîðèñîâêè äëÿ 0 áóôåðà SetIndexDrawBegin(1,0); //óñòàíîâêà íà÷àëüíîé òî÷êè ïðîðèñîâêè äëÿ 1 áóôåðà SetIndexDrawBegin(2,0); //óñòàíîâêà íà÷àëüíîé òî÷êè ïðîðèñîâêè äëÿ 2 áóôåðà //---- return(0); //âîçâðàò èç ñåêöèè èíèöèàëèçàöèè } //+------------------------------------------------------------------+ //| PriceChannel | //+------------------------------------------------------------------+ int start() //íà÷àëî ïðîãðàììû (ðàñ÷åòà) { int i; //îáúÿâëåíèå öåëî÷èñëåííîé ïåðåìåííîé i,k,sch //---- for(i=Bars-1;i>=0;i--) { UpBuffer[i]=High[Highest(NULL,0,MODE_HIGH,Range,i)]; DnBuffer[i]=Low[Lowest(NULL,0,MODE_LOW,Range,i)]; MdBuffer[i]=(UpBuffer[i]+DnBuffer[i])/2; } return(0); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: