Forex50pips
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex50pips.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Forex50pips — торговый советник для MetaTrader 4, который анализирует ценовые данные с помощью скользящей средней периодом 9 и полос Боллинджера периодом 20. Советник отрисовывает на графике стрелки в виде графических объектов, обозначая потенциальные точки входа и выхода по сделкам.
Программа обрабатывает тики через обработчик start(), при каждом новом баре проверяет условия формирования сигналов и при необходимости выводит уведомления. Поддерживаются три типа оповещений: всплывающие окна, отправка электронной почты и звуковой сигнал — каждый из них может быть включён или выключен отдельно.
Для хранения состояния сигналов используются глобальные переменные терминала, привязанные к символу и таймфрейму. Советник не отправляет торговые ордера автоматически и работает исключительно как инструмент визуализации и уведомления.
Настройки программы
| Настройка | Описание |
|---|---|
| _Alert | Всплывающие уведомления — Включает или отключает всплывающие уведомления на графике. |
| _SendMail | Уведомления по email — Включает или отключает отправку уведомлений по электронной почте. |
| _Sound | Звуковой сигнал — Включает или отключает звуковой сигнал при появлении события. |
| Arrow | Толщина стрелок — Толщина линии стрелок-индикаторов на графике. |
| indent | Отступ стрелок — Отступ в ценовых пунктах для размещения стрелок относительно цены. |
Поиск по коду файла
#include <WinUser32.mqh>
extern bool _Alert = TRUE;
extern bool _SendMail = TRUE;
extern bool _Sound = TRUE;
extern int Arrow = 4;
extern int indent = 15;
int g_period_96;
int gi_100;
int g_period_104;
int g_ma_method_112;
string g_var_name_116;
string g_var_name_124;
bool gi_132 = TRUE;
int gi_148;
int gi_152;
double g_digits_156;
int g_datetime_164 = 0;
int init() {
// код доступен только после оплаты
}
int deinit() {
string name_8;
int li_0 = ObjectsTotal();
for (int objs_total_4 = li_0; objs_total_4 >= 0; objs_total_4--) {
name_8 = ObjectName(objs_total_4);
if (StringSubstr(name_8, 0, 4) == "sell") ObjectDelete(name_8);
}
li_0 = ObjectsTotal();
for (objs_total_4 = li_0; objs_total_4 >= 0; objs_total_4--) {
name_8 = ObjectName(objs_total_4);
if (StringSubstr(name_8, 0, 5) == "close") ObjectDelete(name_8);
}
li_0 = ObjectsTotal();
for (objs_total_4 = li_0; objs_total_4 >= 0; objs_total_4--) {
name_8 = ObjectName(objs_total_4);
if (StringSubstr(name_8, 0, 3) == "buy") ObjectDelete(name_8);
}
return (0);
}
int start() {
// код доступен только после оплаты
}
void f0_1() {
string ls_0;
string ls_8;
string ls_16;
int li_24;
if (GlobalVariableGet(g_var_name_124) == 1.0 && iMA(Symbol(), 0, g_period_104, 0, g_ma_method_112, PRICE_CLOSE, 0) <= High[0]) {
GlobalVariableSet(g_var_name_124, 0);
li_24 = Period();
if (li_24 >= 60) {
li_24 /= 60;
ls_16 = " H" + li_24;
} else ls_16 = " M" + li_24;
ls_8 = "F50P" + " " + Symbol() + " " + ls_16 + " Close BUY";
ls_0 = "F50P" + " " + Symbol() + " " + ls_16 + " Close BUY";
if (_Alert) Alert(ls_0);
if (_SendMail) SendMail("Forex50pips Indicator Alert", ls_8);
if (_Sound) PlaySound("expert.wav");
ObjectCreate("close" + Time[0], OBJ_ARROW, 0, Time[0], High[0] + gi_152 * indent * Point);
ObjectSet("close" + Time[0], OBJPROP_COLOR, Green);
ObjectSet("close" + Time[0], OBJPROP_WIDTH, Arrow);
ObjectSet("close" + Time[0], OBJPROP_ARROWCODE, SYMBOL_STOPSIGN);
}
}
void f0_3() {
string ls_0;
string ls_8;
string ls_16;
int li_24;
if (GlobalVariableGet(g_var_name_116) == 1.0 && iMA(Symbol(), 0, g_period_104, 0, g_ma_method_112, PRICE_CLOSE, 0) >= Low[0]) {
GlobalVariableSet(g_var_name_116, 0);
li_24 = Period();
if (li_24 >= 60) {
li_24 /= 60;
ls_16 = " H" + li_24;
} else ls_16 = " M" + li_24;
ls_8 = "F50P" + " " + Symbol() + " " + ls_16 + " Close SELL";
ls_0 = "F50P" + " " + Symbol() + " " + ls_16 + " Close SELL";
if (_Alert) Alert(ls_0);
if (_SendMail) SendMail("Forex50pips Indicator Alert", ls_8);
if (_Sound) PlaySound("expert.wav");
ObjectCreate("close" + Time[0], OBJ_ARROW, 0, Time[0], Low[0] - gi_152 * indent * Point);
ObjectSet("close" + Time[0], OBJPROP_COLOR, Green);
ObjectSet("close" + Time[0], OBJPROP_WIDTH, Arrow);
ObjectSet("close" + Time[0], OBJPROP_ARROWCODE, SYMBOL_STOPSIGN);
}
}
void f0_4() {
string ls_0;
string ls_8;
string ls_16;
int li_24;
if (GlobalVariableGet(g_var_name_116) != 1.0) {
if (Low[1] > iMA(Symbol(), 0, g_period_104, 0, g_ma_method_112, PRICE_CLOSE, 1)) {
if (High[1] >= iBands(NULL, 0, g_period_96, gi_100, 0, PRICE_CLOSE, MODE_UPPER, 1)) {
if (High[2] >= iBands(NULL, 0, g_period_96, gi_100, 0, PRICE_CLOSE, MODE_UPPER, 2)) {
if (High[3] >= iBands(NULL, 0, g_period_96, gi_100, 0, PRICE_CLOSE, MODE_UPPER, 3)) {
GlobalVariableSet(g_var_name_116, 1);
li_24 = Period();
if (li_24 >= 60) {
li_24 /= 60;
ls_16 = " H" + li_24;
} else ls_16 = " M" + li_24;
ls_8 = "F50P" + " " + Symbol() + " " + ls_16 + " SELL";
ls_0 = "F50P" + " " + Symbol() + " " + ls_16 + " SELL";
if (_Alert) Alert(ls_0);
if (_SendMail) SendMail("ForeПоказано первые 50% кода (символов: 6689)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.