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

#bamsbung-no repaint-3.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает аналитические линии и стрелки на основе ценовых данных и технических показателей, а также формирует уведомления при смене направления. В коде используются внешние вызовы DLL и встроенные функции для работы с массивами и объектами графика. Индикатор поддерживает настройки оповещений и отображения стрелок, а также имеет встроенную проверку срока действия.

Настройки программы

НастройкаОписание
Gs_76 Определяет таймфрейм для расчёта индикатора. Значение по умолчанию — "Current time frame", что соответствует текущему таймфрейму графика.
_ Текстовый параметр, используемый как заголовок для группы настроек оповещений.
alertsOn Включает или отключает все оповещения индикатора.
alertsOnCurrent Если включено, оповещения срабатывают на текущем (незакрытом) баре; иначе — только на закрытом баре.
alertsMessage Включает вывод всплывающих сообщений (Alert) при появлении сигнала.
alertsSound Включает звуковое оповещение при появлении сигнала.
alertsEmail Включает отправку уведомлений по электронной почте при появлении сигнала.
ShowArrows Включает или отключает отображение стрелок на графике при смене направления индикатора.
arrowsIdentifier Префикс имени для объектов-стрелок на графике. Используется для идентификации и удаления стрелок.
arrowsUpColor Цвет стрелок, отображаемых при сигнале на покупку.
arrowsDnColor Цвет стрелок, отображаемых при сигнале на продажу.
Получить полный код

Поиск по коду файла

#property version   "1.0"

#property indicator_separate_window
#property indicator_levelcolor CLR_NONE
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 White
#property indicator_color4 Red

#import "BAMSBUNG.dll"
   void fastSingular(double& a0[], int a1, int a2, int a3, double& a4[]);
#import

input string Gs_76 = "Current time frame";
int G_applied_price_84 = PRICE_CLOSE;
int Gi_88 = 10;
int Gi_92 = 2;
int G_period_96 = 20;
int Gi_100 = 500;
int G_period_104 = 2;
int G_ma_method_108 = MODE_LWMA;
int G_period_112 = 7;
int G_ma_method_116 = MODE_LWMA;
int G_period_120 = 10;
int G_ma_method_124 = MODE_LWMA;
double Gd_128 = 98.0;
int Gi_136 = 0;
double Gd_140 = -0.4;
double Gd_148 = 0.0;
double Gd_156 = 0.4;
int Gi_164 = 1;
extern string _ = "alerts settings";
extern bool alertsOn = TRUE;
extern bool alertsOnCurrent = TRUE;
extern bool alertsMessage = FALSE;
extern bool alertsSound = FALSE;
extern bool alertsEmail = FALSE;
extern bool ShowArrows = TRUE;
extern string arrowsIdentifier = "BAMSBUNG arrows";
extern color arrowsUpColor = Lime;
extern color arrowsDnColor = Red;
double G_ibuf_216[];
double G_ibuf_220[];
double G_ibuf_224[];
double G_ibuf_228[];
double G_ibuf_232[];
double G_ibuf_236[];
double G_ibuf_240[];
double G_ibuf_244[];
double Gda_248[];
double Gda_252[];
string Gs_256;
bool Gi_264;
bool Gi_268;
int G_timeframe_272;
double Gd_276;
string Gsa_284[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"};
int Gia_288[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};
string Gs_nothing_292 = "nothing";
datetime G_time_300;

int init() {
      // код доступен только после оплаты
   }

int deinit() {
   string Lsa_unused_0[256];
   if ((!Gi_264) && ShowArrows) f0_5();
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   int Li_0;
   double ima_4;
   double Ld_12;
   double ima_20;
   double Ld_28;
   double Ld_36;
   int shift_44;
   int datetime_48;
   string Ls_52 = "2030.03.25";
   int str2time_60 = StrToTime(Ls_52);
   if (TimeCurrent() >= str2time_60) {
      Alert("Sory indicator #Bamsbung No Repaint Expired Please contact www.bamsbung.com ");
      return (0);
   }
   int Li_64 = IndicatorCounted();
   if (Li_64 < 0) return (-1);
   if (Li_64 > 0) Li_64--;
   int Li_68 = MathMin(Bars - Li_64, Bars - 1);
   if (Gi_268) {
      G_ibuf_216[0] = Li_68 + 1;
      return (0);
   }
   if (Gi_264 || G_timeframe_272 == Period()) {
      Li_0 = MathMin(Bars - 1, Gi_100);
      for (int Li_72 = Li_68; Li_72 >= 0; Li_72--) {
         ima_4 = iMA(NULL, 0, G_period_96, 0, MODE_SMA, G_applied_price_84, Li_72);
         Ld_12 = 3.0 * iStdDev(NULL, 0, G_period_96, 0, MODE_SMA, G_applied_price_84, Li_72);
         ima_20 = iMA(NULL, 0, 1, 0, MODE_SMA, G_applied_price_84, Li_72);
         G_ibuf_236[Li_72] = (ima_20 - ima_4) / MathMax(Ld_12, 0.000001);
         if (ArraySize(Gda_248) != Li_0) {
            ArrayResize(Gda_248, Li_0);
            ArrayResize(Gda_252, Li_0);
         }
         ArrayCopy(Gda_248, G_ibuf_236, 0, 0, Li_0);
         fastSingular(Gda_248, Li_0, Gi_88, Gi_92, Gda_252);
         ArrayCopy(G_ibuf_232, Gda_252);
      }
      for (Li_72 = Li_68 - 1; Li_72 >= 0; Li_72--) {
         G_ibuf_224[Li_72] = iMAOnArray(G_ibuf_232, 0, G_period_104, 0, G_ma_method_108, Li_72);
         G_ibuf_228[Li_72] = iMAOnArray(G_ibuf_232, 0, G_period_112, 0, G_ma_method_116, Li_72);
         G_ibuf_240[Li_72] = iMAOnArray(G_ibuf_232, 0, G_period_120, 0, G_ma_method_124, Li_72);
         Ld_28 = f0_6(G_ibuf_232, G_period_120, G_ibuf_240[Li_72 + Gi_136], Li_72 + Gi_136);
         Ld_36 = Gd_276 * Ld_28 / MathSqrt(G_period_120);
         G_ibuf_216[Li_72] = G_ibuf_240[Li_72 + Gi_136] + Ld_36;
         G_ibuf_220[Li_72] = G_ibuf_240[Li_72 + Gi_136] - Ld_36;
         G_ibuf_244[Li_72] = G_ibuf_244[Li_72 + 1];
         if (G_ibuf_224[Li_72] > G_ibuf_228[Li_72]) G_ibuf_244[Li_72] = 1;
         if (G_ibuf_224[Li_72] < G_ibuf_228[Li_72]) G_ibuf_244[Li_72] = -1;
         if (!Gi_264) f0_10(Li_72);
      }
      f0_1();
      return (0);
   }
   Li_68 = MathMin(Bars, Gi_100 * G_timeframe_272 / Period());
   for (Li_72 = Li_68; Li_72 >= 0; Li_72--) {
      shift_44 = iBarShift(NULL, G_timeframe_272, Time[Li_72]);
      G_ibuf_216[Li_72] = iCustom(NULL, G_timeframe_272, Gs_256, "calculateValue", G_applied_price_84, Gi_88, Gi_92, G_period_96, Gi_100, G_period_104, G_ma_method_108,
         G_period_112, G_ma_method_116, G_period_120, G_ma_method_124, Gd_128, Gi_136, 0, shift_44);
      G_ibuf_220[Li_72] = iCustom(NULL, G_timeframe_272, Gs_256, "calculateValue", G_applied_price_84, Gi_88, Gi_92, G_period_96, Gi_100, G_period_104, G_ma_method_108,
         G_period_112, G_ma_me

Показано первые 50% кода (символов: 8683)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
868,30₽ ≈ $10.82