add supports for XASCT in mCycle ...

This commit is contained in:
2024-06-07 08:00:27 +03:30
parent f65fdcd14a
commit 6a0f803c1a
12 changed files with 1434 additions and 124 deletions
+59 -29
View File
@@ -54,9 +54,9 @@ public:
//
bool HasLongConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -73,6 +73,14 @@ public:
return result;
}
//
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
bool isCloseOverSenkouSpanA = conditions.bars[1].close > conditions.ichSenkouSpanAs[1];
@@ -148,22 +156,29 @@ public:
//
result =
//
condition1
//
||
//
condition2
//
||
//
// condition1
// //
// ||
// //
// condition2
// //
// ||
// //
condition3
//
||
//
condition4
// //
// ||
// //
// condition4
//
;
//
if (result)
{
result =
bullishScore > bearishScore;
}
//
if (result)
{
@@ -176,9 +191,9 @@ public:
//
bool HasShortConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -195,6 +210,14 @@ public:
return result;
}
//
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
bool isCloseUnderSenkouSpanB = conditions.bars[1].close < conditions.ichSenkouSpanBs[1];
@@ -270,21 +293,28 @@ public:
//
result =
//
condition1
//
||
//
condition2
//
||
// condition1
//
// ||
// //
// condition2
// //
// ||
// //
condition3
//
||
//
condition4
// //
// ||
// //
// condition4
//
;
//
if (result)
{
result =
bearishScore > bullishScore ;
}
//
if (result)
@@ -54,9 +54,9 @@ public:
//
bool HasLongConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -110,9 +110,9 @@ public:
//
bool HasShortConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -0,0 +1,149 @@
///////////////////////////////////////////////////////
//
// SaherElm IT Center MQL5 Class Library
// ----------------------------------------------
// Name: X128Signaller
// Description: Signalling using X121 rules ...
//
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////
//
// Global Properties ...
#property library
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
#property strict
//
// Imports ...
#include "../Libraries/x-saherelm.xtrade.lib.mq5"
#include "../Classes/x-saherelm.x121.xmcycle.class.mq5"
//
// Definitions ...
//
// Class ...
class X128Signaller : public XSignallerDescriptor
{
//
// Public ...
public:
//
// Props ...
//
// Constructor(s) ...
void X128Signaller()
{
//
name = X128;
Default();
}
//
// Deconstructor ...
void ~X128Signaller() {}
//
// Override(s) ...
//
bool HasLongConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
//
sl = 0;
tp = 0;
//
result = allowLong;
if (!result)
{
return result;
}
//
result =
//
false
//
;
//
if (result)
{
//
sl = 0;
}
//
return result;
}
//
bool HasShortConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
//
sl = 0;
tp = 0;
//
result = allowLong;
if (!result)
{
return result;
}
//
result =
//
false
//
;
//
if (result)
{
//
sl = 0;
}
//
return result;
}
//
// Protected ...
protected:
//
// Props ...
//
double lastPeakOnPeakTouched;
double lastValeOnPeakTouched;
datetime lastTouchedPeak;
//
double lastPeakOnValeTouched;
double lastValeOnValeTouched;
datetime lastTouchedVale;
};
+10 -10
View File
@@ -54,11 +54,11 @@ public:
// Override(s) ...
//
virtual bool HasLongConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
)
bool HasLongConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
@@ -116,11 +116,11 @@ public:
}
//
virtual bool HasShortConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
)
bool HasShortConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
@@ -67,9 +67,9 @@ public:
//
bool HasLongConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -153,9 +153,9 @@ public:
//
bool HasShortConditions(
const X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
@@ -196,7 +196,7 @@ public:
conditions.bars[1].IsResistanceRejected(lastUpper)
//
;
bool isBreaked =
bool isBreaked =
//
(conditions.bars[1].high < lastLower &&
conditions.bars[2].high < lastLower &&
@@ -0,0 +1,139 @@
///////////////////////////////////////////////////////
//
// SaherElm IT Center MQL5 Class Library
// ----------------------------------------------
// Name: XSPSignaller
// Description: Signalling using X121 rules ...
//
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////
//
// Global Properties ...
#property library
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
#property strict
//
// Imports ...
#include "../Libraries/x-saherelm.xtrade.lib.mq5"
#include "../Classes/x-saherelm.x121.xmcycle.class.mq5"
//
// Definitions ...
//
// Class ...
class XSPSignaller : public XSignallerDescriptor
{
//
// Public ...
public:
//
// Props ...
//
// Constructor(s) ...
void XSPSignaller()
{
//
name = XSP;
Default();
}
//
// Deconstructor ...
void ~XSPSignaller() {}
//
// Override(s) ...
//
bool HasLongConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
//
sl = 0;
tp = 0;
//
result = allowLong;
if (!result)
{
return result;
}
//
result =
//
false
//
;
//
if (result)
{
//
sl = 0;
}
//
return result;
}
//
bool HasShortConditions(
X121MCycleConditions &conditions, // Market Conditions
double &sl, // Hold SL ...
double &tp // Hold TP ...
) override
{
//
bool result = false;
//
sl = 0;
tp = 0;
//
result = allowLong;
if (!result)
{
return result;
}
//
result =
//
false
//
;
//
if (result)
{
//
sl = 0;
}
//
return result;
}
//
// Protected ...
protected:
//
// Props ...
};