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

WRR_ZUP_INFO_v02

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

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

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

О программе

WRR_ZUP_INFO_v02 — индикатор для MetaTrader 4, который отображает информацию о паттернах, обнаруженных индикатором ZUP на графике. Он определяет тип паттерна (Gartley, Butterfly, Bat или Crab), показывает, был ли он неудачным, отображает текущий таймфрейм, инструмент, уровень риска сделки и диапазон валидности паттерна. Текстовый блок с информацией может перемещаться в любой угол графика или индикаторного подокна.

Индикатор поддерживает оповещения при смене паттерна, его неудачном завершении или отсутствии на графике. При обнаружении паттерна Gartley и включённой соответствующей настройке отрисовывается Fibonacci Expansion для подтверждения AB=CD. Также предусмотрена возможность автоматического создания скриншотов при формировании, неудачном завершении или отсутствии паттерна с сохранением в заданную папку.

Для корректной работы необходимо предварительно установить индикатор ZUP на график с включённым отображением паттернов Gartley, а также активировать опцию «Allow DLL imports» в свойствах обоих индикаторов. Рекомендуется устанавливать ZUP первым, а затем WRR_ZUP_INFO_v02. Цвета, размеры шрифта, расположение текстовых меток и параметры скриншотов настраиваются пользователем.

Получить полный код

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

#import "kernel32.dll"
void GetLocalTime(int& TimeArray[]);
#import
#property indicator_chart_window
string sFileName = "WRR_ZUP_INFO_v02.mq4";

/*
This indicator also needs the ZUP indicator on the chart set up to show Gartley patterns for it to work.

The main purposes for, and features of, the WRR_ZUP_INFO indicator are as follows. It will display a text 
block saying what type of pattern ZUP has made (Gartley, Butterfly, Bat or Crab), if the pattern has "failed," 
if there is no pattern, what timeframe or period the chart is on and the chart instrument or pair. The text 
block also indicates the risk for the trade and the range in which the pattern is valid or somewhat valid.  
The text block can be moved anywhere on any window including indicator sub-windows.

It will alert when there is a pattern change. It will draw a 100% fib expansion on Gartleys to show if there
is an AB=CD confirmation.  It will allow one to change the background property and colours of the D Point 
Rectangle drawn by ZUP.  It will also allow one to automatically and instantly make a screen shot every time 
a new pattern forms, fails or there is no pattern, then save it to a file.

**** VERY IMPORTANT **** TO GET the WRR_ZUP_INFO INDICATOR TO WORK AND TO GET ZUP TO WORK, one must check 
the box "Allow DLL imports" in the Common Tab of the indicators' properties ON BOTH INDICATORS.  If 
"Allow DLL imports" is not selected in ZUP, nothing will show up. If "Allow DLL imports" is not checked 
in WRR_ZUP_INFO, an error message alert will show up and it will not run.

**** VERY IMPORTANT **** Always install ZUP first then WRR_ZUP_INFO after ZUP.  This is because 
WRR_ZUP_INFO needs to read the most current data from ZUP.  If one installs WRR_ZUP_INFO first, then its 
performance will be delayed. 
*/

extern string _____________01____________ = "Main Settings";
extern bool   AllAlertsOFF = false;
extern string Corner = "bl";//default is "bl","tl"=top left,"tr"=top right,"bl"=bottom left,"br"=bottom right
extern int    OffsetTopBottom = 0;//default is zero.  Set to 10 if using screenshot on bottom left corner
extern int    OffsetLeftRight = 0;
extern int    WindowNumber = 0;//main window is zero, indicator windows are 1 through how many are on chart.
extern bool   ScreenShotWhenPatternChange = false;//default=false, true if testing.

extern string _____________02____________ = "Other Alert Settings";
extern bool   PatternAlertON = true;
extern bool   FailedPatternAlertON = true;
extern bool   NoPatternAlertON = true;//default=false alerts when no pattern at start up or pattern removed from chart.

extern string _____________03____________ = "'D' Point Rectangle Settings";
extern bool   RectangleInBackground = true;//ZUP pattern range indicator set to true less likely to hide candle wicks
extern color  RectangleColour = DarkGray;//ZUP pattern range indicator colour

extern string _____________04____________ = "Fib Expansion on Gartley Settings";
extern bool   ShowABeqCD_FibExpGartley = true;
extern bool   RemoveFibExpGartley_if_FAIL = false;//remove when no pattern or other pattern = false, remove on pattern failure = true
extern color  ABeqCD_FibExpGartleyColour = Red;  

extern string _____________05____________ = "Other Screen Shot Settings";

extern int    ScreenShotWidth = 1088;//width of screen shot in pixels
extern int    ScreenShotHeight = 612;//height of screen shot in pixels

extern string _____________06____________ = "Label Visibility Settings";
extern bool   AllLabelsOFF = false;//turn off all labels
extern bool   PatternAndFileNameLabel_1_ON = true;//default=true
extern bool   DisplayFileNameInLabel_1 = true;//default=true
extern bool   RiskAndRangeLabel_2_ON = true;//default=true
extern bool   ShowScreenShotsOnLabel_3_ON = true;//usually leave as true so one knows it is on unless it is in the way.

extern string _____________07____________ = "Other Label Settings";
extern int    FontSize = 10;//default is 10
extern string FontType ="Arial Black";//default is "Arial Black"
extern color  FontColour= DarkOrange;//label font colour
extern bool   LabelsInBackground = false;//default is false
extern int    SpaceBetweenLines = 4;//Space between lines
extern string _____________08____________ = "Comment Setting";
extern bool   ShowFileNameInComment = false;//Turn on or off Standard MT4 title Comment in top left corner of chart.

int iCorner;//for converting Corner string to integer for window corner location
int iRowCount;//number of rows of labels to draw
int iTBMin = 1;//Min distance from top or bottom edge or it may not draw
int iLRMin = 2;//Min distance from left or right edge or it may not draw
int iSpacer;//multiplier of space between rows of labels
int iMaxRowsOfLabels = 3;//maximum number of rows of labels
string sName[4];//name of label array (set to iMaxRowsOfLabels + 1)
string sText[4];//label text array (set to iMaxRowsOfLabels + 1)
int iLine[4];//label line number reference array (set to iMaxRowsOfLabels + 1)
bool bDrawLine[4];//draw label row yes or no array (set to iMaxRowsOfLabels + 1)

string sBullOrBear = "";     
string sPatternType = "";
static string sGartleyFibExpName = "[WRR_ZUP_INFO_GartFE_";     

bool bIsStartUpOfProgramFlag = true;//Default=true, to prevent alert each startup and chart timeframe change.
static string sLastPatternHolder = "";//leave as "".

string sLocalTimeWithMillisec = "";
string sScreenShotPatternFileName = "";

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

int deinit()
    {

    int iTotalObj1= ObjectsTotal();   
    for (int i= iTotalObj1; i>=0; i--)
      {
      string sNameObj1 = ObjectName(i);   
      if (StringSubstr(sNameObj1,0,14)=="[WRR_ZUP_INFO_") 
          ObjectDelete(sNameObj1);
      }           
    return(0);
    }//END DE-INITIALIZATION

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

    sBullOrBear="";
    sPatternType="";
    int iTotalObj2= ObjectsTotal();   
    for (int a= iTotalObj2; a>=0; a--)
        {
        string sNameObj2 = ObjectName(a);
        if  (StringSubstr(sNameObj2,0,13)=="_0Triangle1_0")           
            {           

            if( StringFind(sNameObj2,"Bearish",0)!= -1 )
              {sBullOrBear="Bearish";}
            if( StringFind(sNameObj2,"Bullish",0)!= -1 )
              {sBullOrBear="Bullish";}
            if( StringFind(sNameObj2,"Gartley",0)!= -1 )
              {sPatternType="Gartley"; break;}
            if( StringFind(sNameObj2,"Butterfly",0)!= -1 )
              {sPatternType="Butterfly"; break;}
            if( StringFind(sNameObj2,"Bat",0)!= -1 )
              {sPatternType="Bat"; break;}
            if( StringFind(sNameObj2,"Crab",0)!= -1 )
              {sPatternType="Crab"; break;}                                                                  
            }                            
        }

    if (sPatternType != "Gartley") {fDeleteAllGartleyFibExp();}

    if (ShowABeqCD_FibExpGartley  == true && sPatternType == "Gartley")       
       {     

       int iTotalObj3= ObjectsTotal();   
       for (int j= iTotalObj3; j>=0; j--)
           {
           string sNameObj3 = ObjectName(j);
           if (StringSubstr(sNameObj3,0,13)=="_0Triangle1_0") 
              {       
              datetime dtTri1Time3A = ObjectGet(sNameObj3, OBJPROP_TIME3);//time at A
              int iTri1Bar3A = iBarShift(Symbol(),Period(),dtTri1Time3A);//bar number at time A for object name
              double dTri1Price3A = ObjectGet(sNameObj3, OBJPROP_PRICE3);//price at A
              datetime dtTri1Time2B = ObjectGet(sNameObj3, OBJPROP_TIME2);//time at B   
              int iTri1Bar2B = iBarShift(Symbol(),Period(),dtTri1Time2B);//bar number at time B for object name
              double dTri1Price2B = ObjectGet(sNameObj3, OBJPROP_PRICE2);//price at B      
              }      
           if (StringSubstr(sNameObj3,0,13)=="_0Triangle2_0") 
              { 
              datetime dtTri2Time3C = ObjectGet(sNameObj3, OBJPROP_TIME3);//time at C                     
              int iTri2Bar3C = iBarShift(Symbol(),Period(),dtTri2Time3C);//bar number at time C for object name;
              double dTri2Price3C = ObjectGet(sNameObj3, OBJPROP_PRICE3);//price at C                                      
              }      
           }   

       string sNewGartleyFibExpName = StringConcatenate("[WRR_ZUP_INFO_GartFE_","T",iTri1Bar3A,"P",dTri1Price3A
                                                                               ,"T",iTri1Bar2B,"P",dTri1Price2B
                                                                               ,"T",iTri2Bar3C,"P",dTri2Price3C);

       if (sNewGartleyFibExpName != sGartleyFibExpName)
          {fDeleteAllGartleyFibExp();
          sGartleyFibExpName = sNewGartleyFibExpName;                                                                                                                                                                                           
          ObjectCreate(sGartleyFibExpName,OBJ_EXPANSION,0,dtTri1Time3A,dTri1Price3A
                                                         ,dtTri1Time2B,dTri1Price2B
                                                         ,dtTri2Time3C,dTri2Price3C);

          ObjectSet(sGartleyFibExpName,OBJPROP_COLOR,Magenta);//CLR_NONE is an optional colour
          ObjectSet(sGartleyFibExpName,OBJPROP_WIDTH,3);//could set to 1
          ObjectSet(sGartleyFibExpName,OBJPROP_STYLE,0);
          ObjectSet(sGartleyFibExpName,OBJPROP_LEVELCOLOR,ABeqCD_FibExpGartleyColour);
          ObjectSet(sGartleyFibExpName,OBJPROP_LEVELSTYLE,2);
          O

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

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

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

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

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

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

Стоимость полного кода
1 543₽ ≈ $18.86