2026-06-13 09:42:49 +00:00
|
|
|
#property strict
|
|
|
|
|
|
|
|
|
|
int OnInit()
|
|
|
|
|
{
|
2026-06-14 11:05:38 +00:00
|
|
|
Print("SMC_BOS_EA Loaded");
|
|
|
|
|
return(INIT_SUCCEEDED);
|
2026-06-13 09:42:49 +00:00
|
|
|
}
|
2026-06-13 10:09:03 +00:00
|
|
|
|
|
|
|
|
void OnTick()
|
2026-06-13 10:15:16 +00:00
|
|
|
{
|
|
|
|
|
if(IsSwingHigh(2))
|
|
|
|
|
Print("Swing High Found");
|
|
|
|
|
|
|
|
|
|
if(IsSwingLow(2))
|
|
|
|
|
Print("Swing Low Found");
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-14 11:05:38 +00:00
|
|
|
bool IsSwingHigh(int shift)
|
2026-06-13 10:15:16 +00:00
|
|
|
{
|
2026-06-14 11:05:38 +00:00
|
|
|
return High[shift] > High[shift+1] &&
|
|
|
|
|
High[shift] > High[shift+2] &&
|
|
|
|
|
High[shift] > High[shift-1] &&
|
|
|
|
|
High[shift] > High[shift-2];
|
2026-06-13 10:15:16 +00:00
|
|
|
}
|
|
|
|
|
|
2026-06-14 11:05:38 +00:00
|
|
|
bool IsSwingLow(int shift)
|
2026-06-13 10:15:16 +00:00
|
|
|
{
|
2026-06-14 11:05:38 +00:00
|
|
|
return Low[shift] < Low[shift+1] &&
|
|
|
|
|
Low[shift] < Low[shift+2] &&
|
|
|
|
|
Low[shift] < Low[shift-1] &&
|
|
|
|
|
Low[shift] < Low[shift-2];
|
2026-06-13 09:42:49 +00:00
|
|
|
}
|