73 linhas
2,4 KiB
MQL5
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
|
|
//+------------------------------------------------------------------+
|