//-------------------------------------------------------------------- // ravi.mq4 //--------------------------------------------------------------- 1 -- #property copyright "Copyright © Roman Shiredchenko, 2009" //-------------------------------------------------------------------- #property indicator_separate_window #property indicator_buffers 1 // Êîëè÷åñòâî áóôåðîâ #property indicator_color1 Blue // Öâåò ëèíèè 0 áóôåðà #property indicator_level1 1 #property indicator_level2 -1 //--------------------------------------------------------------- 2 -- //---- indicator parameters extern int History =5000; // Êîëè÷.áàðîâ â ðàñ÷¸òíîé èñòîðèè extern int Period1=7; extern int Period2=65; double Line_0[]; // Èíä. ìàññèâ ravi //--------------------------------------------------------------- 4 -- int init() // Ñïåöèàëüíàÿ ôóíêöèÿ init() { SetIndexBuffer(0,Line_0); // Íàçíà÷åíèå ìàññèâà áóôåðó SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Ñòèëü ëèíèè IndicatorShortName("ravi_base"); //--------------------------------------------------------------- 5 -- return; // Âûõîä èç ñïåö. ôóíêöèè init() } //--------------------------------------------------------------- 8 -- int start() // Ñïåöèàëüíàÿ ôóíêöèÿ start() { //--------------------------------------------------------------- 9 -- double SMA1, SMA2; // 2 ÌÀ äëÿ ðàñ÷åòà çíà÷åíèé èíäèêàòîðà // ôîðìyëà (SMA1-SMA2)*100)/SMA2; int i, // Èíäåêñ áàðà n, // Ôîðìàëüí. ïàðàìåòð(èíäåêñ áàðà) Counted_bars; // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ //-------------------------------------------------------------- 10 -- Counted_bars=IndicatorCounted(); // Êîëè÷åñòâî ïðîñ÷èòàííûõ áàðîâ i=Bars-Counted_bars-1; // Èíäåêñ ïåðâîãî íåïîñ÷èòàííîãî if (i>History-1) // Åñëè ìíîãî áàðîâ òî .. i=History-1; // ..ðàññ÷èòûâàòü çàäàííîå êîëè÷. //-------------------------------------------------------------- 11 -- while(i>=0) // Öèêë ïî íåïîñ÷èòàííûì áàðàì { //-------------------------------------------------------- 12 -- SMA1=iMA(NULL,0,Period1,0,MODE_SMA,PRICE_CLOSE,i); // Çíà÷åíèå ÌÀ1 SMA2=iMA(NULL,0,Period2,0,MODE_SMA,PRICE_CLOSE,i); // Çíà÷åíèå ÌÀ2 Line_0[i] =0; if (SMA2>0) Line_0[i] = ((SMA1-SMA2)*100)/SMA2; // Èíäèê. ìàññèâ ëèíèè ravi //-------------------------------------------------------- 13 -- i--; // Ðàñ÷¸ò èíäåêñà ñëåäóþùåãî áàðà //-------------------------------------------------------- 14 -- } return; // Âûõîä èç ñïåö. ô-èè start() } //-------------------------------------------------------------- 15 --
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: