last preparation of XCATB indicator, helper and tester EA ...

This commit is contained in:
2025-05-23 20:29:37 +03:30
parent 99f0e57d2e
commit 2f865670c5
10 changed files with 9267 additions and 4378 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+316
View File
@@ -0,0 +1,316 @@
//
// Market ...
ENUM_X_PERIOD_METHOD scMethod = X_PERIOD_AUTO; // How to Find Short Period
ENUM_TIMEFRAMES scPeriod = NULL; // Short Period
ENUM_X_PERIOD_METHOD mcMethod = X_PERIOD_AUTO; // How to Find Medium Period
ENUM_TIMEFRAMES mcPeriod = NULL; // Medium Period
ENUM_X_PERIOD_METHOD lcMethod = X_PERIOD_AUTO; // How to Find Long Period
ENUM_TIMEFRAMES lcPeriod = NULL; // Long Period
ENUM_X_PERIOD_METHOD hcMethod = X_PERIOD_AUTO; // How to Find Hind Period
ENUM_TIMEFRAMES hcPeriod = NULL; // Hind Period
ENUM_X_MARKET_CYCLES appliedCycle = X_MARKET_CYCLE_HIND; // Applied Cycle
//
// Signal ...
int signalR2R = 4; // Risk Reward Ratio
bool drawSignals = true; // Draw Signal
double slAtrMultiplier = 1.0; // ATR Multiplier for SL
//
// Validating ...
bool forceHasSwing = false; // Force Blocks to Have Swing
bool forceObBarType = false; // Force Block Has Reversal Bar
bool forceOBFVGBarType = false; // Force FVG Has Same Bars
bool forceHasFLiquidity = false; // Force Blocks to Have Following Liquidity
bool forceHasRLiquidity = false; // Force Blocks to Have Reversal Liquidity
bool validateGapSequence = false; // Validate Block's Gap Sequence
bool validateBlockEdgeBreakout = false; // Validate Block's Edge Breakout
//
// Filtering ...
bool filterBasedOnPV = false; // Filter Based on Peak and Vale
bool filterBasedOnSar = false; // Filter Based on Sar
bool filterBasedOnRSI = false; // Filter Based on RSI
bool filterBasedOnADX = false; // Filter Based on ADX
bool filterBasedOnATR = false; // Filter Based on ATR
bool filterBasedOnTrend = false; // Filter Based on Trend
bool filterBasedOnDelta = false; // Filter Based on Delta
bool filterBasedOnVolume = false; // Filter Based on Volume
bool filterBasedOnSignalBar = false; // Filter Based on Signal Bar
bool filterBasedOnHKSignalBar = false; // Filter Based on Hiken Ashi Signal Bar
//
// Alert ...
string mAlertPrefix = ""; // Alert Prefix
bool _logAlerts = true; // Log Alerts
bool _pushAlerts = false; // Push Alerts
bool _mailAlerts = false; // Mail Alerts
bool _terminalAlerts = true; // Terminal Alerts
//
// Presentation ...
bool showBars = true; // Show Bars
bool showPV = false; // Show PV
bool showPVGolden = false; // Show PV Golden
bool showSar = false; // Show Sar
bool showTrend = false; // Show Trend
bool showATRBand = false; // Show ATR Band
bool showTrendBars = false; // Show Trend Bars
bool showSignalBars = false; // Show Signal Bars
bool showHKSignalBars = false; // Show Hiken Ashi Signal Bars
//
int startCalculationForLastBars = 1500; // Calculate Last n Bars
/////////////////////////////////////////////////////////////////
//
// Market ...
ENUM_X_PERIOD_METHOD scMethod; // How to Find Short Period
ENUM_TIMEFRAMES scPeriod; // Short Period
ENUM_X_PERIOD_METHOD mcMethod; // How to Find Medium Period
ENUM_TIMEFRAMES mcPeriod; // Medium Period
ENUM_X_PERIOD_METHOD lcMethod; // How to Find Long Period
ENUM_TIMEFRAMES lcPeriod; // Long Period
ENUM_X_PERIOD_METHOD hcMethod; // How to Find Hind Period
ENUM_TIMEFRAMES hcPeriod; // Hind Period
ENUM_X_MARKET_CYCLES appliedCycle; // Applied Cycle
//
// Signal ...
int signalR2R; // Risk Reward Ratio
bool drawSignals; // Draw Signal
double slAtrMultiplier; // ATR Multiplier for SL
//
// Validating ...
bool forceHasSwing; // Force Blocks to Have Swing
bool forceObBarType; // Force Block Has Reversal Bar
bool forceOBFVGBarType; // Force FVG Has Same Bars
bool forceHasFLiquidity; // Force Blocks to Have Following Liquidity
bool forceHasRLiquidity; // Force Blocks to Have Reversal Liquidity
bool validateGapSequence; // Validate Block's Gap Sequence
bool validateBlockEdgeBreakout; // Validate Block's Edge Breakout
//
// Filtering ...
bool filterBasedOnPV; // Filter Based on Peak and Vale
bool filterBasedOnSar; // Filter Based on Sar
bool filterBasedOnRSI; // Filter Based on RSI
bool filterBasedOnADX; // Filter Based on ADX
bool filterBasedOnATR; // Filter Based on ATR
bool filterBasedOnTrend; // Filter Based on Trend
bool filterBasedOnDelta; // Filter Based on Delta
bool filterBasedOnVolume; // Filter Based on Volume
bool filterBasedOnSignalBar; // Filter Based on Signal Bar
bool filterBasedOnHKSignalBar; // Filter Based on Hiken Ashi Signal Bar
//
// Alert ...
string alertPrefix; // Alert Prefix
bool logAlerts; // Log Alerts
bool pushAlerts; // Push Alerts
bool mailAlerts; // Mail Alerts
bool terminalAlerts; // Terminal Alerts
//
// Presentation ...
bool showBars; // Show Bars
bool showPV; // Show PV
bool showPVGolden; // Show PV Golden
bool showSar; // Show Sar
bool showTrend; // Show Trend
bool showATRBand; // Show ATR Band
bool showTrendBars; // Show Trend Bars
bool showSignalBars; // Show Signal Bars
bool showHKSignalBars; // Show Hiken Ashi Signal Bars
//
int startCalculationForLastBars; // Calculate Last n Bars
//////////////////////////////////////////////////////////////////////
//
// Market ...
scMethod = X_PERIOD_AUTO; // How to Find Short Period
scPeriod = NULL; // Short Period
mcMethod = X_PERIOD_AUTO; // How to Find Medium Period
mcPeriod = NULL; // Medium Period
lcMethod = X_PERIOD_AUTO; // How to Find Long Period
lcPeriod = NULL; // Long Period
hcMethod = X_PERIOD_AUTO; // How to Find Hind Period
hcPeriod = NULL; // Hind Period
appliedCycle = X_MARKET_CYCLE_HIND; // Applied Cycle
//
// Signal ...
signalR2R = 4; // Risk Reward Ratio
drawSignals = true; // Draw Signal
slAtrMultiplier = 1.0; // ATR Multiplier for SL
//
// Validating ...
forceHasSwing = false; // Force Blocks to Have Swing
forceObBarType = false; // Force Block Has Reversal Bar
forceOBFVGBarType = false; // Force FVG Has Same Bars
forceHasFLiquidity = false; // Force Blocks to Have Following Liquidity
forceHasRLiquidity = false; // Force Blocks to Have Reversal Liquidity
validateGapSequence = false; // Validate Block's Gap Sequence
validateBlockEdgeBreakout = false; // Validate Block's Edge Breakout
//
// Filtering ...
filterBasedOnPV = false; // Filter Based on Peak and Vale
filterBasedOnSar = false; // Filter Based on Sar
filterBasedOnRSI = false; // Filter Based on RSI
filterBasedOnADX = false; // Filter Based on ADX
filterBasedOnATR = false; // Filter Based on ATR
filterBasedOnTrend = false; // Filter Based on Trend
filterBasedOnDelta = false; // Filter Based on Delta
filterBasedOnVolume = false; // Filter Based on Volume
filterBasedOnSignalBar = false; // Filter Based on Signal Bar
filterBasedOnHKSignalBar = false; // Filter Based on Hiken Ashi Signal Bar
//
// Alert ...
mAlertPrefix = ""; // Alert Prefix
_logAlerts = true; // Log Alerts
_pushAlerts = false; // Push Alerts
_mailAlerts = false; // Mail Alerts
_terminalAlerts = true; // Terminal Alerts
//
// Presentation ...
showBars = true; // Show Bars
showPV = false; // Show PV
showPVGolden = false; // Show PV Golden
showSar = false; // Show Sar
showTrend = false; // Show Trend
showATRBand = false; // Show ATR Band
showTrendBars = false; // Show Trend Bars
showSignalBars = false; // Show Signal Bars
showHKSignalBars = false; // Show Hiken Ashi Signal Bars
//
startCalculationForLastBars = 1500; // Calculate Last n Bars
//////////////////////////////////////////////////////////////////////////////
X121_XCATB_SAR_LINE
sarBuffer
X121_XCATB_SAR_STATE_LINE
sarStateBuffer
X121_XCATB_PEAK_LINE
peakBuffer
X121_XCATB_VALE_LINE
valeBuffer
X121_XCATB_PEAK_GOLDEN_LINE
peakGoldenBuffer
X121_XCATB_VALE_GOLDEN_LINE
valeGoldenBuffer
X121_XCATB_ATR_BAND_UPPER_LINE
atrUpperBuffer
X121_XCATB_ATR_BAND_LOWER_LINE
atrLowerBuffer
X121_XCATB_TREND_LINE
trendBuffer
X121_XCATB_TREND_STATE_LINE
trendStateBuffer
X121_XCATB_SBAR_O_LINE
sBarOpenSBuffer
X121_XCATB_SBAR_C_LINE
sBarCloseBuffer
X121_XCATB_HK_SBAR_O_LINE
hkSBarOpenBuffer
X121_XCATB_HK_SBAR_C_LINE
hkSBarCloseBuffer
X121_XCATB_S_HH_LINE
sHHBuffer
X121_XCATB_S_LL_LINE
sLLBuffer
X121_XCATB_M_HH_LINE
mHHBuffer
X121_XCATB_M_LL_LINE
mLLBuffer
X121_XCATB_L_HH_LINE
lHHBuffer
X121_XCATB_L_LL_LINE
lLLBuffer
X121_XCATB_H_HH_LINE
hHHBuffer
X121_XCATB_H_LL_LINE
hLLBuffer
X121_XCATB_RSI_LINE
rsiBuffer
X121_XCATB_ADX_LINE
adxBuffer
X121_XCATB_ADXP_LINE
adxpBuffer
X121_XCATB_ADXN_LINE
adxnBuffer
X121_XCATB_DELTA_LINE
deltaBuffer
X121_XCATB_DELTA_SIGNAL_LINE
deltaSignalBuffer
X121_XCATB_VOLUME_BULLISH_LINE
bullishVolumeBuffer
X121_XCATB_VOLUME_BEARISH_LINE
bearishVolumeBuffer
X121_XCATB_VOLUME_VOLUME_BULLISH_SIGNAL_LINE
bullishVolumeSignalBuffer
X121_XCATB_VOLUME_VOLUME_BEARISH_SIGNAL_LINE
bearishVolumeSignalBuffer
X121_XCATB_ATR_LINE
atrBuffer
X121_XCATB_ATR_BAND_RAW_UPPER_LINE
atrUpperBuffer
X121_XCATB_ATR_BAND_RAW_LOWER_LINE
atrLowerBuffer
X121_XCATB_HK_BAR_O_LINE
hkOpenBuffer
X121_XCATB_HK_BAR_H_LINE
hkHighBuffer
X121_XCATB_HK_BAR_L_LINE
hkLowBuffer
X121_XCATB_HK_BAR_C_LINE
hkCloseBuffer
File diff suppressed because it is too large Load Diff