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

holy grail 1.7.mq4

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

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

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

О программе

Индикатор для MetaTrader 4, отображающий сигналы на графике в виде стрелок BUY и SELL. Рассчитывает значения на основе данных ценовых свечей и индикаторов ADX, SAR и ATR. Визуализирует результаты прямо на графике цен с помощью графических меток и выводит информационную панель с данными счёта через функцию Comment. Поддерживает уведомления через звуковой сигнал, электронную почту и push-сообщения при появлении сигналов.

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

НастройкаОписание
MAIN_PERIOD Основной период — Целочисленный параметр, используемый во внутренних расчётах индикатора для определения периода анализа.
ADX_PERIOD Период ADX — Целочисленный параметр, задающий период расчёта индикатора ADX.
MINBARS Минимальное количество баров — Целочисленный параметр, ограничивающий максимальное количество обрабатываемых баров на графике.
GRAPHICAL_USER_INTERFACE Графический интерфейс — Переключатель, включающий или отключающий отображение информационной панели с данными счёта и рынка на графике.
SOUND_ALERT Звуковое уведомление — Переключатель, включающий или отключающий воспроизведение звукового сигнала при появлении сигнала.
EMAIL_NOTIFICATION Уведомление по электронной почте — Переключатель, включающий или отключающий отправку уведомлений на электронную почту при появлении сигнала.
SMS_NOTIFICATION SMS-уведомление — Переключатель, включающий или отключающий отправку push-уведомлений при появлении сигнала.
ArrowDisplacement Смещение стрелки — Числовой множитель, определяющий расстояние смещения стрелок сигнала от ценовых уровней.
Получить полный код

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

/*
   G e n e r a t e d  by ex4-to-mq4 decompiler FREEWARE 4.0.509.5
   Website: hTtP: // wW W. m etaq uo TES. nE T
   E-mail : S Up p oRT @m et AQuO T E s. N Et
*/

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Crimson
#property indicator_color2 Lime

extern int MAIN_PERIOD = 10;
extern int ADX_PERIOD = 7;
extern int MINBARS = 10000;
extern bool GRAPHICAL_USER_INTERFACE = TRUE;
extern bool SOUND_ALERT = TRUE;
extern bool EMAIL_NOTIFICATION = FALSE;
extern bool SMS_NOTIFICATION = FALSE;
extern double  ArrowDisplacement = 1;
double G_ibuf_104[];
double G_ibuf_108[];
double G_ibuf_112[];
double G_ibuf_116[];
string Gs_120;
string Gs_128;
datetime G_time_136;
int Gi_140 = 0;

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

int deinit() {
   Gs_120 = "";
   ObjectsDeleteAll();
   return (0);
}

void start() {
      // код доступен только после оплаты
   }
   double isar_0;
   double isar_8;
   double Ld_16;
   double iadx_24;
   int Li_32;
   if (Bars > 10)
   {
      Gi_140 = IndicatorCounted();
      if (Gi_140 >= 0)
      {
         if (Gi_140 > 0) Gi_140--;
         Li_32 = MathMin(Bars - Gi_140 - 1, MINBARS);
         if (GRAPHICAL_USER_INTERFACE == FALSE) Gs_120 = "\n\nHOLY GRAIL INDICATOR V1.6\n" + "Copyright \t? 2013 Proximus";
         if (GRAPHICAL_USER_INTERFACE == TRUE)
         {
            Ld_16 = MathAbs(Bid - Ask);
            if (IsDemo() == TRUE) Gs_128 = "DEMO";
            if (IsDemo() == FALSE) Gs_128 = "REAL";
            if (MarketInfo(Symbol(), MODE_DIGITS) == 4.0 || MarketInfo(Symbol(), MODE_DIGITS) == 2.0)
            {
               Gs_120 = "\n\n" + "HOLY GRAIL INDICATOR V1.6\n" + "Copyright \t? 2013 Proximus" 
                  + "\n " 
                  + "\n LEVERAGE:   " + "1:" + AccountLeverage() 
                  + "\n ACCOUNT CURRENCY:   " + AccountCurrency() 
                  + "\n ACCOUNT TYPE:   " + Gs_128 
                  + "\n ------------------------------------------------------ " 
                  + "\n BROKER TIME:   " + TimeToStr(TimeCurrent(), TIME_SECONDS) 
                  + "\n LOCAL TIME:   " + TimeToStr(TimeLocal(), TIME_SECONDS) 
                  + "\n TIME DIFFERENCE:   " + TimeToStr(MathAbs(TimeLocal() - TimeCurrent()), TIME_SECONDS) 
                  + "\n ------------------------------------------------------ " 
                  + "\n ASK:   " + DoubleToStr(Ask, MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n BID:   " + DoubleToStr(Bid, MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n SPREAD:   " + DoubleToStr(Ld_16 / Point, 0) + " pips" 
                  + "\n ------------------------------------------------------ " 
                  + "\n SWAP LONG:   " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPLONG), MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n SWAP SHORT:   " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPSHORT), MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n ------------------------------------------------------ " 
                  + "\n NR. OF ACTIVE ORDERS:   " + OrdersTotal() 
                  + "\n ACCOUNT BALANCE:   " + DoubleToStr(AccountBalance(), 2) 
                  + "\n ACCOUNT EQUITY:   " + DoubleToStr(AccountEquity(), 2) 
                  + "\n FREE MARGIN:   " + DoubleToStr(AccountFreeMargin(), 2) 
                  + "\n USED MARGIN:   " + DoubleToStr(AccountBalance() - AccountFreeMargin(), 2) 
                  + "\n PENDING PROFIT/LOSS:   " + DoubleToStr(AccountProfit(), 2) 
               + "\n ------------------------------------------------------ ";
            }
            if (MarketInfo(Symbol(), MODE_DIGITS) == 5.0 || MarketInfo(Symbol(), MODE_DIGITS) == 3.0) {
               Gs_120 = "\n\n" + "HOLY GRAIL INDICATOR V1.6\n" + "Copyright \t? 2013 Proximus" 
                  + "\n " 
                  + "\n LEVERAGE:   " + "1:" + AccountLeverage() 
                  + "\n ACCOUNT CURRENCY:   " + AccountCurrency() 
                  + "\n ACCOUNT TYPE:   " + Gs_128 
                  + "\n ------------------------------------------------------ " 
                  + "\n BROKER TIME:   " + TimeToStr(TimeCurrent(), TIME_SECONDS) 
                  + "\n LOCAL TIME:   " + TimeToStr(TimeLocal(), TIME_SECONDS) 
                  + "\n TIME DIFFERENCE:   " + TimeToStr(MathAbs(TimeLocal() - TimeCurrent()), TIME_SECONDS) 
                  + "\n ------------------------------------------------------ " 
                  + "\n ASK:   " + DoubleToStr(Ask, MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n BID:   " + DoubleToStr(Bid, MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n SPREAD:   " + DoubleToStr(Ld_16 / Point / 10.0, 1) + " pips" 
                  + "\n ------------------------------------------------------ " 
                  + "\n SWAP LONG:   " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPLONG), MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n SWAP SHORT:   " + DoubleToStr(MarketInfo(Symbol(), MODE_SWAPSHORT), MarketInfo(Symbol(), MODE_DIGITS)) 
                  + "\n ------------------------------------------------------ " 
                  + "\n NR. OF ACTIVE ORDERS:   " + OrdersTotal() 
                  + "\n ACCOUNT BALANCE:   " + DoubleToStr(AccountBalance(), 2) 
                  + "\n ACCOUNT EQUITY:   " + DoubleToStr(AccountEquity(), 2) 
                  + "\n FREE MARGIN:   " + DoubleToStr(AccountFreeMargin(), 2) 
                  + "\n USED MARGIN:   " + DoubleToStr(AccountBalance() - AccountFreeMargin(), 2) 
                  + "\n PENDING PROFIT/LOSS:   " + DoubleToStr(AccountProfit(), 2) 
               + "\n ------------------------------------------------------ ";
            }
         }
         Comment(Gs_120);
         while (Li_32 >= 0)
         {
            isar_8 = iSAR(Symbol(),0,NormalizeDouble(1/(10*MAIN_PERIOD+0.00001),3),0.5,Li_32+1);
            isar_0 = iSAR(Symbol(),0,NormalizeDouble(1/(10*MAIN_PERIOD+0.00001),3),0.5,Li_32);
            iadx_24 = iADX(Symbol(),0,ADX_PERIOD, PRICE_CLOSE, MODE_MAIN, Li_32);
            if (isar_0 > Close[Li_32] && isar_8 < Close[Li_32 + 1] && iadx_24 > 20.0)
            {
               G_ibuf_108[Li_32] = High[Li_32] + iATR(NULL,0,20,Li_32)*ArrowDisplacement;
               ObjectDelete("BUY");
               ObjectCreate("SELL", OBJ_LABEL, 0, 0, 0);
               ObjectSet("SELL", OBJPROP_CORNER, 1);
               ObjectSet("SELL", OBJPROP_XDISTANCE, 1);
               ObjectSet("SELL", OBJPROP_YDISTANCE, 0);
               ObjectSetText("SELL", "SELL", 32, "Arial Black", Crimson);
               if (Li_32 == 0 && Time[0] > G_time_136)
               {
                  if (Period() < PERIOD_H1)   Alert("SELL SIGN: " + Symbol() + "  |  TIMEFRAME: M" + Period() + "  |  PRICE(BID): " + DoubleToStr(Bid, MarketInfo(Symbol(), MODE_DIGITS)) + " ");
                  if (Period() == PERIOD_H1)  Alert("SELL SIGN: " + Symbol() + "  |  TIMEFRAME: H1  |  PRICE(BID): " + DoubleToStr(Bid, MarketInfo(Symbol(), MODE_DIGITS)) + " ");
                  if (Period() == PERIOD_H4)  Alert("SELL SIGN: " + Symbol() + "  |  TIMEFRAME: H4  |  PRICE(BID): " + DoubleToStr(Bid, MarketInfo(Symbol(), MODE_DIGITS)) + " ");
        

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

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

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

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

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

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

Стоимость полного кода
1 084,90₽ ≈ $13.26