Volume based custom indicator request

MQL4 지표

명시

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.




응답함

1
개발자 1
등급
(7)
프로젝트
9
0%
중재
4
0% / 100%
기한 초과
0
무료
게재됨: 1 코드
2
개발자 2
등급
(45)
프로젝트
59
42%
중재
5
0% / 60%
기한 초과
12
20%
무료
비슷한 주문
APARTE DE PASAR EL CÓDIGO A MT5 QUIERO QUE CONTENGA TODOS LOS DATOS NECESARIOS PARA QUE ESTE NUEVO CÓDIGO SE PUEDA USAR EN LA FÁBRICACIÓN DE UN ROBOT, NO SE MUCHO DE ESTO PERO INVESTIGUE QUE DEBE LEER BUFFERS Y OTRAS COSAS
HENGtaykong 30 - 200 USD
Create a ZigZag indicator, which is constructed based on extreme values determined using oscillators. It can use any classical normalized oscillator, which has overbought and oversold zones. The algorithm should first be executed with the WPR indicator, then similarly add the possibility to draw a zigzag using the following indicators: CCI Chaikin RSI Stochastic Oscillator Algorithm and Terms The first stage is the
I need an Expert Advisor for MetaTrader 5 based on SMT and CISD strategy using NASDAQ and S&P500. Strategy logic: - The bot compares NASDAQ and S&P500. - Timeframe: 3 minutes. - First condition: One of the pairs must take liquidity from a previous high or low while the other pair does NOT take that liquidity (SMT divergence). - Second condition: The pair that took liquidity must close back below the high (or above
Pinescript 100+ USD
I’m looking for a Pine Script developer who can reverse engineer the “Swing Only” logic of the Polytrends indicator on TradingView. The goal is to recreate how the swing trends are detected and plotted so it can be used as a custom indicator. If you have experience with TradingView Pine Script and reverse-engineering indicator logic , please reach out
I am looking for a quality coder that know the work to be done, i will only select coder with good feedback review be aware. price is flexible. I am looking to make an indicator based on API info from brokers. you will need to search if possible or not and what not possible be upfront and clear. The indicator design must be very confortable, easily readable, adjusteed based on different screen , compatibility is
attached is an nt8 indicator i would like modifications to. this will not be simple. once you review the indicator you will see it prints arrows and dots. the arrows print after the dots stop forming. i am using default settings, on the instrument es, using ninza renko 8:4 i want the arrow to be placed on the first dot. i do not want the arrow to just be backpainted into the past much like a swing indicator or
We are looking for an experienced TradingView / Technical Analysis expert who can suggest and build the best combination of indicators for a profitable and structured trading strategy. This is not about random indicator stacking. We need someone who understands market structure, confirmation logic, risk management, and strategy optimization. The goal is to create a clean, high-probability setup with minimal false
Indicator 100+ USD
Does anyone know what indicator this is on the image because I'm looking for something like this but just a bit more sensitive. Speaking about the diamonds all the rest is irrelevant
Hello . Hello I already have an indicator on TradingView written in Pine Script. I need some modifications and fixes for the existing indicator. The indicator sometimes gives wrong signals and I want to improve it. I will provide the Pine Script source code. The developer should check the code, fix the problems, and adjust the logic if needed
DO NOT RESPOND TO WORK WITH ANY AI. ( I CAN ALSO DO THAT ) NEED REAL DEVELOPING SKILL Hedge Add-On Rules for Existing EA Core Idea SL becomes hypothetical (virtual) for the initial basket and for the hedge basket . When price hits the virtual SL level , EA does not close the losing trades. Instead, EA opens one hedge basket in the opposite direction. Original basket direction Hedge basket direction (opposite) Inputs

프로젝트 정보

예산
30 - 50 USD
기한
 2 일