// // OPEN ... double triggerDonOpenUpper = triggerConditions.x121Conditions.donOpenUpperBuffer[1]; double triggerDonOpenLower = triggerConditions.x121Conditions.donOpenLowerBuffer[1]; double triggerDonOpenUpperPrev = triggerConditions.x121Conditions.donOpenUpperBuffer[2]; double triggerDonOpenLowerPrev = triggerConditions.x121Conditions.donOpenLowerBuffer[2]; // // HIGH ... double triggerDonHighUpper = triggerConditions.x121Conditions.donHighUpperBuffer[1]; double triggerDonHighLower = triggerConditions.x121Conditions.donHighLowerBuffer[1]; double triggerDonHighUpperPrev = triggerConditions.x121Conditions.donHighUpperBuffer[2]; double triggerDonHighLowerPrev = triggerConditions.x121Conditions.donHighLowerBuffer[2]; // // CLOSE ... double triggerDonCloseUpper = triggerConditions.x121Conditions.donCloseUpperBuffer[1]; double triggerDonCloseLower = triggerConditions.x121Conditions.donCloseLowerBuffer[1]; double triggerDonCloseUpperPrev = triggerConditions.x121Conditions.donCloseUpperBuffer[2]; double triggerDonCloseLowerPrev = triggerConditions.x121Conditions.donCloseLowerBuffer[2]; // // LOW ... double triggerDonLowUpper = triggerConditions.x121Conditions.donLowUpperBuffer[1]; double triggerDonLowLower = triggerConditions.x121Conditions.donLowLowerBuffer[1]; double triggerDonLowUpperPrev = triggerConditions.x121Conditions.donLowUpperBuffer[2]; double triggerDonLowLowerPrev = triggerConditions.x121Conditions.donLowLowerBuffer[2]; // // Calculate PBar Rejected Don Upper and Lower ... // bool isPBarRejectDonLowUpper = pBar.high > triggerDonLowUpperPrev; bool isPBarRejectDonOpenUpper = pBar.high > triggerDonOpenUpperPrev; bool isPBarRejectDonCloseUpper = pBar.high > triggerDonCloseUpperPrev; bool isPBarRejectedDonUpper = isPBarRejectDonLowUpper || isPBarRejectDonOpenUpper || isPBarRejectDonCloseUpper; // bool isPBarRejectDonHighLower = pBar.low < triggerDonHighLowerPrev; bool isPBarRejectDonOpenLower = pBar.low < triggerDonOpenLowerPrev; bool isPBarRejectDonCloseLower = pBar.low < triggerDonCloseLowerPrev; bool isPBarRejectedDonLower = isPBarRejectDonHighLower || isPBarRejectDonOpenLower || isPBarRejectDonCloseLower; // // Calculate PBar Breaked Don Upper and Lower ... // bool isPBarBreakdDonLowUpper = pBar.GetUp() > triggerDonLowUpperPrev && pBar.GetDown() < triggerDonLowUpperPrev; bool isPBarBreakdDonOpenUpper = pBar.GetUp() > triggerDonOpenUpperPrev && pBar.GetDown() < triggerDonOpenUpperPrev; bool isPBarBreakdDonCloseUpper = pBar.GetUp() > triggerDonCloseUpperPrev && pBar.GetDown() < triggerDonCloseUpperPrev; bool isPBarBreakedDonUpper = isPBarBreakdDonLowUpper || isPBarBreakdDonOpenUpper || isPBarBreakdDonCloseUpper; // bool isPBarBreakdDonHighLower = pBar.GetUp() > triggerDonHighLowerPrev && pBar.GetDown() < triggerDonHighLowerPrev; bool isPBarBreakdDonOpenLower = pBar.GetUp() > triggerDonOpenLowerPrev && pBar.GetDown() < triggerDonOpenLowerPrev; bool isPBarBreakdDonCloseLower = pBar.GetUp() > triggerDonCloseLowerPrev && pBar.GetDown() < triggerDonCloseLowerPrev; bool isPBarBreakedDonLower = isPBarBreakdDonHighLower || isPBarBreakdDonOpenLower || isPBarBreakdDonCloseLower; // bool isRejectTriggerDonUpper = // // PBar ... isPBarBearishRejected && isPBarRejectedDonUpper && // // CBar ... isCBarBearishMomentumBar && cBar.close < triggerDonLowUpper && // triggerPeak == triggerDonHighUpper // ; // bool isRejectTriggerDonLower = // // PBar ... isPBarBullishRejected && isPBarRejectedDonLower && // // CBar ... isCBarBullishMomentumBar && cBar.close > triggerDonHighLower && // triggerVale == triggerDonLowLower // ; // if (isRejectTriggerDonUpper || isRejectTriggerDonLower) { Print("Don Rejected ..."); } // bool isBreakedDonUpper = // false // ; // bool isBreakedDonLower = // false // ; // bool isEngulfedDonUpper = // false // ; // bool isEngulfedDonLower = // false // ;