ICTLibraryEasy/Src/Concepts/Bloques/Imbalance/Fvg.mqh
2026-11-03 21:58:16 -05:00
919 라인
37 KiB
MQL5
//+------------------------------------------------------------------+
//| 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
//+------------------------------------------------------------------+