add supports for XASCT in mCycle ...
This commit is contained in:
+78
-26
@@ -25,8 +25,10 @@
|
||||
//
|
||||
#include "../Classes/x-saherelm.x121.xea.class.mq5"
|
||||
#include "../Signallers/x-saherelm.x92.signaller.class.mq5"
|
||||
#include "../Signallers/x-saherelm.xsp.signaller.class.mq5"
|
||||
#include "../Signallers/x-saherelm.x110.signaller.class.mq5"
|
||||
#include "../Signallers/x-saherelm.x121.signaller.class.mq5"
|
||||
#include "../Signallers/x-saherelm.x128.signaller.class.mq5"
|
||||
#include "../Signallers/x-saherelm.x786.signaller.class.mq5"
|
||||
|
||||
//
|
||||
@@ -41,11 +43,6 @@ input string x121EASymbols = "EURUSDb"; // Symbols
|
||||
//
|
||||
input bool x121EAAllowLong = true; // Allow Long Trades
|
||||
input bool x121EAAllowShort = true; // Allow Short Trades
|
||||
input int x121EAManageInterval = 0; // Manager Check Intervals Seconds
|
||||
input int x121EAMaxAllowedPositions = 5; // Max Allowed Positions
|
||||
input double x121EAMaxAllowedSpread = 0; // Max Allowed Spred for Opening Trades
|
||||
input double x121EAMinProfitPerTrade = 0.6; // Min Profit Per Trade based On Volume Factor (Hedge)
|
||||
input double x121EAMinProfitPerVolumeFactor = 0.01; // Min Volume Factor for Calculating Profit (Hedge)
|
||||
input double x121EAMaxAllowedDrawdownFactor = 0.002; // Max Allowed Drawdown Factor
|
||||
input double x121EAVolume = 0.01; // Static Volume
|
||||
|
||||
@@ -229,33 +226,45 @@ bool InitialEA()
|
||||
// X786 Signaller ...
|
||||
X786Signaller *x786Signaller = new X786Signaller();
|
||||
x786Signaller.Default();
|
||||
x786Signaller.allowLong = x121EAAllowLong;
|
||||
x786Signaller.allowShort = x121EAAllowShort;
|
||||
x786Signaller.maxAllowedLong = 0;
|
||||
x786Signaller.maxAllowedShort = 0;
|
||||
x786Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x786Signaller.allowShort = false; // x121EAAllowShort;
|
||||
x786Signaller.maxAllowedOpenPositionAge = 0;
|
||||
x786Signaller.minRequiredProfitPerTrade = 1;
|
||||
x786Signaller.openNextPositionOnProfit = true;
|
||||
x786Signaller.minRequiredProfitPerTrade = 0;
|
||||
x786Signaller.openNextPositionOnProfit = false;
|
||||
x786Signaller.staticVolumeLong = x121EAVolume;
|
||||
x786Signaller.staticVolumeShort = x121EAVolume;
|
||||
x786Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// X121 Signaller ...
|
||||
X121Signaller *x121Signaller = new X121Signaller();
|
||||
x121Signaller.Default();
|
||||
x121Signaller.allowLong = x121EAAllowLong;
|
||||
x121Signaller.allowShort = x121EAAllowShort;
|
||||
x121Signaller.maxAllowedLong = 0;
|
||||
x121Signaller.maxAllowedShort = 0;
|
||||
x121Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x121Signaller.allowShort = false; // x121EAAllowShort;
|
||||
x121Signaller.maxAllowedOpenPositionAge = 0;
|
||||
x121Signaller.minRequiredProfitPerTrade = 1;
|
||||
x121Signaller.openNextPositionOnProfit = true;
|
||||
x121Signaller.minRequiredProfitPerTrade = 0;
|
||||
x121Signaller.openNextPositionOnProfit = false;
|
||||
x121Signaller.staticVolumeLong = x121EAVolume;
|
||||
x121Signaller.staticVolumeShort = x121EAVolume;
|
||||
x121Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// X110 Signaller ...
|
||||
X110Signaller *x110Signaller = new X110Signaller();
|
||||
x110Signaller.Default();
|
||||
x110Signaller.maxAllowedLong = 0;
|
||||
x110Signaller.maxAllowedShort = 0;
|
||||
x110Signaller.allowLong = x121EAAllowLong;
|
||||
x110Signaller.allowShort = x121EAAllowShort;
|
||||
x110Signaller.maxAllowedOpenPositionAge = 0;
|
||||
x110Signaller.minRequiredProfitPerTrade = 1;
|
||||
x110Signaller.openNextPositionOnProfit = true;
|
||||
x110Signaller.minRequiredProfitPerTrade = 0;
|
||||
x110Signaller.openNextPositionOnProfit = false;
|
||||
x110Signaller.staticVolumeLong = x121EAVolume;
|
||||
x110Signaller.staticVolumeShort = x121EAVolume;
|
||||
x110Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
@@ -264,29 +273,67 @@ bool InitialEA()
|
||||
x92Signaller.Default();
|
||||
x92Signaller.SetSymbol(iSymbol);
|
||||
x92Signaller.SetPeriod(iPeriod);
|
||||
x92Signaller.allowLong = x121EAAllowLong;
|
||||
x92Signaller.allowShort = x121EAAllowShort;
|
||||
x92Signaller.maxAllowedLong = 0;
|
||||
x92Signaller.maxAllowedShort = 0;
|
||||
x92Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x92Signaller.allowShort = false; // x121EAAllowShort;
|
||||
x92Signaller.maxAllowedOpenPositionAge = 0;
|
||||
x92Signaller.minRequiredProfitPerTrade = 1;
|
||||
x92Signaller.openNextPositionOnProfit = true;
|
||||
x92Signaller.minRequiredProfitPerTrade = 0;
|
||||
x92Signaller.openNextPositionOnProfit = false;
|
||||
x92Signaller.staticVolumeLong = x121EAVolume;
|
||||
x92Signaller.staticVolumeShort = x121EAVolume;
|
||||
x92Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// X128 Signaller ...
|
||||
X128Signaller *x128Signaller = new X128Signaller();
|
||||
x128Signaller.Default();
|
||||
x128Signaller.maxAllowedLong = 0;
|
||||
x128Signaller.maxAllowedShort = 0;
|
||||
x128Signaller.allowLong = false; // x121EAAllowLong;
|
||||
x128Signaller.allowShort = false; // x121EAAllowShort;
|
||||
x128Signaller.maxAllowedOpenPositionAge = 0;
|
||||
x128Signaller.minRequiredProfitPerTrade = 0;
|
||||
x128Signaller.openNextPositionOnProfit = false;
|
||||
x128Signaller.staticVolumeLong = x121EAVolume;
|
||||
x128Signaller.staticVolumeShort = x121EAVolume;
|
||||
x128Signaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
// XSP Signaller ...
|
||||
XSPSignaller *xSPSignaller = new XSPSignaller();
|
||||
xSPSignaller.Default();
|
||||
xSPSignaller.maxAllowedLong = 0;
|
||||
xSPSignaller.maxAllowedShort = 0;
|
||||
xSPSignaller.allowLong = false; // x121EAAllowLong;
|
||||
xSPSignaller.allowShort = false; // x121EAAllowShort;
|
||||
xSPSignaller.maxAllowedOpenPositionAge = 0;
|
||||
xSPSignaller.minRequiredProfitPerTrade = 0;
|
||||
xSPSignaller.openNextPositionOnProfit = false;
|
||||
xSPSignaller.staticVolumeLong = x121EAVolume;
|
||||
xSPSignaller.staticVolumeShort = x121EAVolume;
|
||||
xSPSignaller.delayBetweenTwoSameTypeSignals = 6;
|
||||
|
||||
//
|
||||
Clean(iDescriptor.signallers);
|
||||
|
||||
//
|
||||
int idx = 0;
|
||||
ArrayResize(iDescriptor.signallers, 4);
|
||||
ArrayResize(iDescriptor.signallers, 1);
|
||||
|
||||
//
|
||||
iDescriptor.signallers[idx] = x786Signaller;
|
||||
idx++;
|
||||
iDescriptor.signallers[idx] = x121Signaller;
|
||||
idx++;
|
||||
// iDescriptor.signallers[idx] = x786Signaller;
|
||||
// idx++;
|
||||
// iDescriptor.signallers[idx] = x121Signaller;
|
||||
// idx++;
|
||||
iDescriptor.signallers[idx] = x110Signaller;
|
||||
idx++;
|
||||
iDescriptor.signallers[idx] = x92Signaller;
|
||||
idx++;
|
||||
// iDescriptor.signallers[idx] = x92Signaller;
|
||||
// idx++;
|
||||
// iDescriptor.signallers[idx] = x128Signaller;
|
||||
// idx++;
|
||||
// iDescriptor.signallers[idx] = xSPSignaller;
|
||||
// idx++;
|
||||
|
||||
//
|
||||
// Set Inputs to Default ...
|
||||
@@ -342,6 +389,11 @@ void ConfigureDescriptor(
|
||||
X121ProviderDescriptor &iDescriptor //
|
||||
)
|
||||
{
|
||||
//
|
||||
// XASCT ...
|
||||
iDescriptor.inputs.asctInputs.showLongs = false;
|
||||
iDescriptor.inputs.asctInputs.showShorts = false;
|
||||
|
||||
//
|
||||
// XHK ...
|
||||
iDescriptor.inputs.hkInputs.drawHikenAshi = false;
|
||||
|
||||
Reference in New Issue
Block a user