last ...
This commit is contained in:
@@ -1736,6 +1736,265 @@ struct X121ProviderDescriptor
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Try to Normalize SL and TP ...
|
||||
|
||||
//
|
||||
// For Longs ...
|
||||
if (hasLong) {
|
||||
//
|
||||
// Collect all Verifications SLs ...
|
||||
|
||||
//
|
||||
double sls[];
|
||||
double tps[];
|
||||
|
||||
//
|
||||
// Current Market ...
|
||||
|
||||
//
|
||||
if (cLNSL > 0) {
|
||||
//
|
||||
Add(
|
||||
cLNSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (cLNTP > 0) {
|
||||
//
|
||||
Add(
|
||||
cLNTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Short Market ...
|
||||
|
||||
//
|
||||
if (sLNSL > 0) {
|
||||
//
|
||||
Add(
|
||||
sLNSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (sLNTP > 0) {
|
||||
//
|
||||
Add(
|
||||
sLNTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Medium Market ...
|
||||
|
||||
//
|
||||
if (mLNSL > 0) {
|
||||
//
|
||||
Add(
|
||||
mLNSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (mLNTP > 0) {
|
||||
//
|
||||
Add(
|
||||
mLNTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Long Market ...
|
||||
|
||||
//
|
||||
if (lLNSL > 0) {
|
||||
//
|
||||
Add(
|
||||
lLNSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (lLNTP > 0) {
|
||||
//
|
||||
Add(
|
||||
lLNTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Hind Market ...
|
||||
|
||||
//
|
||||
if (hLNSL > 0) {
|
||||
//
|
||||
Add(
|
||||
hLNSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (hLNTP > 0) {
|
||||
//
|
||||
Add(
|
||||
hLNTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Now Select Minimum SL ...
|
||||
if (IsValidSize(ArraySize(sls))) {
|
||||
slPrice = GetMin(sls);
|
||||
}
|
||||
|
||||
//
|
||||
// Average TP ...
|
||||
if (IsValidSize(ArraySize(tps))) {
|
||||
tpPrice = GetAverage(tps);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// For Shorts ...
|
||||
if (hasShort) {
|
||||
//
|
||||
// Collect all Verifications SLs ...
|
||||
|
||||
//
|
||||
double sls[];
|
||||
double tps[];
|
||||
|
||||
//
|
||||
// Current Market ...
|
||||
|
||||
//
|
||||
if (cSHSL > 0) {
|
||||
//
|
||||
Add(
|
||||
cSHSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (cSHTP > 0) {
|
||||
//
|
||||
Add(
|
||||
cSHTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Short Market ...
|
||||
|
||||
//
|
||||
if (sSHSL > 0) {
|
||||
//
|
||||
Add(
|
||||
sSHSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (sSHTP > 0) {
|
||||
//
|
||||
Add(
|
||||
sSHTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Medium Market ...
|
||||
|
||||
//
|
||||
if (mSHSL > 0) {
|
||||
//
|
||||
Add(
|
||||
mSHSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (mSHTP > 0) {
|
||||
//
|
||||
Add(
|
||||
mSHTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Long Market ...
|
||||
|
||||
//
|
||||
if (lSHSL > 0) {
|
||||
//
|
||||
Add(
|
||||
lSHSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (lSHTP > 0) {
|
||||
//
|
||||
Add(
|
||||
lSHTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Hind Market ...
|
||||
|
||||
//
|
||||
if (hSHSL > 0) {
|
||||
//
|
||||
Add(
|
||||
hSHSL,
|
||||
sls //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
if (hSHTP > 0) {
|
||||
//
|
||||
Add(
|
||||
hSHTP,
|
||||
tps //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Now Select Minimum SL ...
|
||||
if (IsValidSize(ArraySize(sls))) {
|
||||
slPrice = GetMin(sls);
|
||||
}
|
||||
|
||||
//
|
||||
// Average TP ...
|
||||
if (IsValidSize(ArraySize(tps))) {
|
||||
tpPrice = GetAverage(tps);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Generate Signal ...
|
||||
this.signal.Clean();
|
||||
|
||||
+41
-25
@@ -204,6 +204,39 @@ bool InitialEA()
|
||||
//
|
||||
mX121EA.SetAlertPrefix(ShortName);
|
||||
|
||||
//
|
||||
// Prepare Signallers ...
|
||||
|
||||
//
|
||||
// X786 Signaller ...
|
||||
X786Signaller *x786Signaller = new X786Signaller();
|
||||
x786Signaller.Default();
|
||||
x786Signaller.allowLong = x121EAAllowLong;
|
||||
x786Signaller.allowShort = x121EAAllowShort;
|
||||
x786Signaller.minRequiredProfitPerTrade = 0;
|
||||
x786Signaller.openNextPositionOnProfit = false;
|
||||
x786Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// X121 Signaller ...
|
||||
X121Signaller *x121Signaller = new X121Signaller();
|
||||
x121Signaller.Default();
|
||||
x121Signaller.allowLong = x121EAAllowLong;
|
||||
x121Signaller.allowShort = x121EAAllowShort;
|
||||
x121Signaller.minRequiredProfitPerTrade = 0;
|
||||
x121Signaller.openNextPositionOnProfit = false;
|
||||
x121Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// X110 Signaller ...
|
||||
X110Signaller *x110Signaller = new X110Signaller();
|
||||
x110Signaller.Default();
|
||||
x110Signaller.allowLong = x121EAAllowLong;
|
||||
x110Signaller.allowShort = x121EAAllowShort;
|
||||
x110Signaller.minRequiredProfitPerTrade = 0;
|
||||
x110Signaller.openNextPositionOnProfit = false;
|
||||
x110Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// Prepare Providers and Add them into mX121EA class ...
|
||||
for (int i = 0; i < symbolsCount; i++)
|
||||
@@ -222,36 +255,14 @@ bool InitialEA()
|
||||
iDescriptor.period = iPeriod;
|
||||
|
||||
//
|
||||
// Prepare Signallers ...
|
||||
// Attach Signallers ...
|
||||
|
||||
//
|
||||
Clean(iDescriptor.signallers);
|
||||
|
||||
//
|
||||
ArrayResize(iDescriptor.signallers, 3);
|
||||
|
||||
//
|
||||
// X786 Signaller ...
|
||||
X786Signaller *x786Signaller = new X786Signaller();
|
||||
x786Signaller.Default();
|
||||
x786Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x786Signaller.allowShort = false; // x121EAAllowShort;
|
||||
|
||||
//
|
||||
// X121 Signaller ...
|
||||
X121Signaller *x121Signaller = new X121Signaller();
|
||||
x121Signaller.Default();
|
||||
x121Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x121Signaller.allowShort = false; // x121EAAllowShort;
|
||||
|
||||
//
|
||||
// X110 Signaller ...
|
||||
X110Signaller *x110Signaller = new X110Signaller();
|
||||
x110Signaller.Default();
|
||||
x110Signaller.allowLong = x121EAAllowLong;
|
||||
x110Signaller.allowShort = x121EAAllowShort;
|
||||
x110Signaller.minRequiredProfitPerTrade = 1.5;
|
||||
x110Signaller.openNextPositionOnProfit = false;
|
||||
x110Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
iDescriptor.signallers[0] = x786Signaller;
|
||||
iDescriptor.signallers[1] = x121Signaller;
|
||||
@@ -1037,6 +1048,11 @@ void ApplyPreDefineConfigurations(X121ProviderDescriptor &iDescriptor)
|
||||
iDescriptor.inputs.pvInputs.showFibo4Levels = isX110;
|
||||
iDescriptor.inputs.pvInputs.showFibo5Levels = isX110;
|
||||
}
|
||||
|
||||
//
|
||||
iDescriptor.inputs.ichInputs.showKumo = true; // isX110;
|
||||
iDescriptor.inputs.ichInputs.showKijunSen = true; // isX110;
|
||||
iDescriptor.inputs.ichInputs.showTenkanSen = true; // isX110;
|
||||
}
|
||||
|
||||
//
|
||||
Reference in New Issue
Block a user