80 righe
Nessun fine linea
2 KiB
MQL5
80 righe
Nessun fine linea
2 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| 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);
|
|
} |