I would like to improve my previous indicator (Percentage Price Oscillator).
Because the existing version got too many bug, so i will directly give you the formula and you can make the improvement as mention below.
====================================================================================
Abnormal candlestick size measurement
Use Price increment as source of the data.
Source code: (https://www.mql5.com/ru/code/18896)
The origanl equation is to calculate the price difference between current close price and previous close price. I want to make slight change3 new changable mode of calculation (only show 1 mode type at a time - changable in setting)
Colour settings
+ve histogram = DarkGreen
-ve histogram = Maroon
Histogram size = 2
Peak capturing algorithm
Here I want to use 3 changable mode to capture abnormality (only show 1 mode type at a time - changable in setting)
When the indicator is outside of the standard deviation band, a (white) dot will be marked on the indicator as well as the price chart.
Note: Some time the market is new to the broker and only have limited number of candle. In backtesting as well, the max candles i believe is 999. Hence in case insufficient data, it will take whatever posible
Note: When current price break toward outside of SD bands, an alert (Option = ) will 1. pop out, or just 2. play sound with textin the expert tab, or 3. just in the expert tab or 4. totally do nothing (Default = OFF).
Save the data
Having the setting to export the data out and store in CSV. The indicator value for the past 500 candles will be first store. The CSV will continue append the latest data every new data. The required data are:
When the export setting is true, create a "Debugging" Yellow text at the top right of the chart so I know the CSV is collecting.
The file name is following the format: custom_name ( Default=PI_Indi) + Indicator calc mode+ broker short name + symbol + date (year.month.day)
Expected input in the settings
Indicator settings--------------------------
Calculation mode
MA type = EMA
MA period = 2
Price = Typical
Peak capture settings--------------------------
Peak capture mode
Standard deviation settings--------------------------
Mean period = 400
SD up = 2.0
SD down = 2.0
Filter outlier = true
Outlier SD = 2.698
Time zone settings--------------------------
Time zone 1 = 00
Time zone 2 = 08
Time zone 3 = 13
Time zone 4 = 22
Timeframe settings--------------------------
Timeframe = Daily / Weekly / Monthly / Quaterly/ Yearly
Custom Design settings--------------------------
Dot -- ??? Anything?
Export settings--------------------------
Export = False
Note: A 0 level line is needed.
Note: The indicator must able to run in backtesting
Source code is needed by the end of the project.
===================================================================================================
Things that I want to improve


Having the setting to export the data out and store in CSV. The indicator value for the past YY (default = 10) days will be first store. The CSV will continue append the latest data every 30sec (Default & changeable) The required data are:
When the export setting is true, create a "Debugging" Yellow text at the top right of the chart so I know the CSV is collecting.
The file name is following the format: custom_name ( Default=PPOIndi) + PPO/ATR + broker short name + symbol + date (year.month.day)
Summary
Highly welcome developer that is communicative and experience in MQL indicator. Please communicate with me on your experience so I know if you are suitable in working with this project or not.
I am open for discussion to make this indicator.
Source code is needed by the end of the project.