ICTLibraryEasy/Src/Base/Imports.mqh
2025-12-05 12:17:19 -05:00

256 lines
28 KiB
MQL5

//+------------------------------------------------------------------+
//| Imports.mqh |
//| Copyright 2025, Leo. |
//| https://www.mql5.com/es/users/nique_372/news |
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, Leo."
#property link "https://www.mql5.com/es/users/nique_372/news"
#property strict
//Solo hace que se importe una sola vez para evitar conflictos
#ifndef ICTLIBRARYEASY_SRC_BASE_IMPORTS_MQH
#define ICTLIBRARYEASY_SRC_BASE_IMPORTS_MQH
#include "Defines.mqh"
//+------------------------------------------------------------------+
//| Import ICTLibrary Functions |
//+------------------------------------------------------------------+
#import "ICTLibraryEasy.ex5"
//---
inline void ICTGen_OnDeinitEvent();
//--- Atr
int ICTAtr_Create(ENUM_TIMEFRAMES timeframe, string symbol, int period, bool hide_indicator);
CAtr* ICTAtr_GetAtrPointer(int handle);
inline int ICTAtr_Count();
//--- General
inline void ICTGen_FuncionOnBar(const bool& new_day, const datetime& curr_time);
inline void ICTGen_FuncionOnEndBar();
inline void ICTGen_FuncionOnTick(const bool& new_day, const datetime& curr_time);
inline void ICTGen_OnBookEvent();
inline bool ICTGen_NewBar();
inline int ICTGen_ConceptsCount();
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
// Funciones básicas de creación y destrucción - BosChoch
int ICTBosChoch_Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id, int subwin, bool show_concept);
bool ICTBosChoch_Delete(int handle, int handle_out_swing = INVALID_HANDLE); // handle_out_Swign ES OPCIONAL
// Funciones de configuración - BosChoch
inline void ICTBosChoch_SetGrapich(int handle, color clr_choch_, color clr_bos_, color clr_choch_bajista, color clr_bos_bajista, ENUM_LINE_STYLE style_bos_choch_);
inline void ICTBosChoch_Init(int handle, int16_t lenth_, color swing_low_clr, color swing_high_clr, string font_swing, int8_t font_size_swing, bool show_swings, int max_espera_bos_choch_, MODE_BUSQUEDA_SWING swing_strict_, bool is_exter_struct, int rango);
// Funciones de propiedades generales - BosChoch
inline bool ICTBosChoch_ShowAll(int handle);
inline bool ICTBosChoch_HideAll(int handle);
inline bool ICTBosChoch_DeleteAll(int handle);
inline void ICTBosChoch_SetFlagMostrarObjetos(int handle, bool mostrar);
inline void ICTBosChoch_ForzeToActulizeCurrentTick(int handle);
// Funciones de eventos y operaciones - BosChoch
inline bool ICTBosChoch_NuevaRopturaAlAlza(int handle);
inline bool ICTBosChoch_NuevaRopturaAlaBaja(int handle);
inline ENUM_TYPE_CHOCH_BOS_TREND ICTBosChoch_GetCurrentTrend(int handle);
inline void ICTBosChoch_InitPrevSimepl(int handle);
inline void ICTBosChoch_OnNewBarSimple(int handle);
inline int ICTBosChoch_ContadorAlcista(int handle);
inline int ICTBosChoch_ContadorBajista(int handle);
inline void ICTBosChoch_ResetContadores(int handle);
inline void ICTBosChoch_GetBullStruct(int handle, MarketStruct &out[]);
inline void ICTBosChoch_GetBearStruct(int handle, MarketStruct &out[]);
inline void ICTBosChoch_AddLogFlag(int handle, uint8_t log_flag);
inline void ICTBosChoch_RemoveLogFlag(int handle, uint8_t log_flag);
inline bool ICTBosChoch_IsNewBarConcept(int handle);
inline int ICTBosChoch_GetAlcistasCreadosSize(int handle);
inline int ICTBosChoch_GetBajistasCreadosSize(int handle);
inline MarketStruct ICTBosChoch_GetAlcistasCreados(int handle, int idx);
inline MarketStruct ICTBosChoch_GetBajistasCreados(int handle, int idx);
inline void ICTBosChoch_SetParo(int handle);
inline void ICTBosChoch_InitSwingPointer(int handle, int& handle_out_swing);
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
// Funciones básicas de creación y destrucción - TradingSession
int ICTTradingSession_Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id, int subwin, bool show_concept, bool forzar_lunes_viernes, int start_hour, int start_minute, int end_hour, int end_minute, string session_name);
bool ICTTradingSession_Delete(int handle);
// Funciones de configuración - TradingSession
inline void ICTTradingSession_SetExtra(int handle, color clr_line_init, color clr_line_end, ENUM_LINE_STYLE style_lines_, int width_lines_, ENUM_TYPE_DRAW_RANGE_SESSION type_draw_);
inline void ICTTradingSession_SetGrapichStyles(int handle, ENUM_LINE_STYLE rect_style_, color clr_rect_, int widht_rect_, bool fill_rect_);
// Funciones de propiedades generales - TradingSession
inline bool ICTTradingSession_ShowAll(int handle);
inline bool ICTTradingSession_HideAll(int handle);
inline bool ICTTradingSession_DeleteAll(int handle);
inline void ICTTradingSession_SetFlagMostrarObjetos(int handle, bool mostrar);
inline void ICTTradingSession_ForzeToActulizeCurrentTick(int handle);
// Funciones de tiempo y eventos - TradingSession
inline datetime ICTTradingSession_GetInitTimeSessionCurrNext(int handle);
inline datetime ICTTradingSession_GetEndTimeSessionCurrNext(int handle);
inline datetime ICTTradingSession_GetInitTimeSessionPrev(int handle);
inline datetime ICTTradingSession_GetEndTimeSessionPrev(int handle);
inline int ICTTradingSession_GetDuracionSessionSegundos(int handle);
inline int ICTTradingSession_GetDuracionSessionMinutos(int handle);
inline bool ICTTradingSession_IsInitSession(int handle);
inline bool ICTTradingSession_IsEndSession(int handle);
inline bool ICTTradingSession_EnSesion(int handle);
inline void ICTTradingSession_OnTickEvent(int handle);
inline string ICTTradingSession_GetSesionName(int handle);
inline void ICTTradingSession_AddLogFlags(int handle, uint8_t log_flags);
inline void ICTTradingSession_RemoveLogFlags(int handle, uint8_t log_flags);
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
// Funciones básicas de creación y destrucción - ICTSwingPure
int ICTSwingPure_Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id, int subwin, bool show_concept, MqlParam &parametros[], int &handle_out);
bool ICTSwingPure_Delete(int handle, int handle_real);
//+------------------------------------------------------------------+
// Funciones básicas de creación y destrucción - ICTSwingZigZag
int ICTSwingZigZag_Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id, int subwin, bool show_concept, MqlParam &parametros[], int &handle_out);
bool ICTSwingZigZag_Delete(int handle, int handle_real);
// Funciones específicas ZigZag
inline double ICTSwingZigZag_GetPriceZigZagAct(int handle);
inline ENUM_ZIGZAG_DIRECTION ICTSwingZigZag_GetDirectionZigZagAct(int handle);
inline datetime ICTSwingZigZag_GetLastTimeZigZag(int handle);
inline bool ICTSwingZigZag_NewZigZagResize(int handle);
inline void ICTSwingZigZag_SetParo(int handle);
//+------------------------------------------------------------------+
// Funciones de la macro SWING_LIB_BASIC_PROPERTIES para ICTSwing
inline bool ICTSwing_GetInittialStateObj(int handle);
inline ENUM_TIMEFRAMES ICTSwing_Timeframe(int handle);
inline string ICTSwing_Simbolo(int handle);
inline long ICTSwing_ChartId(int handle);
inline int ICTSwing_Subwin(int handle);
inline void ICTSwing_SetProperties(int handle, color color_buy_swing, color color_sell_swing, string text_buy_swing_, string text_sell_swing_, string font_ = "Arial", int8_t font_size_ = 7, int max_elements_array_ = ADD_ALL);
inline void ICTSwing_OnNewBar(int handle);
inline bool ICTSwing_GetSwingPrev(int handle, const int range_obtencion);
inline BasicSwing ICTSwing_GetSwingsAlcistas(int handle, const int pos_idx);
inline BasicSwing ICTSwing_GetSwingsBasjitas(int handle, const int pos_idx);
inline int ICTSwing_SizeSwingAlcistas(int handle);
inline int ICTSwing_SizeSwingBajistas(int handle);
inline int ICTSwing_GetCloseSwingAlcistaIndex(int handle, datetime target_time, MODE_CLOSET_INDEX mode);
inline int ICTSwing_GetCloseSwingBajistaIndex(int handle, datetime target_time, MODE_CLOSET_INDEX mode);
inline int ICTSwing_GetCloseSwingIndex(int handle, datetime target_time, MODE_CLOSET_INDEX mode, string &tipo);
inline bool ICTSwing_HayUnNuevoSwing(int handle);
inline int ICTSwing_HayUnNuevoSwing(int handle, ENUM_TYPE_SWING type);
inline void ICTSwing_AddLogFlag(int handle, uint8_t log_flags);
inline void ICTSwing_RemoveLogFlag(int handle, uint8_t log_flag);
inline BasicSwing ICTSwing_GetSwingLowMasCeracanoPorPrecioYTime(int handle, double target_price, ENUM_TYPE_CERCANOS_SWING mode);
inline BasicSwing ICTSwing_GetSwingHighMasCeracanoPorPrecioYTime(int handle, double target_price, ENUM_TYPE_CERCANOS_SWING mode);
inline void ICTSwing_MiniumElement(int handle, int min);
inline int ICTSwing_MiniumElement(int handle);
inline void ICTSwing_SwingHighColor(int handle, color new_value);
inline color ICTSwing_SwingHighColor(int handle);
inline void ICTSwing_SwingLowColor(int handle, color new_value);
inline color ICTSwing_SwingLowColor(int handle);
inline datetime ICTSwing_GetTimeByIndex(int handle, const int index, ENUM_TYPE_SWING type);
inline double ICTSwing_GetPriceByIndex(int handle, const int index, ENUM_TYPE_SWING type);
inline int ICTSwing_GetIndexByTime(int handle, const datetime time, ENUM_TYPE_SWING type);
inline int ICTSwing_LenthAntes(int handle);
inline int ICTSwing_LenthDespues(int handle);
// Funciones de propiedades generales ICTSwing (de la macro GENERAL_PROPERTIES_BLOQUES)
inline bool ICTSwing_IsNewBarConcept(int handle);
inline bool ICTSwing_ShowAll(int handle);
inline bool ICTSwing_HideAll(int handle);
inline bool ICTSwing_DeleteAll(int handle);
inline void ICTSwing_SetFlagMostrarObjetos(int handle, bool mostrar);
inline void ICTSwing_ForzeToActulizeCurrentTick(int handle);
//+------------------------------------------------------------------+
//| BLOQUES COMPLETOS - FVG (Bar) |
//+------------------------------------------------------------------+
// Creación y destrucción
int ICTFvg_Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id, int subwin, bool show_concept);
bool ICTFvg_Delete(int handle);
// Configuración
inline void ICTFvg_Set(int handle, int range_, ENUM_MODO_OBTENCION_IMBALANCE mode_obtencin,
ENUM_STYLE_DIBUJO_IMBALANCES style_draw_imbalacnes, CDiff &diff);
inline void ICTFvg_SetGrapich(int handle, color clr_bull, color clr_bear, color clr_mitad_bull, color clr_mitad_bear,
ENUM_LINE_STYLE style_concept, bool fill_concept, int width_c,
bool mostrar_mitad_, int max_espera, int width_line, ENUM_LINE_STYLE style_mitad);
inline void ICTFvg_DesactivarUsoMarketBook(int handle);
// Eventos y operaciones (de GENERAL_BLOQUES_REAL_FUNCTIONS)
inline void ICTFvg_OnNewBar(int handle);
inline void ICTFvg_SetCalculatePrevInNextBar(int handle);
inline void ICTFvg_GetBloquesAlcistasMitigados(int handle, Bloques &bloques_alcistas[]);
inline void ICTFvg_GetBloquesBajistasMitigados(int handle, Bloques &bloques_bajistas[]);
inline void ICTFvg_AddLogFlag(int handle, uint8_t flags);
inline void ICTFvg_RemoverLogFlags(int handle, uint8_t flags);
inline Bloques ICTFvg_GetLastAlcista(int handle);
inline Bloques ICTFvg_GetLastBajista(int handle);
inline Bloques ICTFvg_GetMasCercanoAlcista(int handle);
inline Bloques ICTFvg_GetMasCercanoBajista(int handle);
inline int ICTFvg_SizeAlcistasMitigados(int handle);
inline int ICTFvg_SizeBajistasMitigados(int handle);
inline Bloques ICTFvg_GetAlcistaMitigado(int handle, const int pos);
inline Bloques ICTFvg_GetBajistaMitigado(int handle, const int pos);
inline void ICTFvg_GetAlcistasMitigados(int handle, Bloques &out[]);
inline void ICTFvg_GetBajistasMitigados(int handle, Bloques &out[]);
inline void ICTFvg_SetParo(int handle);
inline void ICTFvg_ChangeTimeframe(int handle, ENUM_TIMEFRAMES new_timeframe);
inline int ICTFvg_SizeAlcistas(int handle);
inline int ICTFvg_SizeBajistas(int handle);
inline Bloques ICTFvg_GetAlcista(int handle, int index);
inline Bloques ICTFvg_GetBajista(int handle, int index);
inline void ICTFvg_GetData(int handle, Bloques &bloques_alcistas_[], Bloques &bloques_bajistas_[]);
// Propiedades generales (de GENERAL_PROPERTIES_BLOQUES)
inline bool ICTFvg_IsNewBarConcept(int handle);
inline bool ICTFvg_ShowAll(int handle);
inline bool ICTFvg_HideAll(int handle);
inline bool ICTFvg_DeleteAll(int handle);
inline void ICTFvg_SetAlertas(int handle, bool activar, string alert_types);
inline void ICTFvg_SetFlagMostrarObjetos(int handle, bool mostrar);
inline void ICTFvg_ForzeToActulizeCurrentTick(int handle);
inline ENUM_TIMEFRAMES ICTFvg_Timeframe(int handle);
inline string ICTFvg_Simbolo(int handle);
inline long ICTFvg_ChartId(int handle);
inline int ICTFvg_Subwin(int handle);
inline bool ICTFvg_GetInittialStateObj(int handle);
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
inline int ICTSymbolData_GetHandle(const string& symbol);
inline int ICTSymbolData_GetTotal();
inline string ICTSymbol_Symbol(int handle);
inline int ICTSymbol_GetCounter(int handle);
inline double ICTSymbol_GetPointValue(int handle);
inline int8_t ICTSymbol_GetDigits(int handle);
inline uint8_t ICTSymbol_GetFlagsUpdate(int handle);
inline datetime ICTSymbol_TickTime(int handle);
inline double ICTSymbol_TickBid(int handle);
inline double ICTSymbol_TickAsk(int handle);
inline double ICTSymbol_TickLast(int handle);
inline ulong ICTSymbol_TickVolume(int handle);
inline long ICTSymbol_TickTimeMsc(int handle);
inline uint ICTSymbol_TickFlags(int handle);
#import
//---
#endif // ICTLIBRARYEASY_SRC_BASE_IMPORTS_MQH
//+------------------------------------------------------------------+