// Donchian
double upper = iHigh(NULL, 0, 1) > iHigh(NULL, 0, 2) ? iHigh(NULL, 0, 1) :
iHigh(NULL, 0, 2);
double lower = iLow(NULL, 0, 1) < iLow(NULL, 0, 2) ? iLow(NULL, 0, 1) :
iLow(NULL, 0, 2);
// Reversal Candle (Ex: Bullish Engulfing)
bool bullish_engulf = (Close[1] > Open[1]) && (Open[1] < Close[2]) &&
(Close[1] > Open[2]);
// Buy signal
if (Close[0] > upper && bullish_engulf && Close[0] < htf_upper + buffer)
{
// Place Buy Order
}