131 lines
4.1 KiB
Plaintext
131 lines
4.1 KiB
Plaintext
//
|
|
// When Price going Down of Fibo 3 Level from Up ...
|
|
// Chandelier Exit Must Verify Short trade by providing Short Exit 1 and 2 ...
|
|
bool signal1 =
|
|
//
|
|
c1.close < mConditions.xpvInfo.fl3 &&
|
|
//
|
|
mConditions.xcheInfo.shortExit1 > c1.open &&
|
|
mConditions.xcheInfo.shortExit1 != EMPTY_VALUE &&
|
|
//
|
|
mConditions.xcheInfo.shortExit2 > c1.open &&
|
|
mConditions.xcheInfo.shortExit2 != EMPTY_VALUE &&
|
|
//
|
|
!(mConditions.xtrndInfo.isTrendBullish ||
|
|
mConditions.xtrndInfo.isL1TrendBullish ||
|
|
mConditions.xtrndInfo.isL2TrendBullish ||
|
|
mConditions.xtrndInfo.isL3TrendBullish)
|
|
//
|
|
;
|
|
|
|
|
|
|
|
X121MarketConditions m0Conditions = GetMarketConditions(0);
|
|
|
|
//
|
|
bool signal1 =
|
|
//
|
|
mConditions.xtrndInfo.l1hh == mConditions.xtrndInfo.l2hh &&
|
|
mConditions.xtrndInfo.l1hh == mConditions.xtrndInfo.l3hh &&
|
|
mConditions.xtrndInfo.l1hh == mConditions.xpvInfo.peak &&
|
|
//
|
|
c0AppliedPrice == mConditions.xtrndInfo.l1hh
|
|
// &&
|
|
//
|
|
// mConditions.xmrbInfo.isFastUnderSlow
|
|
//
|
|
;
|
|
|
|
//
|
|
if (signal1)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(XPVF),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1.5;
|
|
mConditions.signal.riskAmount = 0.0001;
|
|
mConditions.signal.mode = X_ORDER_MODE_STOP;
|
|
mConditions.signal.entry = mConditions.xpvInfo.fl1;
|
|
mConditions.signal.sl = mConditions.xtrndInfo.l1hh;
|
|
mConditions.signal.tp = mConditions.xpvInfo.fl3;
|
|
}
|
|
|
|
//
|
|
double minVerifier = MathMin(m0Conditions.xhullInfo.up, m0Conditions.xhullInfo.down);
|
|
minVerifier = MathMin(minVerifier, m0Conditions.xmrbInfo.fast);
|
|
minVerifier = MathMin(minVerifier, m0Conditions.xmrbInfo.slow);
|
|
minVerifier = MathMin(minVerifier, m0Conditions.xsslcInfo.up);
|
|
minVerifier = MathMin(minVerifier, m0Conditions.xsslcInfo.down);
|
|
|
|
//
|
|
bool signal2 =
|
|
//
|
|
(mConditions.xsslcInfo.isBearish &&
|
|
mConditions.xmrbInfo.isFastUnderSlow &&
|
|
mConditions.xhullInfo.isUpBearish &&
|
|
mConditions.xhullInfo.isDownBearish)
|
|
//
|
|
&&
|
|
//
|
|
!(m0Conditions.xsslcInfo.isBearish &&
|
|
m0Conditions.xmrbInfo.isFastUnderSlow &&
|
|
m0Conditions.xhullInfo.isUpBearish &&
|
|
m0Conditions.xhullInfo.isDownBearish)
|
|
//
|
|
&&
|
|
//
|
|
(mConditions.xtrndInfo.isTrendBearish &&
|
|
(mConditions.xtrndInfo.isL1TrendBearish ||
|
|
mConditions.xtrndInfo.isL2TrendBearish))
|
|
//
|
|
&&
|
|
//
|
|
c1.high < minVerifier
|
|
//
|
|
;
|
|
|
|
//
|
|
if (signal2)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(XCHNL),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1.5;
|
|
mConditions.signal.riskAmount = 0.0001;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = mConditions.xpvInfo.peak;
|
|
mConditions.signal.tp = mConditions.xpvInfo.vale;
|
|
}
|
|
|
|
//
|
|
bool signal3 =
|
|
//
|
|
mConditions.xtrndInfo.isL3TrendSwitchedToBearish
|
|
//
|
|
;
|
|
|
|
//
|
|
if (signal3)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(XTRND),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1.5;
|
|
mConditions.signal.riskAmount = 0.0001;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = mConditions.xtrndInfo.l3hh;
|
|
mConditions.signal.tp = mConditions.xtrndInfo.l3ll;
|
|
}
|
|
|