last ...
This commit is contained in:
@@ -84,6 +84,7 @@ input ENUM_X_MARKET_CYCLES appliedCycle = X_MARKET_CYCLE_HIND; // Applied Cycle
|
||||
// Signal ...
|
||||
input group "Signal";
|
||||
input int signalR2R = 4; // Risk Reward Ratio
|
||||
input bool drawSignals = true; // Draw Signal
|
||||
input double slAtrMultiplier = 1.0; // ATR Multiplier for SL
|
||||
|
||||
//
|
||||
@@ -2023,11 +2024,40 @@ void CalculateValues(
|
||||
has = DrawTriggerBlock(
|
||||
tb,
|
||||
mDrawer,
|
||||
mObjects //
|
||||
mObjects,
|
||||
NULL,
|
||||
drawSignals //
|
||||
);
|
||||
|
||||
//
|
||||
// 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 ...
|
||||
|
||||
@@ -260,6 +281,10 @@ bool DetectTriggerBlock(
|
||||
//
|
||||
// Custom Configs ...
|
||||
|
||||
//
|
||||
_r2r = 2;
|
||||
_slAtrMultiplier = 1;
|
||||
|
||||
//
|
||||
// Validators ...
|
||||
_forceHasSwing = true;
|
||||
@@ -270,7 +295,7 @@ bool DetectTriggerBlock(
|
||||
//
|
||||
_forceHasFLiquidity = false;
|
||||
_forceHasRLiquidity = false;
|
||||
_validateBlockEdgeBreakout = false;
|
||||
_validateBlockEdgeBreakout = true;
|
||||
|
||||
//
|
||||
// Filters ...
|
||||
@@ -280,12 +305,12 @@ bool DetectTriggerBlock(
|
||||
_filterBasedOnVolume = true;
|
||||
|
||||
//
|
||||
_filterBasedOnSar = false;
|
||||
_filterBasedOnSar = true;
|
||||
_filterBasedOnRSI = false;
|
||||
_filterBasedOnADX = false;
|
||||
_filterBasedOnTrend = false;
|
||||
_filterBasedOnSignalBar = false;
|
||||
_filterBasedOnHKSignalBar = false;
|
||||
_filterBasedOnSignalBar = true;
|
||||
_filterBasedOnHKSignalBar = true;
|
||||
|
||||
//
|
||||
tb.Clean();
|
||||
@@ -1062,6 +1087,12 @@ bool DetectTriggerBlock(
|
||||
targets,
|
||||
slAdditional //
|
||||
);
|
||||
|
||||
//
|
||||
Add(
|
||||
tb,
|
||||
mX121TriggerBlocks //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1078,8 +1109,9 @@ bool DrawTriggerBlock(
|
||||
XCPOIDrawer *drawer,
|
||||
CArrayObj &objects,
|
||||
datetime to = NULL,
|
||||
int rrZoneLength = 10,
|
||||
//
|
||||
bool _drawSignals = false,
|
||||
int rrZoneLength = 10,
|
||||
// Styles ...
|
||||
//
|
||||
// Trigger Block ...
|
||||
@@ -1331,7 +1363,8 @@ bool DrawTriggerBlock(
|
||||
|
||||
//
|
||||
// Draw RR of Signal ...
|
||||
if (trigger.signal.IsValid() &&
|
||||
if (_drawSignals &&
|
||||
trigger.signal.IsValid() &&
|
||||
rrZoneLength > 0)
|
||||
{
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user