last ...
This commit is contained in:
@@ -132,91 +132,11 @@ struct XTriggerBlock
|
||||
//
|
||||
};
|
||||
|
||||
//
|
||||
XTriggerBlock mX121TriggerBlocks[];
|
||||
|
||||
//
|
||||
int HasX121TriggerBlocks()
|
||||
{
|
||||
return HasChild(mX121TriggerBlocks);
|
||||
}
|
||||
|
||||
//
|
||||
int CountX121TriggerBlocks()
|
||||
{
|
||||
return ArraySize(mX121TriggerBlocks);
|
||||
}
|
||||
|
||||
//
|
||||
void CleanX121TriggerBlocks(int maxAllowed = 0)
|
||||
{
|
||||
//
|
||||
if (maxAllowed <= 0)
|
||||
{
|
||||
Clean(mX121TriggerBlocks);
|
||||
}
|
||||
else if (maxAllowed > 0)
|
||||
{
|
||||
//
|
||||
CleanupArray(
|
||||
mX121TriggerBlocks,
|
||||
maxAllowed //
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
bool GetNewestX121TriggerBlock(
|
||||
string forSymbol,
|
||||
ENUM_TIMEFRAMES forPeriod,
|
||||
XTriggerBlock &tb //
|
||||
)
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
tb.Clean();
|
||||
|
||||
//
|
||||
result =
|
||||
IsValid(forSymbol) &&
|
||||
IsValid(forPeriod) &&
|
||||
HasX121TriggerBlocks();
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Loop Through Trigger Blocks to Find Filtered Newest ...
|
||||
int count = CountX121TriggerBlocks();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
bool canSet = !tb.IsValid()
|
||||
? true
|
||||
: tb.ToIndex() < mX121TriggerBlocks[i].ToIndex();
|
||||
if (canSet)
|
||||
{
|
||||
tb = mX121TriggerBlocks[i];
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
result = tb.IsValid();
|
||||
if (!result)
|
||||
{
|
||||
tb.Clean();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Extensions ...
|
||||
|
||||
//
|
||||
// Detect Trigger Block ...
|
||||
bool DetectTriggerBlock(
|
||||
//
|
||||
string symbol,
|
||||
@@ -290,36 +210,36 @@ bool DetectTriggerBlock(
|
||||
//
|
||||
// Custom Configs ...
|
||||
|
||||
//
|
||||
_r2r = 2;
|
||||
_slAtrMultiplier = 1;
|
||||
// //
|
||||
// _r2r = 2;
|
||||
// _slAtrMultiplier = 1;
|
||||
|
||||
//
|
||||
// Validators ...
|
||||
_forceHasSwing = true;
|
||||
_forceObBarType = true;
|
||||
_forceFVGBarType = true;
|
||||
_validateGapSequence = true;
|
||||
// //
|
||||
// // Validators ...
|
||||
// _forceHasSwing = true;
|
||||
// _forceObBarType = true;
|
||||
// _forceFVGBarType = true;
|
||||
// _validateGapSequence = true;
|
||||
|
||||
//
|
||||
_forceHasFLiquidity = false;
|
||||
_forceHasRLiquidity = false;
|
||||
_validateBlockEdgeBreakout = true;
|
||||
// //
|
||||
// _forceHasFLiquidity = false;
|
||||
// _forceHasRLiquidity = false;
|
||||
// _validateBlockEdgeBreakout = true;
|
||||
|
||||
//
|
||||
// Filters ...
|
||||
_filterBasedOnPV = true;
|
||||
_filterBasedOnATR = true;
|
||||
_filterBasedOnDelta = true;
|
||||
_filterBasedOnVolume = true;
|
||||
// //
|
||||
// // Filters ...
|
||||
// _filterBasedOnPV = true;
|
||||
// _filterBasedOnATR = true;
|
||||
// _filterBasedOnDelta = true;
|
||||
// _filterBasedOnVolume = true;
|
||||
|
||||
//
|
||||
_filterBasedOnSar = true;
|
||||
_filterBasedOnRSI = false;
|
||||
_filterBasedOnADX = false;
|
||||
_filterBasedOnTrend = false;
|
||||
_filterBasedOnSignalBar = true;
|
||||
_filterBasedOnHKSignalBar = true;
|
||||
// //
|
||||
// _filterBasedOnSar = true;
|
||||
// _filterBasedOnRSI = false;
|
||||
// _filterBasedOnADX = false;
|
||||
// _filterBasedOnTrend = false;
|
||||
// _filterBasedOnSignalBar = true;
|
||||
// _filterBasedOnHKSignalBar = true;
|
||||
|
||||
//
|
||||
tb.Clean();
|
||||
@@ -1098,15 +1018,6 @@ bool DetectTriggerBlock(
|
||||
targets,
|
||||
slAdditional //
|
||||
);
|
||||
|
||||
//
|
||||
// Add Trigger Block to Collection
|
||||
// and Cleanup Unuseds ...
|
||||
AddRef(
|
||||
tb,
|
||||
mX121TriggerBlocks //
|
||||
);
|
||||
CleanX121TriggerBlocks(20);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user