| //+------------------------------------------------------------------+
|
| //| Fvg.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
|
|
|
| #ifndef ICTLIBRARY_CONCEPTS_BLOQUES_IMBALANCE_FVG_MQH
|
| #define ICTLIBRARY_CONCEPTS_BLOQUES_IMBALANCE_FVG_MQH
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| #include "..\\Base.mqh"
|
|
|
| //+------------------------------------------------------------------+
|
| //| Clase Wrapper CFvgBar |
|
| //+------------------------------------------------------------------+
|
| class CFvgBar : public IImbalanceBlocks
|
| {
|
| private:
|
| int m_handle;
|
| //---
|
| void Destroy();
|
|
|
| public:
|
| CFvgBar();
|
| ~CFvgBar();
|
|
|
| //--- Creación
|
| bool Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id = 0, int subwin = 0, bool show_concept = true) override final;
|
|
|
| //--- Configuración específica
|
| inline void Set(int range_, ENUM_MODO_OBTENCION_IMBALANCE mode_obtencin, ENUM_STYLE_DIBUJO_IMBALANCES style_draw_imbalacnes, TSN::CDiff* diff) override final;
|
| inline void DesactivarUsoMarketBook() override final;
|
|
|
| //--- Configuración heredada
|
| inline void SetGrapich(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) override final;
|
| inline void SetAlertas(bool activar, string alert_types) override final;
|
| inline void SetCalculatePrevInNextBar() override final;
|
|
|
| //--- Gestión gráfica
|
| inline bool ShowAll() override final;
|
| inline bool HideAll() override final;
|
| inline bool DeleteAll() override final;
|
| inline void SetFlagMostrarObjetos(bool mostrar) override final;
|
| inline void ForzeToActulizeCurrentTick() override final;
|
|
|
| //--- Eventos
|
| inline void OnNewBar() override final;
|
| inline bool IsNewBarConcept() override final;
|
|
|
| //--- Log
|
| inline void AddLogFlags(const uint8_t flags) override final;
|
| void RemoveLogFlags(const uint8_t flags) override final;
|
|
|
| //--- Obtención de datos - Mitigados
|
| inline void GetAlcistasMitigados(Bloques &bloques[]) override final;
|
| inline void GetBajistasMitigados(Bloques &bloques[]) override final;
|
| inline Bloques GetAlcistaMitigado(const int pos) override final;
|
| inline Bloques GetBajistaMitigiado(const int pos) override final;
|
| inline int SizeAlcistasMitigados() override final;
|
| inline int SizeBajistasMitigados() override final;
|
|
|
| //--- Obtención de datos - Activos
|
| inline Bloques GetAlcista(const int index) override final;
|
| inline Bloques GetBajista(const int index) override final;
|
| inline void GetData(Bloques &alcistas[], Bloques &bajistas[]) override final;
|
| inline int SizeAlcistas() override final;
|
| inline int SizeBajistas() override final;
|
|
|
| //--- Obtención de datos - Extra
|
| inline Bloques GetLastAlcista() override final;
|
| inline Bloques GetLastBajista() override final;
|
| inline Bloques GetMasCercanoAlcista() override final;
|
| inline Bloques GetMasCercanoBajista() override final;
|
|
|
| //--- Control
|
| inline void SetParo() override final;
|
| inline void ChangeTimeframe(ENUM_TIMEFRAMES new_timeframe) override final;
|
|
|
| //--- Getters básicos
|
| inline int Handle() const override final;
|
| inline string Symbol() const override final;
|
| inline ENUM_TIMEFRAMES Timeframe() const override final;
|
| inline long ChartId() const override final;
|
| inline int Subwin() const override final;
|
| inline bool InitialStateObj() const override final;
|
| inline ENUM_CONCEPT_UN_BLOQUE_TYPE BloqueType() const override final;
|
|
|
| inline uint8_t ModifyFlags() const override final { return ICTFvg_ModifyFlags(m_handle); }
|
| inline bool GetStateObj() const override final { return ICTFvg_GetStateObj(m_handle); }
|
| inline void Summary() const override final { ICTFvg_Summary(m_handle); }
|
| inline void ChangeChart(long new_chart_id, int new_subwin) override final { ICTFvg_ChangeChart(m_handle, new_chart_id, new_subwin); }
|
|
|
| };
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| CFvgBar::CFvgBar() : m_handle(INVALID_HANDLE)
|
| {
|
|
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| CFvgBar::~CFvgBar()
|
| {
|
| Destroy();
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| bool CFvgBar::Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id = 0, int subwin = 0, bool show_concept = true)
|
| {
|
| if(m_handle != INVALID_HANDLE)
|
| Destroy();
|
|
|
| m_handle = ICTFvg_Create(symbol, timeframe, chart_id, subwin, show_concept);
|
|
|
| if(m_handle < 0)
|
| {
|
| LogError("No se pudo crear un handle para CFvgBar", FUNCION_ACTUAL);
|
| Remover();
|
| return false;
|
| }
|
|
|
| return true;
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::Set(int range_, ENUM_MODO_OBTENCION_IMBALANCE mode_obtencin, ENUM_STYLE_DIBUJO_IMBALANCES style_draw_imbalacnes, TSN::CDiff* diff)
|
| {
|
| ICTFvg_Set(m_handle, range_, mode_obtencin, style_draw_imbalacnes, diff);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::SetGrapich(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)
|
| {
|
| ICTFvg_SetGrapich(m_handle, clr_bull, clr_bear, clr_mitad_bull, clr_mitad_bear, style_concept, fill_concept, width_c, mostrar_mitad_, max_espera, width_line, style_mitad);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgBar::ShowAll()
|
| {
|
| return ICTFvg_ShowAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgBar::HideAll()
|
| {
|
| return ICTFvg_HideAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgBar::DeleteAll()
|
| {
|
| return ICTFvg_DeleteAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::SetAlertas(bool activar, string alert_types)
|
| {
|
| ICTFvg_SetAlertas(m_handle, activar, alert_types);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::SetFlagMostrarObjetos(bool mostrar)
|
| {
|
| ICTFvg_SetFlagMostrarObjetos(m_handle, mostrar);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::ForzeToActulizeCurrentTick()
|
| {
|
| ICTFvg_ForzeToActulizeCurrentTick(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::OnNewBar()
|
| {
|
| ICTFvg_OnNewBar(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgBar::IsNewBarConcept()
|
| {
|
| return ICTFvg_IsNewBarConcept(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::SetCalculatePrevInNextBar()
|
| {
|
| ICTFvg_SetCalculatePrevInNextBar(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::AddLogFlags(const uint8_t flags)
|
| {
|
| CLoggerBase::AddLogFlags(flags);
|
| ICTFvg_AddLogFlag(m_handle, flags);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| void CFvgBar::RemoveLogFlags(const uint8_t flags)
|
| {
|
| CLoggerBase::RemoveLogFlags(flags);
|
| ICTFvg_RemoverLogFlags(m_handle, flags);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::GetAlcistasMitigados(Bloques &bloques[])
|
| {
|
| ICTFvg_GetAlcistasMitigados(m_handle, bloques);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::GetBajistasMitigados(Bloques &bloques[])
|
| {
|
| ICTFvg_GetBajistasMitigados(m_handle, bloques);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetAlcistaMitigado(const int pos)
|
| {
|
| return ICTFvg_GetAlcistaMitigado(m_handle, pos);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetBajistaMitigiado(const int pos)
|
| {
|
| return ICTFvg_GetBajistaMitigado(m_handle, pos);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::SizeAlcistasMitigados()
|
| {
|
| return ICTFvg_SizeAlcistasMitigados(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::SizeBajistasMitigados()
|
| {
|
| return ICTFvg_SizeBajistasMitigados(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetAlcista(const int index)
|
| {
|
| return ICTFvg_GetAlcista(m_handle, index);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetBajista(const int index)
|
| {
|
| return ICTFvg_GetBajista(m_handle, index);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::GetData(Bloques &alcistas[], Bloques &bajistas[])
|
| {
|
| ICTFvg_GetData(m_handle, alcistas, bajistas);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::SizeAlcistas()
|
| {
|
| return ICTFvg_SizeAlcistas(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::SizeBajistas()
|
| {
|
| return ICTFvg_SizeBajistas(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetLastAlcista()
|
| {
|
| return ICTFvg_GetLastAlcista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetLastBajista()
|
| {
|
| return ICTFvg_GetLastBajista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetMasCercanoAlcista()
|
| {
|
| return ICTFvg_GetMasCercanoAlcista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgBar::GetMasCercanoBajista()
|
| {
|
| return ICTFvg_GetMasCercanoBajista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::SetParo()
|
| {
|
| ICTFvg_SetParo(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::ChangeTimeframe(ENUM_TIMEFRAMES new_timeframe)
|
| {
|
| ICTFvg_ChangeTimeframe(m_handle, new_timeframe);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgBar::DesactivarUsoMarketBook()
|
| {
|
| ICTFvg_DesactivarUsoMarketBook(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::Handle() const
|
| {
|
| return m_handle;
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline string CFvgBar::Symbol() const
|
| {
|
| return ICTFvg_Simbolo(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline ENUM_TIMEFRAMES CFvgBar::Timeframe() const
|
| {
|
| return ICTFvg_Timeframe(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline long CFvgBar::ChartId() const
|
| {
|
| return ICTFvg_ChartId(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgBar::Subwin() const
|
| {
|
| return ICTFvg_Subwin(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgBar::InitialStateObj() const
|
| {
|
| return ICTFvg_GetInittialStateObj(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline ENUM_CONCEPT_UN_BLOQUE_TYPE CFvgBar::BloqueType() const
|
| {
|
| return ICTFvg_BloqueType(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| void CFvgBar::Destroy()
|
| {
|
| if(m_handle != INVALID_HANDLE)
|
| {
|
| ICTFvg_Delete(m_handle);
|
| m_handle = INVALID_HANDLE;
|
| }
|
| }
|
|
|
|
|
|
|
| //+------------------------------------------------------------------+
|
| //| Clase Wrapper CFvgTick |
|
| //+------------------------------------------------------------------+
|
| class CFvgTick : public IBlockTick<IImbalanceBlocks>
|
| {
|
| private:
|
| int m_handle;
|
| //---
|
| void Destroy();
|
|
|
| public:
|
| CFvgTick();
|
| ~CFvgTick();
|
|
|
| //--- Creación
|
| bool Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id = 0, int subwin = 0, bool show_concept = true) override final;
|
|
|
| //--- Configuración específica
|
| inline void Set(int range_, ENUM_MODO_OBTENCION_IMBALANCE mode_obtencin, ENUM_STYLE_DIBUJO_IMBALANCES style_draw_imbalacnes, TSN::CDiff* diff) override final;
|
| inline void DesactivarUsoMarketBook() override final;
|
|
|
| //--- Configuración heredada
|
| inline void SetGrapich(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) override final;
|
| inline void SetAlertas(bool activar, string alert_types) override final;
|
| inline void SetCalculatePrevInNextBar() override final;
|
|
|
| //--- Gestión gráfica
|
| inline bool ShowAll() override final;
|
| inline bool HideAll() override final;
|
| inline bool DeleteAll() override final;
|
| inline void SetFlagMostrarObjetos(bool mostrar) override final;
|
| inline void ForzeToActulizeCurrentTick() override final;
|
| inline bool IsNewBarConcept() override final;
|
|
|
| //--- Eventos
|
| inline void OnNewBar() override final;
|
|
|
| inline void OnTickEvent(datetime curr_time) override final;
|
| inline void FreeArrayMitigated() override final;
|
|
|
| //--- Log
|
| inline void AddLogFlags(const uint8_t flags) override final;
|
| void RemoveLogFlags(const uint8_t flags) override final;
|
|
|
| //--- Obtención de datos - Mitigados
|
| inline void GetAlcistasMitigados(Bloques &bloques[]) override final;
|
| inline void GetBajistasMitigados(Bloques &bloques[]) override final;
|
| inline Bloques GetAlcistaMitigado(const int pos) override final;
|
| inline Bloques GetBajistaMitigiado(const int pos) override final;
|
| inline int SizeAlcistasMitigados() override final;
|
| inline int SizeBajistasMitigados() override final;
|
|
|
| //--- Obtención de datos - Activos
|
| inline Bloques GetAlcista(const int index) override final;
|
| inline Bloques GetBajista(const int index) override final;
|
| inline void GetData(Bloques &alcistas[], Bloques &bajistas[]) override final;
|
| inline int SizeAlcistas() override final;
|
| inline int SizeBajistas() override final;
|
|
|
| //--- Obtención de datos - Extra
|
| inline Bloques GetLastAlcista() override final;
|
| inline Bloques GetLastBajista() override final;
|
| inline Bloques GetMasCercanoAlcista() override final;
|
| inline Bloques GetMasCercanoBajista() override final;
|
|
|
| //--- Control
|
| inline void SetParo() override final;
|
| inline void ChangeTimeframe(ENUM_TIMEFRAMES new_timeframe) override final;
|
|
|
| //--- Getters básicos
|
| inline int Handle() const override final;
|
| inline string Symbol() const override final;
|
| inline ENUM_TIMEFRAMES Timeframe() const override final;
|
| inline long ChartId() const override final;
|
| inline int Subwin() const override final;
|
| inline bool InitialStateObj() const override final;
|
| inline ENUM_CONCEPT_UN_BLOQUE_TYPE BloqueType() const override final;
|
|
|
| inline uint8_t ModifyFlags() const override final { return ICTFvgTick_ModifyFlags(m_handle); }
|
| inline bool GetStateObj() const override final { return ICTFvgTick_GetStateObj(m_handle); }
|
| inline void Summary() const override final { ICTFvgTick_Summary(m_handle); }
|
| inline void ChangeChart(long new_chart_id, int new_subwin) override final { ICTFvgTick_ChangeChart(m_handle, new_chart_id, new_subwin); }
|
|
|
| };
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| CFvgTick::CFvgTick() : m_handle(INVALID_HANDLE)
|
| {
|
|
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| CFvgTick::~CFvgTick()
|
| {
|
| Destroy();
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| bool CFvgTick::Create(string symbol, ENUM_TIMEFRAMES timeframe, long chart_id = 0, int subwin = 0, bool show_concept = true)
|
| {
|
| if(m_handle != INVALID_HANDLE)
|
| Destroy();
|
|
|
| m_handle = ICTFvgTick_Create(symbol, timeframe, chart_id, subwin, show_concept);
|
|
|
| if(m_handle < 0)
|
| {
|
| LogError("No se pudo crear un handle para CFvgTick", FUNCION_ACTUAL);
|
| Remover();
|
| return false;
|
| }
|
|
|
| return true;
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::Set(int range_, ENUM_MODO_OBTENCION_IMBALANCE mode_obtencin, ENUM_STYLE_DIBUJO_IMBALANCES style_draw_imbalacnes, TSN::CDiff* diff)
|
| {
|
| ICTFvgTick_Set(m_handle, range_, mode_obtencin, style_draw_imbalacnes, diff);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::SetGrapich(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)
|
| {
|
| ICTFvgTick_SetGrapich(m_handle, clr_bull, clr_bear, clr_mitad_bull, clr_mitad_bear, style_concept, fill_concept, width_c, mostrar_mitad_, max_espera, width_line, style_mitad);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgTick::ShowAll()
|
| {
|
| return ICTFvgTick_ShowAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgTick::HideAll()
|
| {
|
| return ICTFvgTick_HideAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgTick::DeleteAll()
|
| {
|
| return ICTFvgTick_DeleteAll(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::SetAlertas(bool activar, string alert_types)
|
| {
|
| ICTFvgTick_SetAlertas(m_handle, activar, alert_types);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::SetFlagMostrarObjetos(bool mostrar)
|
| {
|
| ICTFvgTick_SetFlagMostrarObjetos(m_handle, mostrar);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::ForzeToActulizeCurrentTick()
|
| {
|
| ICTFvgTick_ForzeToActulizeCurrentTick(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::OnNewBar()
|
| {
|
| ICTFvgTick_OnNewBar(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgTick::IsNewBarConcept()
|
| {
|
| return ICTFvgTick_IsNewBarConcept(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::SetCalculatePrevInNextBar()
|
| {
|
| ICTFvgTick_SetCalculatePrevInNextBar(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::OnTickEvent(datetime curr_time)
|
| {
|
| ICTFvgTick_OnTickEvent(m_handle, curr_time);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::FreeArrayMitigated()
|
| {
|
| ICTFvgTick_FreeArrayMitigated(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::AddLogFlags(const uint8_t flags)
|
| {
|
| CLoggerBase::AddLogFlags(flags);
|
| ICTFvgTick_AddLogFlag(m_handle, flags);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| void CFvgTick::RemoveLogFlags(const uint8_t flags)
|
| {
|
| CLoggerBase::RemoveLogFlags(flags);
|
| ICTFvgTick_RemoverLogFlags(m_handle, flags);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::GetAlcistasMitigados(Bloques &bloques[])
|
| {
|
| ICTFvgTick_GetAlcistasMitigados(m_handle, bloques);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::GetBajistasMitigados(Bloques &bloques[])
|
| {
|
| ICTFvgTick_GetBajistasMitigados(m_handle, bloques);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetAlcistaMitigado(const int pos)
|
| {
|
| return ICTFvgTick_GetAlcistaMitigado(m_handle, pos);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetBajistaMitigiado(const int pos)
|
| {
|
| return ICTFvgTick_GetBajistaMitigado(m_handle, pos);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::SizeAlcistasMitigados()
|
| {
|
| return ICTFvgTick_SizeAlcistasMitigados(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::SizeBajistasMitigados()
|
| {
|
| return ICTFvgTick_SizeBajistasMitigados(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetAlcista(const int index)
|
| {
|
| return ICTFvgTick_GetAlcista(m_handle, index);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetBajista(const int index)
|
| {
|
| return ICTFvgTick_GetBajista(m_handle, index);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::GetData(Bloques &alcistas[], Bloques &bajistas[])
|
| {
|
| ICTFvgTick_GetData(m_handle, alcistas, bajistas);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::SizeAlcistas()
|
| {
|
| return ICTFvgTick_SizeAlcistas(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::SizeBajistas()
|
| {
|
| return ICTFvgTick_SizeBajistas(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetLastAlcista()
|
| {
|
| return ICTFvgTick_GetLastAlcista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetLastBajista()
|
| {
|
| return ICTFvgTick_GetLastBajista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetMasCercanoAlcista()
|
| {
|
| return ICTFvgTick_GetMasCercanoAlcista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline Bloques CFvgTick::GetMasCercanoBajista()
|
| {
|
| return ICTFvgTick_GetMasCercanoBajista(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::SetParo()
|
| {
|
| ICTFvgTick_SetParo(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::ChangeTimeframe(ENUM_TIMEFRAMES new_timeframe)
|
| {
|
| ICTFvgTick_ChangeTimeframe(m_handle, new_timeframe);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline void CFvgTick::DesactivarUsoMarketBook()
|
| {
|
| ICTFvgTick_DesactivarUsoMarketBook(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::Handle() const
|
| {
|
| return m_handle;
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline string CFvgTick::Symbol() const
|
| {
|
| return ICTFvgTick_Simbolo(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline ENUM_TIMEFRAMES CFvgTick::Timeframe() const
|
| {
|
| return ICTFvgTick_Timeframe(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline long CFvgTick::ChartId() const
|
| {
|
| return ICTFvgTick_ChartId(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline int CFvgTick::Subwin() const
|
| {
|
| return ICTFvgTick_Subwin(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline bool CFvgTick::InitialStateObj() const
|
| {
|
| return ICTFvgTick_GetInittialStateObj(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| inline ENUM_CONCEPT_UN_BLOQUE_TYPE CFvgTick::BloqueType() const
|
| {
|
| return ICTFvgTick_BloqueType(m_handle);
|
| }
|
|
|
| //+------------------------------------------------------------------+
|
| //| |
|
| //+------------------------------------------------------------------+
|
| void CFvgTick::Destroy()
|
| {
|
| if(m_handle != INVALID_HANDLE)
|
| {
|
| ICTFvgTick_Delete(m_handle);
|
| m_handle = INVALID_HANDLE;
|
| }
|
| }
|
|
|
|
|
| #endif // ICTLIBRARY_CONCEPTS_BLOQUES_IMBALANCE_FVG_MQH
|
| //+------------------------------------------------------------------+
|