247 lines
5.2 KiB
Plaintext
247 lines
5.2 KiB
Plaintext
//
|
|
bool x786HasSignal =
|
|
//
|
|
false
|
|
//
|
|
;
|
|
|
|
//
|
|
x786HasSignal = false;
|
|
if (x786HasSignal)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(X786),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1.5;
|
|
mConditions.signal.riskAmount = 0.005;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = mConditions.xcheInfo.shortExit2;
|
|
mConditions.signal.tp = 0;
|
|
|
|
//
|
|
mConditions.signal.calculateTP = true;
|
|
}
|
|
|
|
//
|
|
bool x110HasSignal =
|
|
//
|
|
isMRBSlowCrossedWithPVFL3 &&
|
|
mConditions.xtmInfo.isBearish
|
|
//
|
|
;
|
|
x110HasSignal = false;
|
|
if (x110HasSignal)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(X110),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1;
|
|
mConditions.signal.riskAmount = 0.005;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = mConditions.xcheInfo.shortExit2;
|
|
mConditions.signal.tp = 0;
|
|
|
|
//
|
|
mConditions.signal.ignoreSL = true;
|
|
mConditions.signal.calculateTP = true;
|
|
}
|
|
|
|
//
|
|
bool x128HasSignal =
|
|
//
|
|
isValeHappens &&
|
|
mConditions.xamaInfo.value < mConditions.xtmInfo.value
|
|
//
|
|
;
|
|
// x128HasSignal = false;
|
|
if (x128HasSignal)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(X128),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
double slPoint = 15;
|
|
double slPrice = PointToPrice(
|
|
mConditions.symbol,
|
|
slPoint);
|
|
double sl = entry + slPrice;
|
|
|
|
//
|
|
double tpPoint = 30;
|
|
double tpPrice = PointToPrice(
|
|
mConditions.symbol,
|
|
tpPoint);
|
|
double tp = entry - tpPrice;
|
|
|
|
//
|
|
mConditions.signal.r2r = 1;
|
|
mConditions.signal.riskAmount = 0.005;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = 0; // mConditions.xpvInfo.peak;
|
|
mConditions.signal.tp = tp;
|
|
|
|
//
|
|
mConditions.signal.ignoreSL = true;
|
|
mConditions.signal.useRiskAmountAsVolume = true;
|
|
}
|
|
|
|
//
|
|
// X786 Signal Provider ...
|
|
bool x786HasSignal =
|
|
//
|
|
mConditions.xpvInfo.peak > mConditions2.xpvInfo.peak
|
|
//
|
|
&&
|
|
//
|
|
// Chandelier Exit must provide Long Exit 1 && 2 ...
|
|
(
|
|
//
|
|
// 1
|
|
mConditions.xcheInfo.longExit1 != EMPTY_VALUE &&
|
|
mConditions.xcheInfo.longExit1 < c0SelectedPrice &&
|
|
// 2
|
|
mConditions.xcheInfo.longExit2 != EMPTY_VALUE &&
|
|
mConditions.xcheInfo.longExit2 < c0SelectedPrice &&
|
|
//
|
|
(mConditions.xcheInfo.longExit1 > mConditions2.xcheInfo.longExit1 ||
|
|
mConditions.xcheInfo.longExit2 > mConditions2.xcheInfo.longExit2)
|
|
//
|
|
)
|
|
//
|
|
&&
|
|
//
|
|
entry > mConditions.xdemaInfo.dema
|
|
// // entry > c0SelectedPrice &&
|
|
// // c0.close > c0.open &&
|
|
// c0SelectedPrice > c1.low + (GetCandleRange(c1) / 2)
|
|
// //
|
|
// // SSS ...
|
|
// //
|
|
// c1.low == mConditions.xpvInfo.vale &&
|
|
// mConditions.xpvInfo.vale != mConditions2.xpvInfo.vale &&
|
|
// c0SelectedPrice > c1.low
|
|
//
|
|
;
|
|
|
|
//
|
|
x786HasSignal = false;
|
|
if (x786HasSignal)
|
|
{
|
|
//
|
|
// disableX786Longs = true;
|
|
|
|
//
|
|
Add(
|
|
ToString(X786),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1.5;
|
|
mConditions.signal.riskAmount = 0.01;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = GetLowestLow(mSymbol, mPeriod, 2, 0); // mConditions.xcheInfo.longExit2;
|
|
mConditions.signal.tp = GetHighestHigh(mSymbol, mPeriod, 2, 0); // entry + PointToPrice(mConditions.symbol, 10);
|
|
|
|
//
|
|
mConditions.signal.ignoreTP = false;
|
|
mConditions.signal.calculateTP = false;
|
|
mConditions.signal.useRiskAmountAsVolume = true;
|
|
}
|
|
|
|
//
|
|
bool x110HasSignal =
|
|
//
|
|
isMRBFastCrossedWithPVFL3 &&
|
|
mConditions.xtmInfo.isBullish
|
|
//
|
|
;
|
|
x110HasSignal = false;
|
|
if (x110HasSignal)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(X110),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
mConditions.signal.r2r = 1;
|
|
mConditions.signal.riskAmount = 0.005;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = mConditions.xcheInfo.longExit2;
|
|
mConditions.signal.tp = 0;
|
|
|
|
//
|
|
mConditions.signal.ignoreSL = true;
|
|
mConditions.signal.calculateTP = true;
|
|
}
|
|
|
|
//
|
|
bool x128HasSignal =
|
|
//
|
|
isPeakHappens &&
|
|
mConditions.xamaInfo.value > mConditions.xtmInfo.value
|
|
//
|
|
;
|
|
// x128HasSignal = false;
|
|
if (x128HasSignal)
|
|
{
|
|
//
|
|
Add(
|
|
ToString(X128),
|
|
mConditions.signal.providers);
|
|
|
|
//
|
|
double slPoint = 15;
|
|
double slPrice = PointToPrice(
|
|
mConditions.symbol,
|
|
slPoint);
|
|
double sl = entry - slPrice;
|
|
|
|
//
|
|
double tpPoint = 30;
|
|
double tpPrice = PointToPrice(
|
|
mConditions.symbol,
|
|
tpPoint);
|
|
double tp = entry + tpPrice;
|
|
|
|
//
|
|
mConditions.signal.r2r = 1;
|
|
mConditions.signal.riskAmount = 0.01;
|
|
mConditions.signal.mode = X_ORDER_MODE_MARKET;
|
|
mConditions.signal.entry = entry;
|
|
mConditions.signal.sl = 0;
|
|
mConditions.signal.tp = tp;
|
|
|
|
//
|
|
mConditions.signal.ignoreSL = true;
|
|
mConditions.signal.useRiskAmountAsVolume = true;
|
|
}
|
|
|
|
//
|
|
result =
|
|
//
|
|
x786HasSignal
|
|
//
|
|
||
|
|
//
|
|
x110HasSignal
|
|
//
|
|
||
|
|
//
|
|
x128HasSignal
|
|
//
|
|
;
|