Trabalho concluído

Tempo de execução 8 dias

Termos de Referência

//+------------------------------------------------------------------+
//|                                           SpikeHunterX.mq5       |
//|                   Proprietary Boom & Crash Spike Indicator       |
//|         Multi-Layer Signal System - Trap Zones, Liquidity, etc. |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots   0
#include <Math\Stat\StdDev.mqh>

//+------------------------------------------------------------------+
//| Explanation:
//| This indicator is designed for Boom and Crash indices (MT5).
//| It detects engineered spikes using 5 filters:
//| 1. Volatility Compression Zone (Trap Box)
//| 2. Liquidity Pool Scanner (Equal Highs/Lows)
//| 3. Spike Pattern Recognition (based on candle behavior)
//| 4. Volume Anomaly Detection (non-linear volume spikes)
//| 5. Time Filter (high-probability spike times)
//|
//| If all filters align, it draws a BUY or SELL spike arrow on chart.
//+------------------------------------------------------------------+

//--- Adjustable Parameters
input double VolatilityThreshold     = 0.3;   // StdDev threshold for compression zone
input int    LiquidityTolerancePips  = 3;     // Max pip distance for equal highs/lows
input double VolumeMultiplier        = 2.0;   // Volume spike threshold
input int    SpikeCheckShiftStart    = 10;
input int    SpikeCheckDepth         = 50;

//+------------------------------------------------------------------+
//| Volatility Compression Zone Detection
//+------------------------------------------------------------------+
bool IsCompressionZone()
{
   double std_dev = iStdDev(_Symbol, _Period, 10, MODE_SMA, PRICE_CLOSE, 0);
   double boll_upper = iBands(_Symbol, _Period, 20, 2.0, 0, PRICE_CLOSE, MODE_UPPER, 0);
   double boll_lower = iBands(_Symbol, _Period, 20, 2.0, 0, PRICE_CLOSE, MODE_LOWER, 0);
   double boll_range = boll_upper - boll_lower;
   double atr = iATR(_Symbol, _Period, 14, 0);

   return (std_dev < VolatilityThreshold && boll_range < atr);
}

//+------------------------------------------------------------------+
//| Liquidity Pool Detection (Equal Highs/Lows)
//+------------------------------------------------------------------+
bool IsEqualLow(int shift)
{
   double low1 = Low[shift];
   double low2 = Low[shift + 1];
   double low3 = Low[shift + 2];
   double tolerance = LiquidityTolerancePips * _Point;
   return (MathAbs(low1 - low2) <= tolerance && MathAbs(low2 - low3) <= tolerance);
}

bool IsEqualHigh(int shift)
{
   double high1 = High[shift];
   double high2 = High[shift + 1];
   double high3 = High[shift + 2];
   double tolerance = LiquidityTolerancePips * _Point;
   return (MathAbs(high1 - high2) <= tolerance && MathAbs(high2 - high3) <= tolerance);
}

//+------------------------------------------------------------------+
//| Broker Spike Pattern Detection (3-candle setup)
//+------------------------------------------------------------------+
bool IsBearishSpikePattern(int shift)
{
   return (Close[shift+2] > Open[shift+2] &&
           Close[shift+1] > Open[shift+1] &&
           Close[shift]   < Open[shift]);
}

bool IsBullishSpikePattern(int shift)
{
   return (Close[shift+2] < Open[shift+2] &&
           Close[shift+1] < Open[shift+1] &&
           Close[shift]   > Open[shift]);
}

//+------------------------------------------------------------------+
//| Volume Anomaly Detector
//+------------------------------------------------------------------+
bool IsVolumeAnomaly(int shift)
{
   double avgVol = 0;
   for(int i = 1; i <= 10; i++)
      avgVol += Volume[shift + i];
   avgVol /= 10;

   return (Volume[shift] > avgVol * VolumeMultiplier);
}

//+------------------------------------------------------------------+
//| Time Filter (Specific Spike Minutes)
//+------------------------------------------------------------------+
bool IsSpikeTime()
{
   datetime now = TimeCurrent();
   int minute = TimeMinute(now);
   return (minute == 5 || minute == 20 || minute == 45);
}

//+------------------------------------------------------------------+
//| Final Spike Signal Logic (Buy/Sell Conditions)
//+------------------------------------------------------------------+
bool IsBuySpikeSignal(int shift)
{
   return (IsCompressionZone() &&
           IsEqualLow(shift) &&
           IsBullishSpikePattern(shift) &&
           IsVolumeAnomaly(shift) &&
           IsSpikeTime());
}

bool IsSellSpikeSignal(int shift)
{
   return (IsCompressionZone() &&
           IsEqualHigh(shift) &&
           IsBearishSpikePattern(shift) &&
           IsVolumeAnomaly(shift) &&
           IsSpikeTime());
}

//+------------------------------------------------------------------+
//| Draw Arrows on Spike Detection
//+------------------------------------------------------------------+
void DrawSpikeSignal(string label, int shift, bool isBuy)
{
   string name = label + IntegerToString(shift);
   double price = isBuy ? Low[shift] - 10 * _Point : High[shift] + 10 * _Point;
   color clr = isBuy ? clrLime : clrRed;
   int arrow = isBuy ? 233 : 234; // Wingdings up/down

   if(!ObjectCreate(0, name, OBJ_ARROW, 0, Time[shift], price)) return;
   ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
   ObjectSetInteger(0, name, OBJPROP_WIDTH, 2);
   ObjectSetInteger(0, name, OBJPROP_ARROWCODE, arrow);
}

//+------------------------------------------------------------------+
//| Main OnCalculate Loop
//+------------------------------------------------------------------+
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[])
{
   for(int i = rates_total - SpikeCheckDepth; i >= SpikeCheckShiftStart; i--)
   {
      if (IsBuySpikeSignal(i))
         DrawSpikeSignal("BuySpike", i, true);
      else if (IsSellSpikeSignal(i))
         DrawSpikeSignal("SellSpike", i, false);
   }
   return(rates_total);
}

//+------------------------------------------------------------------+
read it carefull all logic i want you to code into this indicator 
alert trade panel background watermarking of symbol 

“This is a multi-layer advanced spike detection system for Boom & Crash. Each module is modular and explained. It’s based on proprietary edge logic, not retail indicators. Please compile, test on M5 timeframe, and optionally add alerts or dashboard after verifying the core logic.”


📦 What's Included:

  1. Trap Zone Detection (via stddev + Bollinger + ATR)

  2. Liquidity Sweep Zones (Equal Highs/Lows logic)

  3. Candle Pattern Recognition (3-candle spike structure)

  4. Volume Anomaly Filter (custom volume surge)

  5. Time Filter (uses broker timing edge)

  6. Unified Spike Entry Logic (Buy/Sell conditions)

  7. Spike Drawing Engine (arrows on chart with price offset)

This is a proprietary spike detection system for Boom & Crash indices on MT5, designed to detect institutional-style manipulations, not just standard retail indicators. It uses five layered conditions to filter out false signals and only highlight high-probability spike opportunities.


🧩 1. Volatility Compression Zone (Trap Box)

What It Does:

  • Detects when the market is ranging with low volatility (tight candles).

  • Spikes often explode out of these “trap zones.”

How It Works:

  • Uses StdDev and Bollinger Band range to detect a squeeze condition.

  • Compares the Bollinger range to ATR to confirm a volatility drop.

🗣️ “If the candles are small and volatility is low, it means price is about to break out. This sets up the environment for a potential spike.”


🧩 2. Liquidity Pool Scanner (Equal Highs/Lows)

What It Does:

  • Finds Equal Highs or Lows → Where retail traders place stop losses.

  • Spikes are designed to hit those stops (aka liquidity hunts).

How It Works:

  • Checks if 3 recent candles have nearly equal highs (for sell spike) or lows (for buy spike).

  • A pip-based tolerance defines “equal.”

🗣️ “We scan for zones where stop losses are clustered. If price touches that zone during a trap breakout, it's likely to spike.”


🧩 3. Broker Spike Pattern Recognition

What It Does:

  • Detects specific candle patterns brokers often use before triggering a spike.

  • For example: 2 bullish candles followed by a strong bearish candle (spike).

How It Works:

  • Matches a 3-candle formation that historically precedes spikes.

    • For crash (sell): Bull → Bull → Big Bear

    • For boom (buy): Bear → Bear → Big Bull

🗣️ “We reverse-engineered known broker patterns that tend to appear before a spike. We filter based on that sequence.”


🧩 4. Volume Anomaly Detector

What It Does:

  • Detects abnormal tick volume spikes.

  • Spikes usually come with a sudden volume burst.

How It Works:

  • Compares the current volume to the average volume of the last 10 candles.

  • If it’s 2x or more (customizable), it's flagged as an anomaly.

🗣️ “When big volume hits suddenly during compression, it’s often a broker-pushed spike — so we confirm this volume burst as a signal condition.”


🧩 5. Time Filter (Spike Hot Minutes)

What It Does:

  • Filters trades to trigger only at known spike-prone times (e.g. :05, :20, :45 past the hour).

How It Works:

  • Uses TimeMinute() to detect whether current broker time matches high-probability windows.

🗣️ “Some brokers push spikes on a pattern — for example, every 15-20 minutes. So we only allow signals during these hot times.”


🎯 Spike Signal Logic

What It Does:

  • Only triggers a Buy/Sell signal if all five conditions are met.

How It Works:

  • Functions like IsBuySpikeSignal() or IsSellSpikeSignal() check:

    1. Compression Zone ✅

    2. Liquidity Pool ✅

    3. Broker Pattern ✅

    4. Volume Anomaly ✅

    5. Spike Time ✅

🗣️ “This is a multi-confirmation system. No signal will appear unless all criteria align — this reduces false signals significantly.”


📈 Spike Drawing on Chart

What It Does:

  • Draws a green or red arrow below or above the candle where spike is expected.

  • Shows the exact candle where signal was detected.

How It Works:

  • Draws OBJ_ARROW using Wingdings code for up/down arrows.

  • Uses ObjectCreate() for chart display with time and price.

🗣️ “Whenever a spike is expected, it draws an arrow so we can visually verify the setup on the chart.”


📂 Developer Summary for Integration

Indicator Requirements:

  • MT5 compatible (MQL5)

  • Works on Boom/Crash  (timeframe: M1 preferred)

  • Self-contained, no buffers — only chart objects (arrows)

Customization Options:

  • Add alerts (optional)

  • Add dashboard (optional)

  • Turn into EA later


✅  Developer:

“I want you to build a fully working MT5 indicator that detects engineered spikes using a proprietary 5-layer filtering system: compression zones, liquidity sweeps, broker candle patterns, volume spikes, and time filters. The signal should only trigger when all 5 align. Arrows should show where the spike is expected. No repainting. I want the code clean, modular, and scalable.”




Respondido

1
Desenvolvedor 1
Classificação
(19)
Projetos
22
18%
Arbitragem
9
33% / 44%
Expirado
3
14%
Trabalhando
Publicou: 1 código
2
Desenvolvedor 2
Classificação
(443)
Projetos
570
37%
Arbitragem
106
39% / 33%
Expirado
17
3%
Livre
3
Desenvolvedor 3
Classificação
(3)
Projetos
2
0%
Arbitragem
1
0% / 100%
Expirado
0
Livre
Pedidos semelhantes
Hello, I am an independent developer selling an Expert Advisor (EA) on the MQL5 Market. I am looking for an experienced Forex affiliate marketing company or professional marketer to promote my existing MT5 trading robot to customers worldwide. My proposed partnership offers a 35% commission per verified sale, with the possibility of a long-term collaboration. I would like to know: Do you promote third-party MT5
I am looking for a skilled MQL5 developer to create a robust, institutional-grade Expert Advisor for MT5, optimized for Gold (XAUUSD). The EA must comply strictly with prop firm rules. Key Requirements: Asset: XAUUSD (Gold) on MT5 Risk Management: Strict Stop-Loss & Take-Profit on every order. Absolute daily max loss, overall max drawdown guard, and percentage risk per trade. No High Risk: NO Martingale, Grid, or
Platform: MT5 only (no MT4 needed). Deliverable: an MT5 Expert Advisor with full source code (.mq5) that replicates the attached TradingView strategy (Pine Script v6, based on LuxAlgo's "ICT Killzones Toolkit" order blocks) as exactly as possible. Pasting the code into TradingView shows how it operates. I normally trade GBPUSD on the 5-minute chart Expected behavior: - Order block detection must match the Pine code
I have three indicators that operate independently. I want to combine them into one indicator with custom expert programming that automatically enters trades when a signal is generated by one of the indicators. I will pay for this service Thanks you
Goldn zon 30+ USD
Hello, I am looking for a developer. I have a robust strategy based on Fibonacci, which I call "Goldn Zon." I tested it myself throughout the month of September, and now I would like to have a bot implement it so that it can trade continuously
Scalping bort 30+ USD
GOLD SCALPING BOT STRATEGY Symbol: XAUUSD (Gold vs USD) Broker: Exness Account: Standard Starting Balance: $20 1. TIMEFRAME - Trend analysis: M15. - Entry timeframe: M5. - Trade only when the market has a clear direction. 2. INDICATORS - EMA 50 - EMA 200 - RSI 14 - Support and Resistance 3. BUY RULES The bot must open a BUY trade only when all these conditions are met: 1. EMA 50 is above EMA 200 on M15. 2. Price is
Request for an Existing Automated Trading System (Expert Advisor) I am looking to acquire an existing, fully functional Expert Advisor (EA) that trades Forex CFDs, with the option of trading other CFDs if the strategy supports them safely. Performance objectives Target average net monthly return: 1.5%. A consistent 1.0% monthly return may be considered if the system demonstrates strong risk control and credible

Informações sobre o projeto

Orçamento
30 - 100 USD
Prazo
para 10 dias