Volume based custom indicator request

MQL4 Indicateurs

Spécifications

Hi,
This is an indicator that is going to closely analyse tick volume or 'Volumes' in MT4 on the 1 min chart i.e. try to capture a surge in incoming ticks . Primarily, I am looking to detect 'Volume threshold/Price range" anomalies.

The indicator is a simple one, it is just that I have provided an extensive explanation so as to be clear.
-Please read the requirements carefully.
-I would prefer the indicator to be completed as early as possible.
- The code be accessible and reasonably well commented, so that I can understand it .
- Be as resource efficient as possible as I intend to use this on 28 currency pair 1 min charts at the same time.


Brief explanation -  - the 'Volume threshold/Price range' anomaly or volumes change over a given price range - 
Volume threshold = how much did the 'Volumes' count change by during the last volumes update
Price range = a specified price range. Example = 0.1 pip or 0.2 pips

Note - After much study,research and also coding in C# on another platform (I do not know mql4). I have realised that at times a 'big packet of volumes' would suddenly show up, lets call this a "volume packet'. To be more specific - the "volumes' count in MT4 is not always the amount of changes in Bid and Ask price , some times (not often) a volume packet of 10 etc would show up without a corresponding change in price. This 'volume packet' also needs to be detected. 
Hence, the value must be obtained from the MT4 Volumes as it is in the platform, as opposed to manually trying to record the number of bid and ask price changes, this is important.

 

Section 1 - Data and Calculation explanation - 

Back to the Volume/price anomaly explanation. 

This part below mainly explains the primary data to be extracted and calculated. Other 'items that need to be calculated later on' will be based on the data calculated below - 


Chart - 1 min EUR/USD

User specified options
Volume threshold = 100
Price range = 0.1 pips  (Note - indicator should be able to calculate 0.1 pips for both 5 and 3 decimal currency pairs)
Volumes Packet threshold = 10

Time1 = 10:00:00
Volume =  242
Candle high = 1.13019
Candle Low = 1.13010



What I am interested in is the tick activity for the duration of @10:00 for a given specified price range. Lets assume specified price range =  0.1 pips. Of course, the indicator works in real-time/Live and needs to have the data stored for the period for which it was online/connected to the server i.e. from when logged in and until the platform is shutdown.

@ 10:00:00 =  no volume 
@ 10:00:01 =  no volume
@ 10:00:02 =  New volumes = 1,Total Volumes count = 1, Candle open Price  = 1.13014
@ 10:00:03 =  no new volume, Total Volumes count = 1,
@ 10:00:04 =  no new volume, Total Volumes count = 1,
@ 10:00:05  = a new 'volume packet' of 19 arrives. Now Total Volumes count = 20.  This has triggered the Volumes Packet threshold of 10 and hence needs to be logged an detected.
@ 10:00:06  = New volume = 1,Total volumes count to 21 
.......
@10:00:27 = Total Volumes count = 50 i.e. during the last 21 seconds volume has increased by 29 over several New Volumes updates.

@10:00:28 (or on the next volumes entry/update) =New volumes = 100, Total Volumes count rises up to 150. During this time price has changed by just 0.1 pips . This is what I am interested in i.e. a sudden surge in the volume count by 100 while price has just moved by 0.1 pips. This needs to be detected and logged as it meets the 'Volume Threshold" and 'Price range' Criteria.

.......

@10:00:59 = Total Volumes count = 242 i.e. during the last 31 seconds volume has increased by 92 over several New Volumes updates.



Note = It is important to note that in reality, because volumes primarily deal with price updates and several price updates can occur in a second, a sequential second by second time stamp reference such as above will most likely not be accurate. It would more or less need to be analysed by change in 'volume updates' as opposed to change in volumes per second.

Example = 

Volume update 1 = 1 , Total volumes count =  1, price change = 0.2 pips (1.13014 - 1.13016)
volume update 2 = 19, Total volumes count =  20 ,price change = 0.1 pips .(1.13016 - 1.13015). Gets detected as it triggers the Volumes Packet Threshold, which is independent of price range.
.....
volume update 10 = 100, Total volumes count =  150, price range = 0.1 (1.13018-1.13019). This needs to be detected and logged as it meets the 'Volume Threshold" value of 100 and 'Price range' Criteria of 0.1 pips.


If price range is set to 0.3 pips and Volume threshold = 100. The indicator will be triggered if  - over the span of movement over the last 0.3 pip range the total volumes count has increased by 100.


NOTE - It is a 'Price range' that needs to be considered i.e. for a price range of 0.3 the price can change 100 times etc in between 1.13010 and 1.13013, it is valid as long is stays within the range. The moment the price goes below 1.13010 or above 1.13013 a new entry should be started.
The price to be considered is with respect to the bid price or chart price.





Section 2 - What the indicator should display -

In all of the cases below - the user will be able to customise features such as colour,font, font size, histogram size and color etc


NOTE-----1) and 2) are 'on chart elements' i.e. the indicator values needs to be plotted on the chart

1) 3 levels of Volumes threshold(VT)/price range(PR).  Each can be customised to the user's requirements and can be switched off if required.

Level 1 - VT = 50, PR = 0.1  , display colour = blue
Level 2 - VT = 100, PR = 0.1   , display colour = green
Level 3 - VT = 150, PR = 0.1  , display colour =  red

The highest level recorded VT Value(NOT the input Threshold VT value) in the specified display colour will be displayed on the chart .

2) 3 Levels of packet value (PV). Each can be customised to the user's requirements and can be switched off if required.
Level 1 - PV = 5 , display colour = blue
Level 2 - PV = 10  , display colour = green
Level 3 - PV = 15, display colour =  red

The highest level recorded PV Value(NOT the input Threshold PV value) in the specified display colour will be displayed on the chart .

3) MM ratio.
   This is only for those candles that have  VT and PR values. 
   MM ratio formula = (recorded VT value/Total Volume of the candle). MM ratio can be SWITCHED ON OR OFF depending on the user.


NOTE - if a candle has 1) and 2) values. 1) will take priority over 2) i.e. 1) will be displayed and 2) will not be shown.

NOTE----4) and 5) are 'data window'  indicator elements or are histograms that will be shown in the indicator window. The user can choose to display i.e. either 3) or 4). BOTH CAN BE SWITCHED OFF ALSO AT THE SAME TIME. This is so that I can find out what are the ideal values for 1) and 2).

4) a histogram showing the highest VT/PR values for a given candle. Example if the Recorded VT value is 200, the histogram value  =  200.

5) a Histogram showing the highest PV  values for a given candle.


NOTE - For the ON chart displays for 1) ,2) and 5)  I am open to suggestions. For now I am thinking of a the following - 
 - a short white line showing the price level on the left side of the candle (from the center of the candle body through to the outside of the left side of the candle body, till it meets the next candle to its left. So the line will be only 1 candle in length ). This is the price  level when the indicator was triggered.
 - the recorded VT or PV along side the MM ratio value will be displayed on the chart i.e. above or below the candle. 
   VT and MM value will be displayed in the following format. VT/MM ratio i.e. if VT = 100 and Total Volume of the candle = 400. The displayed value will be = 100/0.25
   IF MM ratio value is switched off only VT value will be displayed.
   If the candle is bullish = VT/MMratio or PV value will be displayed above the high of the candle.
   If the candle is bearish = VT/MMratio or PV value will be displayed below the low of the candle.

   The distance should be 0.1 or 0.2 pips above or below the high or low of the candle i.e. the User should be able to specify this.




Répondu

1
Développeur 1
Évaluation
(7)
Projets
9
0%
Arbitrage
4
0% / 100%
En retard
0
Gratuit
Publié : 1 code
2
Développeur 2
Évaluation
(45)
Projets
59
42%
Arbitrage
5
0% / 60%
En retard
12
20%
Gratuit
Commandes similaires
[7/6/2026 12:24 PM] DR.HassaN: Current Phase: Comprehensive Review & Final Enhancement_ This indicator is designed for the TradingView platform. Now that the core engines have been completed, I want to enter a comprehensive review and professional enhancement phase before adding any major new features. My goal is to transform this indicator into a premium institutional-grade TradingView indicator , both in terms of
Hello friends, I have an mq4 indicator file for binary options that I want to develop to give better results than the current one. I'm looking for a professional developer who can do this. I will provide you with the file, along with results from another indicator (which I want to develop my indicator to resemble) so you can compare them. If you can do this work, please contact me
Can you Build a custom NinjaTrader 8 ChartStyle or BarsType called Optimized Footprint Bars. This project is urgent and i need someone that's wiiling to do his project with me kinldy bid for this. Thanks
: Hello, I am looking for an experienced MQL4 developer to create a custom Binary Options Trading Bot for MetaTrader 4 (MT4). The bot needs to automate trades based on clear conditions and must have a reliable integration feature. I would like the bot to work smoothly with Telegram so that it can either receive signals from a channel/group or send instant trade notifications directly to my Telegram. The code should
SETJEO'S GOLD EA 30 - 200 USD
double GetTodayProfit() { double profit = 0; datetime today = StringToTime(TimeToString(TimeCurrent(), TIME_DATE)); HistorySelect(today, TimeCurrent()); for(int i = HistoryDealsTotal() - 1; i >= 0; i--) { ulong ticket = HistoryDealGetTicket(i); if(HistoryDealGetString(ticket, DEAL_SYMBOL) == _Symbol) { profit += HistoryDealGetDouble(ticket, DEAL_PROFIT); } } return profit; }
مطلوب موشر مع ربطه علي بوت تداول قوي جدا مختبر ومجرب مع التاكيد علي نسبه النجاح يتم انشاءه علي جميع الموشرات في الفوركس الذهب والبتكوين والus100 مع شرح للستراتيجية ونتايج اختيار اذا كان مجرب
I am looking for a developer to create an Expert Advisor (EA) for MetaTrader 5. Requirements: Trade XAUUSD (Gold) Automatically open and close trades Include Stop Loss and Take Profit settings Adjustable lot size and risk percentage Work on MT5 Allow me to change settings from the EA inputs Include backtesting support Source code preferred
I have build a trading view indicator which monitors trades. The strategy is based on OB, it buys and sells bullish and bearish OB. Also valid re enters on the retest of orderblocks only if TP is hit the first time. I’m looking for someone to develop me a EA which works on the same logic and buys and sells of the same logic as my Indicator. I currently have my indicator firing signals into a telegram channel so I
I need an expert advisor for fast excursion of trades. So that I can up my skills, I need it to have a good balance and need you to at least to price the the bot below $50
احتاج استراتيجية مع تحويله لمؤشر وفي المستقبل لربورت تداول مع وقف خسارة متحرك يعمل علي mt5وعمل علي مناطق دخول ىخروج يعمل علي الناسداك والعمل علي تقويتها باقصى نسبه نجاح بنسبه ٩٥ بالميه

Informations sur le projet

Budget
30 - 50 USD
Délais
à 2 jour(s)