287 lines
6.8 KiB
Plaintext
287 lines
6.8 KiB
Plaintext
//
|
|
bool result = false;
|
|
|
|
//
|
|
double bullishScore = 0;
|
|
double bearishScore = 0;
|
|
|
|
//
|
|
mConditions.GenerateScore(
|
|
bullishScore,
|
|
bearishScore //
|
|
);
|
|
|
|
//
|
|
bool scorePassed = bearishScore > 2 * bullishScore;
|
|
|
|
//
|
|
// Candlestick ...
|
|
bool cMCandlestickPassed =
|
|
//
|
|
mConditions.cMarketConditions.isLastBullish ||
|
|
mConditions.cMarketConditions.isCurrentBullish ||
|
|
mConditions.cMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
bool sMCandlestickPassed =
|
|
//
|
|
mConditions.sMarketConditions.isLastBullish ||
|
|
mConditions.sMarketConditions.isCurrentBullish ||
|
|
mConditions.sMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
bool mMCandlestickPassed =
|
|
//
|
|
mConditions.mMarketConditions.isLastBullish ||
|
|
mConditions.mMarketConditions.isCurrentBullish ||
|
|
mConditions.mMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
bool lMCandlestickPassed =
|
|
//
|
|
mConditions.lMarketConditions.isLastBullish ||
|
|
mConditions.lMarketConditions.isCurrentBullish ||
|
|
mConditions.lMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
bool hMCandlestickPassed =
|
|
//
|
|
mConditions.hMarketConditions.isLastBullish ||
|
|
mConditions.hMarketConditions.isCurrentBullish ||
|
|
mConditions.hMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
bool marketsCandlesticPassed =
|
|
//
|
|
cMCandlestickPassed &&
|
|
sMCandlestickPassed &&
|
|
mMCandlestickPassed &&
|
|
lMCandlestickPassed &&
|
|
hMCandlestickPassed
|
|
//
|
|
;
|
|
|
|
//
|
|
|
|
|
|
// //
|
|
// isSenkouSpanAOverB
|
|
// isSenkouSpanAOverLast
|
|
// isFutureSenkouSpanAOverB
|
|
// isFutureSenkouSpanAOverLast
|
|
|
|
// //
|
|
// isCloseOverKijunSen
|
|
|
|
// //
|
|
// isTenkanSenOverKijunSen
|
|
// isTenkanSenCrossedOverKijunSen
|
|
|
|
// //
|
|
// isFastOverSlow
|
|
// isFastOverVerifier
|
|
// isSlowOverVerifier
|
|
// isCloseOverFast
|
|
// isCloseOverSlow
|
|
// isCloseOverVerifier
|
|
|
|
// //
|
|
// isTrendBullish
|
|
|
|
// //
|
|
// isCHEInLong
|
|
// isCHEInStrongLong
|
|
|
|
// //
|
|
// isRVILongStart
|
|
|
|
// //
|
|
// isBullPowerOverLast
|
|
// isBullPowerOverZero
|
|
|
|
// //
|
|
// isBearPoswerUnderLast
|
|
// isBearPoswerUnderZero
|
|
|
|
// //
|
|
// isCCIPositive
|
|
// isCCIOverPositiveHundred
|
|
|
|
// //
|
|
// isSTDDEVOverAVG
|
|
// isSTDDEVOverLast
|
|
|
|
// //
|
|
// isMACDPositiove
|
|
// isMACDOverSignal
|
|
|
|
//
|
|
// isDONAttachedMinLower
|
|
// isDONCrossedOverMaxLower
|
|
|
|
//
|
|
// isPVFiboIncreased
|
|
// isPVNewPeakUnderLast
|
|
|
|
// //
|
|
// isPVSCBullish
|
|
// isPVMCBullish
|
|
// isPVLCBullish
|
|
// isPVHCBullish
|
|
|
|
// //
|
|
// isPVSCLLBullish
|
|
// isPVMCLLBullish
|
|
// isPVLCLLBullish
|
|
// isPVHCLLBullish
|
|
|
|
// //
|
|
// isPVSCSwitchedToBullish
|
|
// isPVMCSwitchedToBullish
|
|
// isPVLCSwitchedToBullish
|
|
// isPVHCSwitchedToBullish
|
|
|
|
//
|
|
result =
|
|
//
|
|
scorePassed &&
|
|
mConditions.lMarketConditions.isCurrentMidLineOverLastMidLine
|
|
//
|
|
;
|
|
|
|
//
|
|
return result;
|
|
|
|
|
|
|
|
/////////////////////////////////////////////
|
|
|
|
|
|
//
|
|
isPriceCrossedOverLastLowOfHMarket
|
|
//
|
|
// //
|
|
// (bullishScore > bearishScore &&
|
|
// MathAbs(bullishScore - bearishScore) > threshold)
|
|
// //
|
|
// &&
|
|
// //
|
|
// ((isPriceCrossedOverLastMidLineOfHMarket ||
|
|
// isPriceCrossedOverCurrentMidLineOfHMarket) &&
|
|
// mConditions.hMarketConditions.isCurrentMidLineOverLastMidLine)
|
|
// //
|
|
|
|
|
|
|
|
//
|
|
double entry = GetEntry(mConditions.symbol);
|
|
XOHCL cHBar = hMarket.GetBar(0);
|
|
XOHCL pHBar = hMarket.GetBar(1);
|
|
double lastHBarMid = pHBar.GetMid();
|
|
double currentHBarMid = cHBar.GetMid();
|
|
bool isPriceCrossedOverLastMidLineOfHMarket =
|
|
//
|
|
(mConditions.bars[1].high < lastHBarMid ||
|
|
mConditions.bars[1].open < lastHBarMid)
|
|
//
|
|
&&
|
|
//
|
|
(mConditions.bars[0].low > lastHBarMid ||
|
|
mConditions.bars[0].close > lastHBarMid)
|
|
//
|
|
;
|
|
bool isPriceCrossedOverCurrentMidLineOfHMarket =
|
|
//
|
|
(mConditions.bars[1].high < currentHBarMid ||
|
|
mConditions.bars[1].open < currentHBarMid)
|
|
//
|
|
&&
|
|
//
|
|
(mConditions.bars[0].low > currentHBarMid ||
|
|
mConditions.bars[0].close > currentHBarMid)
|
|
//
|
|
;
|
|
bool isPriceCrossedOverLastLowOfHMarket =
|
|
//
|
|
mConditions.bars[2].close < pHBar.low &&
|
|
mConditions.bars[1].close > pHBar.low
|
|
//
|
|
;
|
|
|
|
// //
|
|
// isSenkouSpanAOverB
|
|
// isSenkouSpanAOverLast
|
|
// isFutureSenkouSpanAOverB
|
|
// isFutureSenkouSpanAOverLast
|
|
|
|
// //
|
|
// isCloseOverKijunSen
|
|
|
|
// //
|
|
// isTenkanSenOverKijunSen
|
|
// isTenkanSenCrossedOverKijunSen
|
|
|
|
// //
|
|
// isFastOverSlow
|
|
// isFastOverVerifier
|
|
// isSlowOverVerifier
|
|
// isCloseOverFast
|
|
// isCloseOverSlow
|
|
// isCloseOverVerifier
|
|
|
|
// //
|
|
// isTrendBullish
|
|
|
|
// //
|
|
// isCHEInLong
|
|
// isCHEInStrongLong
|
|
|
|
// //
|
|
// isRVILongStart
|
|
|
|
// //
|
|
// isBullPowerOverLast
|
|
// isBullPowerOverZero
|
|
|
|
// //
|
|
// isBearPoswerUnderLast
|
|
// isBearPoswerUnderZero
|
|
|
|
// //
|
|
// isCCIPositive
|
|
// isCCIOverPositiveHundred
|
|
|
|
// //
|
|
// isSTDDEVOverAVG
|
|
// isSTDDEVOverLast
|
|
|
|
// //
|
|
// isMACDPositiove
|
|
// isMACDOverSignal
|
|
|
|
//
|
|
// isDONAttachedMinLower
|
|
// isDONCrossedOverMaxLower
|
|
|
|
//
|
|
// isPVFiboIncreased
|
|
// isPVNewPeakUnderLast
|
|
|
|
// //
|
|
// isPVSCBullish
|
|
// isPVMCBullish
|
|
// isPVLCBullish
|
|
// isPVHCBullish
|
|
|
|
// //
|
|
// isPVSCLLBullish
|
|
// isPVMCLLBullish
|
|
// isPVLCLLBullish
|
|
// isPVHCLLBullish
|
|
|
|
// //
|
|
// isPVSCSwitchedToBullish
|
|
// isPVMCSwitchedToBullish
|
|
// isPVLCSwitchedToBullish
|
|
// isPVHCSwitchedToBullish
|