81 lines
7 KiB
MQL5
81 lines
7 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| Global.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
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
/*
|
|
Hola, este es el achivo Global.mqh, recordemos que aqui ubicaremos todo el codigo que deseamos que se ejecute PRIMERO
|
|
ante todo... (Incluso antes de OnInit)..
|
|
Para esta ocasion como trabajremos con la libreria ict necesitamos hacer 2 cosas
|
|
1. Definir una instancia de CNewBarManager como un define (esto para que las sesiones etc puedan funcionar).
|
|
2. Setear el BarMananger que usara la libreria.
|
|
*/
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
#ifndef GLOBAL_MQH
|
|
#define GLOBAL_MQH
|
|
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
//--- Empezaremos incluyendo el BarManager
|
|
#include <TSN\\MQLArticles\\Utils\\TFManager.mqh>
|
|
|
|
//--- Instanciamoos globalmente el bar manager como g_new_bar_manager
|
|
CNewBarManager g_new_bar_manager;
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
// Incluiremos todo lo necesario de la libreria ict.. en este ocasion solo los conceptos generales
|
|
#include "..\\..\\Src\\ICTConcepts.mqh"
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
// Definamos la clase global esta sera muy simple, como miembro tendra una variable booleana "init"
|
|
// Esta guardara true si la clase ya se inicio y false si no lo hizo
|
|
// Esta variable es importante para evitar que se pueda inicar dos veces o mas.. cosa que no queremos.
|
|
class CGlobal
|
|
{
|
|
private:
|
|
static bool init;
|
|
|
|
public:
|
|
//--- Incializacion global
|
|
CGlobal(void)
|
|
{
|
|
if(init) // Verificamos que sea FALSE
|
|
return;
|
|
|
|
//--- Seteasmos el bar manager
|
|
ICTGen_BarManagerSet(GetPointer(g_new_bar_manager)); // Le damos a la libreira ICT el manager
|
|
|
|
//--- Marcamos en true
|
|
init = true;
|
|
}
|
|
//--- Deinicializacion global
|
|
~CGlobal(void)
|
|
{
|
|
|
|
}
|
|
};
|
|
//+------------------------------------------------------------------+
|
|
bool CGlobal::init = false; // Inicialmente FALSE
|
|
|
|
//+------------------------------------------------------------------+
|
|
CGlobal g_global_instance; // Instancia global
|
|
//+------------------------------------------------------------------+
|
|
#endif // GLOBAL_MQH
|
|
// Ahora, para evitar la incluision doble de este archivo defini un GUARD
|
|
// #ifndef - #define - #endif
|
|
|