MA-Crossover_Alert
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «0 - ma-crossover_alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
MA-Crossover_Alert — это пользовательский индикатор для MetaTrader 5, который рассчитывает два скользящих средних с настраиваемыми периодами и методами сглаживания, а также отображает точки их пересечения на графике цен в виде стрелок. Сигналы покупки показываются зелёными стрелками, продажи — красными.
Индикатор поддерживает пять методов сглаживания: SMA, EMA, SMMA, LWMA и LSMA, а также позволяет выбирать тип цены для расчёта (Close, Open, High, Low и другие). Два буфера данных отрисовываются в основном окне графика с использованием символов-стрелок.
Помимо визуального отображения, индикатор предоставляет возможность отправки звуковых уведомлений и электронных писем при появлении сигналов о пересечении. Количество отправляемых оповещений ограничивается соответствующей настройкой.
Настройки программы
| Настройка | Описание |
|---|---|
| FastMA_Mode | Метод сглаживания для быстрой скользящей средней (SMA, EMA, SMMA, LWMA или LSMA). |
| FastMA_Period | Период усреднения для быстрой скользящей средней. |
| FastPriceMode | Тип цены, используемый для расчёта быстрой скользящей средней (Close, Open, High, Low и др.). |
| SlowMA_Mode | Метод сглаживания для медленной скользящей средней (SMA, EMA, SMMA, LWMA или LSMA). |
| SlowMA_Period | Период усреднения для медленной скользящей средней. |
| SlowPriceMode | Тип цены, используемый для расчёта медленной скользящей средней (Close, Open, High, Low и др.). |
| SoundON | Включает или отключает звуковые уведомления о сигналах пересечения скользящих средних. |
| EmailON | Включает или отключает отправку электронных писем с уведомлениями о сигналах пересечения скользящих средних. |
| NumberofAlerts | Максимальное количество отправляемых оповещений (звуковых и по электронной почте) о сигналах пересечения. |
Поиск по коду файла
/*+------------------------------------------------------------------+
| MA-Crossover_Alert.mq5 |
| Copyright © 2005, Jason Robinson (jnrtrading) |
| |
| Modified by Robert Hill to add LSMA and alert or send email |
| Added Global LastAlert to try to have alert only on new cross |
| but does not seem to work. So indicator does alert every bar |
+------------------------------------------------------------------+
+------------------------------------------------------------------+
| Allows you to enter two ma periods and it will then show you at |
| Which point they crossed over. It is more usful on the shorter |
| periods that get obscured by the bars / candlesticks and when |
| the zoom level is out. Also allows you then to remove the mas |
| from the chart. (emas are initially set at 5 and 20) |
+------------------------------------------------------------------+*/
#property version "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots 2
#property indicator_type1 DRAW_ARROW
#property indicator_color1 Red
#property indicator_width1 4
#property indicator_label1 "MA-Crossover_Alert Sell"
#property indicator_type2 DRAW_ARROW
#property indicator_color2 Lime
#property indicator_width2 4
#property indicator_label2 "MA-Crossover_Alert Buy"
enum Smooth_Method
{
MODE_SMA_, //SMA
MODE_EMA_, //EMA
MODE_SMMA_, //SMMA
MODE_LWMA_, //LWMA
MODE_LSMA_ //LSMA
};
#define RESET 0 // the constant for getting the command for the indicator recalculation back to the terminal
input Smooth_Method FastMA_Mode=MODE_SMA_; //Smoothing method for fast moving
input uint FastMA_Period=1; //Period of averaging for fast moving
input ENUM_APPLIED_PRICE FastPriceMode=PRICE_CLOSE;//Price for fast moving
input Smooth_Method SlowMA_Mode=MODE_EMA_; //Smoothing method for slow moving
input uint SlowMA_Period=100; //Period of averaging for slow moving
input ENUM_APPLIED_PRICE SlowPriceMode=PRICE_CLOSE;//Price for slow moving
extern bool SoundON=true; //Alert
extern bool EmailON=false; //Email
input uint NumberofAlerts=2;
double SellBuffer[];
double BuyBuffer[];
uint counter=0;
bool flagval1 = false;
bool flagval2 = false;
int FaMA_Handle,SlMA_Handle;
int StartBars;
void OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
if(rates_total<StartBars) return(RESET);
if(FastMA_Mode!=MODE_LSMA_&&BarsCalculated(FaMA_Handle)<rates_total) return(RESET);
if(SlowMA_Mode!=MODE_LSMA_&&BarsCalculated(SlMA_Handle)<rates_total) return(RESET);
int limit,count;
double fastMAnow,slowMAnow,fastMAprevious,slowMAprevious,Range,AvgRange,MA[],Ask,Bid;
string text,sAsk,sBid,sPeriod;
if(prev_calculated>rates_total || prev_calculated<=0)// checking for thПоказано первые 50% кода (символов: 6916)