1
0
Derivar 0
EasySbAi/AiAd/Writer.mqh
2026-04-10 15:47:40 -05:00

73 linhas
2,4 KiB
MQL5

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