forked from nique_372/MQLArticles
40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
[← Utils](../README.md)
| |
| |
# Utils/FA
| |
| |
Shared base classes used across the ecosystem: ATR access, bar control, auto-cleanup, simple logging, diffs and sorting.
| |
| |
## Main features
| |
- ATR wrapper for indicator access (`CAtr` and related classes in `Atr.mqh`).
| |
- Bar-change detection helpers, including per-timeframe variants (`CBarControler`, `CBarControlerFastW1`, `CBarControlerFastMN1`, `CBarControlerFastMinors`).
| |
- Automatic pointer cleanup on deinit (`CAutoCleaner`).
| |
- Lightweight logging base used by other modules (`CLoggerBase`).
| |
- Distance/diff calculators — by points or by ATR (`CDiff`, `CDiffPoint`, `CDiffAtr`).
| |
- Simple array sorting (`CSimpleSort`).
| |
| |
## Basic usage
| |
| |
### Bar control
| |
```mql5
| |
CBarControler bar_ctrl;
| |
bar_ctrl.Init(_Symbol, PERIOD_CURRENT);
| |
| |
if(bar_ctrl.IsNewBar())
| |
{
| |
// new bar logic
| |
}
| |
```
| |
| |
### Auto-cleanup
| |
```mql5
| |
CAtr* g_atr = new CAtr();
| |
g_atr.Create(_Period, _Symbol, 14, true, true);
| |
CAutoCleaner::AddPtr(g_atr); // will be deleted automatically on deinit
| |
```
| |
| |
### Diff by ATR
| |
```mql5
| |
CDiffAtr* diff = CreateDiffptr(MODE_DIFF_BY_ATR, _Symbol, g_atr, 0, 1.5);
| |
```
| |
| |
> Only the most representative classes are shown here.
|