Работа завершена

Время выполнения 8 дней

Техническое задание

//+------------------------------------------------------------------+
//|                                           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.”




Откликнулись

1
Разработчик 1
Оценка
(19)
Проекты
22
18%
Арбитраж
9
33% / 44%
Просрочено
3
14%
Работает
Опубликовал: 1 пример
2
Разработчик 2
Оценка
(443)
Проекты
570
37%
Арбитраж
106
39% / 33%
Просрочено
17
3%
Свободен
3
Разработчик 3
Оценка
(3)
Проекты
2
0%
Арбитраж
1
0% / 100%
Просрочено
0
Свободен
Похожие заказы
Exir AI 30 - 200 USD
I need an experienced MQL5 developer to build a custom AI-assisted Expert Advisor (EA) for MetaTrader 5. The EA will run on a live MT5 account with Tickmill and must support Forex and Crypto CFDs. Required instruments: - EURUSD - GBPUSD - USDJPY - XAUUSD - BTCUSD - ETHUSD Required timeframes: - M5, M15, and M30 Trading logic: - M30 determines the overall trend. - M15 identifies entry zones, support/resistance, and
Hi there great developers I need someone who can create an trading ea that can open order per movement but it must cover up the spread first if it going to place an order the ea should read the spread it can use and indicator that can calculate the market point using atr if the spread is 20 points then the ea calculation the next price if it will go more then 20 points it can automatically place orders and close in
Hello lovies, I’m reaching out because I’m working on a specialized macroeconomic intelligence service focused on major economic releases and their potential impact on gold (XAUUSD), the US dollar, and the wider financial markets. My approach goes beyond simply following the economic calendar. I focus on understanding the information behind upcoming events, market expectations, and the potential implications for
MT5 Expert Advisor Development Brief — Forex Project objective I am looking for an experienced MQL5 developer to build a bespoke, fully automated Expert Advisor for MetaTrader 5. The EA will be used on both proprietary trading firm (prop-firm) accounts and my own live trading account. My priorities, in order, are: 1. Low drawdown and robust risk management. 2. Consistent, repeatable profitability. 3. Reliable
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
Requirements Specification: Debug & Error Fixing: Review the entire source code of the MQL expert advisor. Identify and fix all logical errors, bugs, and performance issues that cause trades to close prematurely or yield extremely low profits. Strategy Restructuring & Optimization: Fully analyze and optimize the current entry and exit strategy for USDJPY and GBPUSD. Modify, upgrade, or completely rewrite the entry
I am looking for a highly skilled trading strategist and MQL5 developer with genuine experience in researching, designing, testing, and implementing systematic trading strategies. My primary interest is XAUUSD (Gold), although proven experience with other financial markets is also welcome. I am not looking for someone who simply converts trading rules into code. I want to identify a professional who understands
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
The purpose of this order is ONLY to test and implement my H1 POI (Point of Interest) identification logic correctly. I am not requesting the complete EA at this stage. I will provide the exact rules for identifying the H1 POI after selecting the developer. The developer must convert those rules into clear, deterministic MQL5 logic. Requirements: Analyze H1 candles according to the rules I provide. Identify and mark
Hello, I’m looking for an experienced developer to research, build, test, and install a fully automated MetaTrader 5 trading bot for gold, XAUUSD. My total development and installation budget is $300, including all agreed work and fees. My goal is to pass a $100,000 FTMO US Two-Step Standard evaluation and sustainably maintain the funded account. I need a day-trading strategy that can buy in bullish markets and sell

Информация о проекте

Бюджет
30 - 100 USD
Сроки выполнения
до 10 дн.