ictCore/Experts/core/equilibrium.mqh
2026-05-17 22:39:25 +03:00

34 lines
No EOL
795 B
MQL5

extern MqlRates rates[];
//input ENUM_TIMEFRAMES inpEquilibriumTf = PERIOD_CURRENT;
class CEquilibrium{
private:
double latestEquilbrium; //
public:
//getters
double getLatestEquilibrium(){return latestEquilbrium;};
double whatsEquilibrium(double price1, double price2);
bool hasTapEquil(double equil);
};
double CEquilibrium::whatsEquilibrium(double price1, double price2){
double diff,equil;
diff = MathAbs(price1 - price2);
price1 = MathMin(price1,price2);
equil= price1+(diff/2);
return equil;
}
bool CEquilibrium::hasTapEquil(double equil){
if(rates[0].high>equil && rates[0].low<equil){
Print("equil ",equil," has been tapped");
return true;
}
return false;
}