Author: Yuriy Tokman
Indicators Used
Moving Average of Oscillator
0 Views
0 Downloads
0 Favorites
Signal
//+------------------------------------------------------------------+
//|                                                       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);
   } 
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---