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
(16)
Projetos
20
10%
Arbitragem
8
38% / 38%
Expirado
3
15%
Trabalhando
2
Desenvolvedor 2
Classificação
(442)
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
I have a fully developed and ready Expert Advisor for MT5. I am NOT looking for coding work. I am looking for an experienced MQL5 Market seller who can publish and manage my EA on the MQL5 Market on my behalf. The deal is revenue share — we split the income from sales or rentals. The EA is complete and ready to publish. If you have an established seller account on MQL5 Market with good reputation and experience
Mam kody EA Bot. Chciałbym je dokończyć, dopracować i ukończyć projekty. Chciałbym otrzymać pliki SET po ukończeniu EA. Jeśli jesteś zainteresowany, skontaktuj się ze mną. Szukam doświadczonego programisty do stworzenia dedykowanego doradcy eksperckiego (EA) do tradingu. Programista powinien posiadać solidną wiedzę z zakresu MT5, logiki strategii, wskaźników, zarządzania ryzykiem i backtestingu. Doświadczenie w
Early Killer EA 30+ USD
It must have automated stop loss. Something that can end poverty and kill the market early.It must take the trades for me whenever I start it it must work on tradeport ea
Bring in your expertise for specific symbol Prepare expert for Live chart Creating .set for specific symbol Live Chart Optimization , symbol specific Everything is coded already therefore needs Implementations
The scanner will scan all currency base on MACD Diverdgent, my strength indicator and my better volume indicator. All this would be across all time frame and all currency pairs
I need any highly profitable MT5 robot which trades any sythetic indices on deriv very profitably. It should have good risk management and any good strategy The EA should have good risk management and can trade small accounts like 50 - 100USD Developers who have already made robots have higher chance
Mk 30+ USD
I need a fully automated trading robot designed to generate consistent profits while strictly controlling risk and minimizing losses. The robot should use a combination of strategies, including trend-following, scalping, and price action, and must be able to adapt to different market conditions such as trending and ranging markets. It should analyze the market using indicators like Moving Averages, RSI, MACD, and
am looking for an experienced MQL5 developer to build a high-frequency trading Expert Advisor (EA) for XAUUSD (Gold) on M1 and M5 timeframes . The EA must include advanced execution logic, dynamic pending orders, risk management, and news/session filters. Clean, efficient, and well-documented code is required. Strategy type: Scalping (fast trades, quick profit). Very fast execution logic (optimized for speed). Goal
1. IF price forms: - Higher highs + higher lows → TREND = BUY - Lower highs + lower lows → TREND = SELL ELSE → NO TRADE 2. IF: - Trend = BUY - Price retraces to support zone - Bullish engulfing candle forms - TDI green crosses above red (optional) THEN: - Execute BUY 3. IF: - Trend = SELL - Price retraces to resistance - Bearish engulfing forms - TDI confirms THEN: - Execute SELL 4. Risk per trade = 1% of account Lot
Apply with a screen of your work . Symbol Specific Logic . Live Chart Optimization Check the Core logic . [back tests as well] Change points to pips . Create buffer for the zone

Informações sobre o projeto

Orçamento
30 - 100 USD
Prazo
para 10 dias