//+------------------------------------------------------------------+ //| ICT_London.mq5 | //| Copyright 2025, MIAEA BOTS | //| https://www.mql5.com | //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ #include "pdArray.mqh" #include "cisd.mqh" input ENUM_TIMEFRAMES tf; input ENUM_TIMEFRAMES ytf; input ENUM_TIMEFRAMES ztf; pdArray pd; MqlRates rates[]; struct metrics{ int setup; int successfulSetups; int fvgs; int obs; }; metrics met; int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- CopyRates(_Symbol,tf,0,10,rates); ArraySetAsSeries(rates,true); double eq=0; //equilibrium DiscountVsPremium(eq,tf); pd.fairValueGap(rates); } //+------------------------------------------------------------------+ void DiscountVsPremium(double eq, ENUM_TIMEFRAMES tff=PERIOD_CURRENT){ //get the prev swing high and low double juu, chini,range; //for(int i =1; i<=50; i++){ juu = iHigh(_Symbol, tf, iHighest(_Symbol, tf, MODE_HIGH, 50, 1)); chini = iLow(Symbol(), tf, iLowest(Symbol(),tf,MODE_LOW, 50,1)); //} range = MathAbs(juu-chini); eq=(range/2)+chini; //Alert(eq); }