Jump to content
Sign in to follow this  


Recommended Posts

1 minute ago, Guest Mathew said:

I would like to partially see the code


This is not an EA as you have said. It is an indicator.

Here is the code

#property description "Displays the candle wicks' length above and below the candles."
#property description "Alerts when the candle's wick (shadow) reaches a certain length."
#property description "You can choose whether to use pips or %."
#property description "Email settings are under Tools->Options->Email."
#property description "Notifications settings are under Tools->Options->Notifications."

// The indicator uses only objects for display, but the line below is required for it to work.
#property indicator_chart_window
#property indicator_plots 0

enum PipsPerc

input PipsPerc Units = Pips; // Standard pips or percentage points.
input int DisplayWickLimit = 5; // DisplayWickLimit in standard pips or %.
input color DisplayHighWickColor = clrRed;
input color DisplayLowWickColor = clrLimeGreen;
input int UpperWickLimit = 10; // UpperWickLimit in broker pips or % for alerts.
input int LowerWickLimit = 10; // LowerWickLimit in broker pips or % for alerts.
input bool WaitForClose = true; // WaitForClose - Wait for a candle to close before checking wicks' length?
input bool SoundAlert = false;
input bool VisualAlert = false;
input bool EmailAlert = false;
input bool NotificationAlert = false;
input bool IgnoreAlertsOnFirstRun = true;
// If > 0 and <= 100, displays length only for bars where Open & Close within top or bottom % of candle.
input int TopBottomPercent = 0; // TopBottomPercent: Body within top/bottom percentge part.
input string FontFace = "Verdana";
input int FontSize = 10;
input int MaxBars = 500;

// Global variables.
datetime AlertDone; // Time of the bar of the last alert.
double Poin; // Traditional point value.
bool CanDoAlerts; // Fuse to prevent alerts on initialization or timeframe change.

//| Custom indicator initialization function                         |
void OnInit()
	Poin = _Point;
	//Checking for unconventional Point digits number
   if ((_Point == 0.00001) || (_Point == 0.001)) Poin *= 10;
   if (!WaitForClose) CanDoAlerts = false;
   else CanDoAlerts = true;

//| Custom indicator deinitialization function                       |
void OnDeinit(const int reason)
   ObjectsDeleteAll(0, "Red-", -1, OBJ_TEXT);
   ObjectsDeleteAll(0, "Green-", -1, OBJ_TEXT);

//| ChartEvent function                                              |
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
   // Redraw wick labels.
   if (id == CHARTEVENT_CHART_CHANGE) RedrawVisibleWickLabels();

//| CandleWicks                                                      |
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &Time[],
                const double &Open[],
                const double &High[],
                const double &Low[],
                const double &Close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
   ArraySetAsSeries(Time, true);
   ArraySetAsSeries(Open, true);
   ArraySetAsSeries(High, true);
   ArraySetAsSeries(Low, true);
   ArraySetAsSeries(Close, true);
   string name, length;
   bool DoAlert = false;
   int index = 0;
   if (WaitForClose) index = 1;
   int counted_bars = prev_calculated;
   if (counted_bars > 0) counted_bars--;
   int limit = rates_total - counted_bars;
   if ((MaxBars != 0) && (limit > MaxBars)) limit = MaxBars;

   for (int i = 0; i < limit; i++)
      if ((TopBottomPercent > 0) && (TopBottomPercent <= 100))
         double percent = (High[i] - Low[i]) * TopBottomPercent / 100;
         if (!(((Open[i] >= NormalizeDouble(High[i] - percent, _Digits)) && (Close[i] >= NormalizeDouble(High[i] - percent, _Digits))) ||
             ((Open[i] <= NormalizeDouble(Low[i] + percent, _Digits)) && (Close[i] <= NormalizeDouble(Low[i] + percent, _Digits))))) continue;

      if ((Units == Percentage) && (High[i] == Low[i])) continue; // Avoid zero-divide error.

      // Upper wick length display.
      if (
         ((Units == Pips) && (NormalizeDouble(High[i] - MathMax(Open[i], Close[i]), _Digits) >= NormalizeDouble(DisplayWickLimit * Poin, _Digits)))
         ((Units == Percentage) && ((High[i] - MathMax(Open[i], Close[i])) / (High[i] - Low[i]) * 100 >= DisplayWickLimit))
         name = GenerateObjectName("Red-", Time[i]);


Share this post

Link to post
Share on other sites
22 hours ago, Guest Mike Sifanele said:

mt5 indicator, it's paints on the chart. It does not have limitation. It's relatively useful. I made the donation and I need assistance on how to use the software. Email results to Mike.sif***@gmail.com.

Bheuron Pattern.ex5

Bheuron Pattern.ex5

please decompile to mq5.

Here you go. ex5 decompiled to editable mq5 source code.


Share this post

Link to post
Share on other sites
Guest Fernando Galindo

3. Sí, es posible que tenga una licencia en la instalación, pero no sabemos qué más tiene y necesitamos saber qué más trae. adicionalmente ingrese el código para realizar modificaciones a nuestras  necesidades y que no sea un impedimento para modificarlo.

4. una demostración de cómo funciona la herramienta y cuáles fueron sus resultados

Copiadora FX Blue Personal Trade para MT5 Setup.exe

FX Blue Personal Trade Copier for MT5 Setup.exe

Share this post

Link to post
Share on other sites
Guest Osten

need this indicator decompiled, pls send the source code to me after it's decompiled to mq5. Thank you in anticipation of your favourable response.


Share this post

Link to post
Share on other sites
Guest Warace

It means with your software I can convert ex4/mq4 to ex5/mq5 and vice-versa. Right?

Share this post

Link to post
Share on other sites

Your content will need to be approved by a moderator

You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this