//+------------------------------------------------------------------+ //| Signal.mq4 | //| Yuriy Tokman | //| yuriytokman@gmail.com | //+------------------------------------------------------------------+ //Ôóíêöèÿ òîðãîâûõ ñèãíàëîâ îñíîâàíà íà ïîêàçàíèÿõ èíäèêàòîðà OsMA //Äîáîâëÿåì ôóíêöèþ â ñîâåòíèê #include <Signal.mqh> //Óñëîâèå if(GetSignal()==1) äëÿ ïîêóïêè //Óñëîâèå if(GetSignal()==-1) äëÿ ïðîäàæè #property copyright "Yuriy Tokman" #property link "yuriytokman@gmail.com" extern int fast_ema_period = 10;//Ïåðèîä óñðåäíåíèÿ äëÿ âû÷èñëåíèÿ áûñòðîé ñêîëüçÿùåé ñðåäíåé. extern int slow_ema_period = 12;//Ïåðèîä óñðåäíåíèÿ äëÿ âû÷èñëåíèÿ ìåäëåííîé ñêîëüçÿùåé ñðåäíåé. extern int signal_period = 11;//Ïåðèîä óñðåäíåíèÿ äëÿ âû÷èñëåíèÿ ñèãíàëüíîé ëèíèè. extern int applied_price = 5;// 0-6 Èñïîëüçóåìàÿ öåíà. extern int shift0 = 18;//Èíäåêñ ïîëó÷àåìîãî çíà÷åíèÿ èç èíäèêàòîðíîãî áóôåðà (ñäâèã îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå êîëè÷åñòâî ïåðèîäîâ íàçàä). extern int shift1 = 20;//Èíäåêñ ïîëó÷àåìîãî çíà÷åíèÿ èç èíäèêàòîðíîãî áóôåðà (ñäâèã îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå êîëè÷åñòâî ïåðèîäîâ íàçàä). extern int shift2 = 0;//Èíäåêñ ïîëó÷àåìîãî çíà÷åíèÿ èç èíäèêàòîðíîãî áóôåðà (ñäâèã îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå êîëè÷åñòâî ïåðèîäîâ íàçàä). extern int shift3 = 11;//Èíäåêñ ïîëó÷àåìîãî çíà÷åíèÿ èç èíäèêàòîðíîãî áóôåðà (ñäâèã îòíîñèòåëüíî òåêóùåãî áàðà íà óêàçàííîå êîëè÷åñòâî ïåðèîäîâ íàçàä). //+------------------------------------------------------------------+ //| My function | //+------------------------------------------------------------------+ int GetSignal() { double x0 = iOsMA(NULL,0,fast_ema_period,slow_ema_period,signal_period,applied_price,shift0); double x1 = iOsMA(NULL,0,fast_ema_period,slow_ema_period,signal_period,applied_price,shift1); double x2 = iOsMA(NULL,0,fast_ema_period,slow_ema_period,signal_period,applied_price,shift2); double x3 = iOsMA(NULL,0,fast_ema_period,slow_ema_period,signal_period,applied_price,shift3); int vSignal = 0; if (x3>x2 && x2<x1 && x1<x0)vSignal = 1;//up else if (x3<x2 && x2>x1 && x1>x0) vSignal =-1;//down return (vSignal); } //+------------------------------------------------------------------+
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Moving Average of Oscillator
Custom Indicators Used:
Order Management characteristics:
Other Features: