//+------------------------------------------------------------------+ //| Writer.mqh | //| Copyright 2025, Niquel Mendoza. | //| https://www.mql5.com/es/users/nique_372 | //+------------------------------------------------------------------+ #property copyright "Copyright 2025, Niquel Mendoza." #property link "https://www.mql5.com/es/users/nique_372" #property strict #ifndef EASYSB_AIAD_WRITER_MQH #define EASYSB_AIAD_WRITER_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ //--- #include "..\\Core\\DefGlobal.mqh" //+------------------------------------------------------------------+ //| Clase generica para obtencion de datos y luego distribuir | //+------------------------------------------------------------------+ class CStrategyAiGetData { private: CAiLeoMulyiFeatureGen* m_data; vector m_v; string m_v_str; const bool m_generete_str; public: CStrategyAiGetData(CAiLeoMulyiFeatureGen* ptr, bool gen_str) : m_data(ptr), m_generete_str(gen_str), m_v_str(NULL) { } ~CStrategyAiGetData() {} //--- void GenerateData(const datetime& curr_time) { m_data.ObtenerDataEnVector(m_v, curr_time); if(m_generete_str) { m_v_str = vector_to_string(m_v); } } //--- vector GetAsVector() const { return m_v; } string GetAsString() const { return m_v_str; } }; //+------------------------------------------------------------------+ //| Generador de data real | //+------------------------------------------------------------------+ class CStrategyAiAddWriter : public IStrategyAddonAiWriter { private: CStrategyAiGetData* m_generator; public: CStrategyAiAddWriter(CStrategyAiGetData* &ptr) : m_generator(ptr) {} ~CStrategyAiAddWriter(void) {} bool Get(string& data[], const datetime curr_time) override final { data[ArrayResize(data, 1) - 1] = m_generator.GetAsString(); return true; } }; #endif // EASYSB_AIAD_WRITER_MQH //+------------------------------------------------------------------+