919 lines
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
| |||
//+------------------------------------------------------------------+
|