5,5 KiB
5,5 KiB
A simplified MQL5 library for integrating essential ICT (Inner Circle Trader) concepts into your trading bots and expert advisors.
Integrated Concepts
| Class | Concept | Description |
|---|---|---|
CFvgBar |
FVG | Detects Fair Value Gaps (bullish & bearish) with configurable minimum size and drawing style |
CBosChoch |
BOS / CHoCH | Identifies Break of Structure and Change of Character using swing-based logic |
CSwingBarPure |
Swings (Pure) | Detects swing highs and lows using a configurable candle-based method |
CSwingBarZigZag |
Swings (ZigZag) | Detects swing highs and lows using a ZigZag indicator approach |
CTradingSession |
Trading Session | Tracks session time windows, draws ranges and exposes session high/low |
CRangeSession |
Range Session | Similar at Trading Session, but with max and min session tracking |
Quick Start Examples
FVG — Fair Value Gap
#define DEFGLOBAL_SIMPLE
#include "..\\Global.mqh"
CFvgBar fvg;
int8_t idx_controler_d1 = INVALID_INDEX;
int OnInit()
{
const int atr_pos = ICTAtr_Create(PERIOD_CURRENT, _Symbol, 14, true);
CAtr* atr_ptr = ICTAtr_GetAtrPointer(atr_pos);
g_new_bar_manager.GetPosExecute(PERIOD_D1, idx_controler_d1);
fvg.Create(_Symbol, _Period);
fvg.SetGrapich(clrGreen, clrRed, clrGreen, clrRed, STYLE_SOLID, true, 1, true, 10, 1, STYLE_DOT);
fvg.Set(500, defined_pattern, fvg_1_vela, CreateDiffptr(MODE_DIFF_BY_ATR, _Symbol, atr_ptr, 1, 0.00));
return INIT_SUCCEEDED;
}
void OnTick()
{
const datetime curr_time = TimeCurrent();
g_new_bar_manager.Execute(curr_time);
if(CNewBarManager_IsNewBarM1(g_new_bar_manager))
{
const bool new_day = CNewBarManager_IsNewBar(g_new_bar_manager, idx_controler_d1);
ICTGen_FuncionOnBarM1(new_day, curr_time);
fvg.OnNewBar();
}
}
BOS / CHoCH — Break of Structure & Change of Character
// In OnInit()
g_bos_choch.Create(_Symbol, _Period);
g_bos_choch.SetGrapich(clr_Choch, clr_Bos, clr_Choch_2, clr_Bos_2, STYLE_DOT);
g_bos_choch.Init(2, clrRed, clrBlue, "Arial", 8, false, 30, MODE_SWING_STRICT, false, 500);
// In OnTick() — inside IsNewBar block
g_bos_choch.OnNewBar();
Trading Session
// In OnInit()
session.Create(_Symbol, _Period, 0, 0, true, true, 10, 0, 15, 0, "Trading session");
session.SetGrapichStyles(STYLE_SOLID, clrAntiqueWhite, 1, true);
session.SetExtra(clrAqua, clrAliceBlue, STYLE_SOLID, 2, draw_session_range_lines_and_rect);
// In OnTick() — inside IsNewBarM1 block
session.OnNewBarM1();
Swings — Pure method
// In OnInit()
MqlParam params[];
PureToParmas(5, 5, MODE_SWING_NO_STRICT, params);
swing.Create(_Symbol, _Period, 0, 0, true, params);
swing.SetProperties(clrBlue, clrRed, "H", "L", "Arial", 8, 10);
// In OnTick() — inside IsNewBar block
swing.OnNewBar();
Swings — ZigZag method
// In OnInit()
MqlParam params[];
ZZToParams(5, 400, false, params);
swing.Create(_Symbol, _Period, 0, 0, true, params);
swing.SetProperties(clrBlue, clrRed, "H", "L", "Arial", 8, 10);
// In OnTick() — inside IsNewBar block
swing.OnNewBar();
Repository Structure
ICTLibraryEasy/
├── Src/ # Wrapper for ICT concepts imported from ICTEasyLibrary.ex5
├── Examples/ # Complete bot ict and comparative benchmarks with other libraries and code generated by LLM
└── Images/ # Repository banner
Requirements
See the requirements.txt file.
Installation
- Clone the git repository into shared projects via cmd.
- Contact me privately on MQL5 chats (user: nique_372) to be added as a collaborator with your MQL5 nickname (read-only access), which will make the repository automatically appear in your Shared Projects folder.
- Fork the repository.
Disclaimer
Trading involves substantial risk of loss.
- This software is a technical tool, not financial advice
- Past performance does not guarantee future results
- You are solely responsible for your trading decisions
- Always test thoroughly before deploying with real capital
- Apply appropriate risk management at all times
The authors assume no liability for trading losses, system failures, or any damages arising from the use of this software.
License
This repository uses a dual licensing system:
ICT Easy Library /Src/ + ICTEasyLibrary.ex5
- License: Apache 2.0 Modified
- Commercial use: Allowed in your bots
- Selling library: Prohibited
- Details: LICENSE
Only
/Src/code can be modified. The compiled library (ICTEasyLibrary.ex5) cannot be reverse-engineered.
Examples /Examples/
- License: Proprietary - Educational Use Only
- Commercial use: Prohibited to sell or derivatives
- Learning: Study and learn freely
- Details: LICENSE-EXAMPLES
Contact
- Platform: MQL5 Community
- Profile: https://www.mql5.com/es/users/nique_372/news
Copyright © 2026 Nique-Leo.