← К каталогу
Исходный код · ID 762

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 и перейдите к оплате.

Стоимость полного кода
668,90₽ ≈ $8.18