last ...
This commit is contained in:
@@ -84,6 +84,7 @@ input ENUM_X_MARKET_CYCLES appliedCycle = X_MARKET_CYCLE_HIND; // Applied Cycle
|
|||||||
// Signal ...
|
// Signal ...
|
||||||
input group "Signal";
|
input group "Signal";
|
||||||
input int signalR2R = 4; // Risk Reward Ratio
|
input int signalR2R = 4; // Risk Reward Ratio
|
||||||
|
input bool drawSignals = true; // Draw Signal
|
||||||
input double slAtrMultiplier = 1.0; // ATR Multiplier for SL
|
input double slAtrMultiplier = 1.0; // ATR Multiplier for SL
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -2023,11 +2024,40 @@ void CalculateValues(
|
|||||||
has = DrawTriggerBlock(
|
has = DrawTriggerBlock(
|
||||||
tb,
|
tb,
|
||||||
mDrawer,
|
mDrawer,
|
||||||
mObjects //
|
mObjects,
|
||||||
|
NULL,
|
||||||
|
drawSignals //
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Alert ...
|
// Alert ...
|
||||||
|
bool canAlert =
|
||||||
|
mEnableAlerts &&
|
||||||
|
prevCalculated > 0;
|
||||||
|
bool canLogOnly =
|
||||||
|
mEnableAlerts &&
|
||||||
|
prevCalculated == 0;
|
||||||
|
if (has &&
|
||||||
|
(canAlert ||
|
||||||
|
canLogOnly))
|
||||||
|
{
|
||||||
|
//
|
||||||
|
string message =
|
||||||
|
tb.trigger.symbol + "," +
|
||||||
|
ToString(tb.trigger.period) + "> " +
|
||||||
|
ToString(tb.trigger.dir) +
|
||||||
|
" Zone Detected at: " + ToString(tb.trigger.to);
|
||||||
|
|
||||||
|
//
|
||||||
|
if (canLogOnly)
|
||||||
|
{
|
||||||
|
mAlert.LogAlert(message);
|
||||||
|
}
|
||||||
|
else if (canAlert)
|
||||||
|
{
|
||||||
|
mAlert.Alert(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -184,6 +184,27 @@ struct XTriggerBlock
|
|||||||
//
|
//
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
XTriggerBlock mX121TriggerBlocks[];
|
||||||
|
|
||||||
|
//
|
||||||
|
int HasX121TriggerBlocks()
|
||||||
|
{
|
||||||
|
return HasChild(mX121TriggerBlocks);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
int CountX121TriggerBlocks()
|
||||||
|
{
|
||||||
|
return ArraySize(mX121TriggerBlocks);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
void CleanX121TriggerBlocks()
|
||||||
|
{
|
||||||
|
Clean(mX121TriggerBlocks) l
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Extensions ...
|
// Extensions ...
|
||||||
|
|
||||||
@@ -260,6 +281,10 @@ bool DetectTriggerBlock(
|
|||||||
//
|
//
|
||||||
// Custom Configs ...
|
// Custom Configs ...
|
||||||
|
|
||||||
|
//
|
||||||
|
_r2r = 2;
|
||||||
|
_slAtrMultiplier = 1;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Validators ...
|
// Validators ...
|
||||||
_forceHasSwing = true;
|
_forceHasSwing = true;
|
||||||
@@ -270,7 +295,7 @@ bool DetectTriggerBlock(
|
|||||||
//
|
//
|
||||||
_forceHasFLiquidity = false;
|
_forceHasFLiquidity = false;
|
||||||
_forceHasRLiquidity = false;
|
_forceHasRLiquidity = false;
|
||||||
_validateBlockEdgeBreakout = false;
|
_validateBlockEdgeBreakout = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Filters ...
|
// Filters ...
|
||||||
@@ -280,12 +305,12 @@ bool DetectTriggerBlock(
|
|||||||
_filterBasedOnVolume = true;
|
_filterBasedOnVolume = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
_filterBasedOnSar = false;
|
_filterBasedOnSar = true;
|
||||||
_filterBasedOnRSI = false;
|
_filterBasedOnRSI = false;
|
||||||
_filterBasedOnADX = false;
|
_filterBasedOnADX = false;
|
||||||
_filterBasedOnTrend = false;
|
_filterBasedOnTrend = false;
|
||||||
_filterBasedOnSignalBar = false;
|
_filterBasedOnSignalBar = true;
|
||||||
_filterBasedOnHKSignalBar = false;
|
_filterBasedOnHKSignalBar = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
tb.Clean();
|
tb.Clean();
|
||||||
@@ -1062,6 +1087,12 @@ bool DetectTriggerBlock(
|
|||||||
targets,
|
targets,
|
||||||
slAdditional //
|
slAdditional //
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
Add(
|
||||||
|
tb,
|
||||||
|
mX121TriggerBlocks //
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -1078,8 +1109,9 @@ bool DrawTriggerBlock(
|
|||||||
XCPOIDrawer *drawer,
|
XCPOIDrawer *drawer,
|
||||||
CArrayObj &objects,
|
CArrayObj &objects,
|
||||||
datetime to = NULL,
|
datetime to = NULL,
|
||||||
int rrZoneLength = 10,
|
|
||||||
//
|
//
|
||||||
|
bool _drawSignals = false,
|
||||||
|
int rrZoneLength = 10,
|
||||||
// Styles ...
|
// Styles ...
|
||||||
//
|
//
|
||||||
// Trigger Block ...
|
// Trigger Block ...
|
||||||
@@ -1331,7 +1363,8 @@ bool DrawTriggerBlock(
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Draw RR of Signal ...
|
// Draw RR of Signal ...
|
||||||
if (trigger.signal.IsValid() &&
|
if (_drawSignals &&
|
||||||
|
trigger.signal.IsValid() &&
|
||||||
rrZoneLength > 0)
|
rrZoneLength > 0)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user