Hello,
I'm an experienced (MQL/C/C++/C# ...) Coder and Forex Trader, I'm from Vietnam. I was on the Market more than 6 years.
Regarding your project, I understand that you already know all MTF indicator will always repaint, because it checks signal over multi time frames. And your wish is that you would like to keep History signals (that will be repaint if re-attach Indy, ....ect ...) as in real time (in real time and not reset Indy, we can keep it non-repainting). In one shot, you would like to use Indicator for some back testing and don't want it repaints as all other MTF Indy does. So your request is not supported by MT4, and in general, it is not supported on any Charting Platform/Software, such as AmiBroker, TradeStation,...etc...
So the only way to do this is:
1./ We can save the real time market data to a file. And if Indy was reset (such as re-attach, switch chart period ....), we load the history data saved in that file.
2./ Process to get history data.
About Point 1./, that is OK.
About Point 2, to get history data, the only way is that we run Indicator with back testing mode to get history signal saved in the file. So when we attach it to chart, it can load history signal as in real time market. Of course, after that, Indy keep saving real time market signal to file and use it when reload the Indy.
I can code such Indy for you if you really want. Let me know your opinion.
Thank you!.
P/S > I found out another way that avoid back test + file!!!.