//             P L E A S E   -   D O    N O T    D E L E T E    A N Y T H I N G ! ! !
// -------------------------------------------------------------------------------------------------
//                                   goodjob_MindStorms v1.01
//
//                       				  	  by Rodolfo
//                             rodolfo.leonardo@gmail.com
//
//--------------------------------------------------------------------------------------------------
//   THIS EA IS 100 % FREE OPENSOURCE, WHICH MEANS THAT IT'S NOT A COMMERCIAL PRODUCT
// -------------------------------------------------------------------------------------------------
#property copyright " goodjob_MindStorms_v1.01"
#property link "rodolfo.leonardo@gmail.com"
#property version "1.01"
#property description "goodjob_MindStorms_v1"
#property description "Donations are welcome !!  "
#property description "Link for Donation Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=NQKQCG78XT8BW"
#property description "Skrill 102738343"
#property description "Neteller 451625332318"
#property description "This EA is test only rum only demo"
#property description "Coder: rodolfo.leonardo@gmail.com "
#property strict

extern string Version__ = "-----------------------------------------------------------------";
extern string vg_versao = " goodjob_MindStorms_v1 2018-04-21 DEVELOPER EDITION ";
extern string Version____ = "-----------------------------------------------------------------";

string vg_Debug = "";
double vg_Spread = 0;
string vg_filters_on = "";
bool vg_initpainel = false;
datetime candle;



#include "Sinal/SinalControle.mqh"
extern string VFilterVelocitySetting = "=== Velocity Filter if Automatic ===";

#include "Sinal/SinalVelocity.mqh"
extern string VFilterVolatilidadSetting = "=== Volatilidad Filter if Automatic ===";

#include "Sinal/SinalVolatilidad.mqh"



#include "SDK/EAframework.mqh"
#include "Engines/goodjob2.mqh"


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{

    vg_Spread = MarketInfo(Symbol(), MODE_SPREAD) * Point;

    vg_filters_on = "";
    vg_initpainel = true;

    goodjobxinit();
    InitControle(MagicNumber);

    printf(vg_versao + " - INIT");

    return (INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
    vg_Debug = "";

    ControleHandling();

    
   
   

    //  RefreshRates();

    //if (candle !=iTime(NULL, PERIOD_CURRENT, 0)){
    //   candle=   iTime(NULL, PERIOD_CURRENT, 0);

  

    int Sinal = 0;

    if (EnableSinalControle)
        Sinal = GetSinalControle() * -1;
    else  
        Sinal = (GetSinalVelocity() + GetSinalVolatilidad())/(DivSinalVelocity() + DivSinalVolatilidad());
       

    goodjobx(Sinal);

    Ls_212 += "  \n Volatilidad:" + DoubleToStr(Ld_172, G_digits_192 + 1);
    Ls_212 += "  \n Filter Volatilidad:" + DoubleToStr(NormalizeDouble(Filter * G_point_196 , G_digits_192), G_digits_192 + 1);
    Ls_212 += "  \n Velocity:" + DoubleToStr(rateChange/ Point,0  );
    Ls_212 += "  \n VelocityTrigger:" + DoubleToStr(VelocityTrigger,0  );
    Comment(Ls_212);

    //}
}