34 lines
795 B
MQL5
34 lines
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;
|
||
|
|
}
|