58 lines
1.1 KiB
Text
58 lines
1.1 KiB
Text
#property strict
| |||
| |||
int OnInit()
| |||
{
| |||
Print("SMC_BOS_EA Loaded");
| |||
return(INIT_SUCCEEDED);
| |||
}
| |||
| |||
void OnTick()
| |||
{
| |||
if(IsSwingHigh(2))
| |||
Print("Swing High Found");
| |||
| |||
if(IsSwingLow(2))
| |||
Print("Swing Low Found");
| |||
}
| |||
| |||
bool IsSwingHigh(int shift)
| |||
{
| |||
return High[shift] > High[shift+1] &&
| |||
High[shift] > High[shift+2] &&
| |||
High[shift] > High[shift-1] &&
| |||
High[shift] > High[shift-2];
| |||
}
| |||
| |||
bool IsSwingLow(int shift)
| |||
{
| |||
return Low[shift] < Low[shift+1] &&
| |||
Low[shift] < Low[shift+2] &&
| |||
Low[shift] < Low[shift-1] &&
| |||
Low[shift] < Low[shift-2];
| |||
}
| |||
| |||
bool BuyLiquiditySweep(int shift)
| |||
{
| |||
return Low[shift] < Low[shift+1] - 5 * _Point &&
| |||
Close[shift] > Low[shift+1];
| |||
}
| |||
| |||
bool SellLiquiditySweep(int shift)
| |||
{
| |||
return High[shift] > High[shift+1] + 5 * _Point &&
| |||
Close[shift] < High[shift+1];
| |||
}
| |||
| |||
{
| |||
if(IsSwingHigh(2))
| |||
Print("Swing High Found");
| |||
| |||
if(IsSwingLow(2))
| |||
Print("Swing Low Found");
| |||
| |||
if(BuyLiquiditySweep(1))
| |||
Print("BUY Liquidity Sweep Found");
| |||
| |||
if(SellLiquiditySweep(1))
| |||
Print("SELL Liquidity Sweep Found");
| |||
}
|