In MQ5 code the condition is:
if(C1 < O1 && O1C1_D2 < C && O < C && CO_HL > Piercing_Line_Ratio && HL >= PCL_MTS) {
return true;
}
The part of the condition that is missing: C<O1 (it also properly exists in DarkCloudCover).
It should be:
if(C1 < O1 && O1C1_D2 < C && O < C && C<O1 && CO_HL > Piercing_Line_Ratio && HL >= PCL_MTS) {
return true;
}
With this one missing it is also accepting all the BullishEngulfing type formations
thank you for your suggestion, you are right.
I updated the MQL and TS/MC templates.
Best regards,
Tomas