last ...
This commit is contained in:
@@ -182,6 +182,9 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
RedrawOrderFlow();
|
||||
|
||||
//
|
||||
XPVPivot lastPivot;
|
||||
result = GetLastItem(
|
||||
@@ -192,11 +195,6 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
{
|
||||
return result;
|
||||
}
|
||||
XPOIState pivotState;
|
||||
DetectPivotPOIs(
|
||||
lastPivot,
|
||||
pivotState //
|
||||
);
|
||||
|
||||
//
|
||||
// Prepare Areas ...
|
||||
@@ -244,16 +242,32 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
if (isCHOCHHappens)
|
||||
{
|
||||
//
|
||||
DrawStateSwings(_5MState);
|
||||
// When Chouch Happens we Have to Destry Order Flow and
|
||||
// Clean another ...
|
||||
|
||||
//
|
||||
Print("CHOCH ...");
|
||||
|
||||
//
|
||||
result = false;
|
||||
ResetOrderFlow();
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
if (isBOSHappens)
|
||||
{
|
||||
//
|
||||
DrawStateSwings(_5MState);
|
||||
// When Chouch Happens we Have to Destry Order Flow and
|
||||
// Clean another ...
|
||||
|
||||
//
|
||||
Print("BOS ...");
|
||||
|
||||
//
|
||||
result = false;
|
||||
ResetOrderFlow();
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -486,52 +500,6 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
mOrderFlowDir //
|
||||
);
|
||||
|
||||
//
|
||||
int orderFlowCount = ArraySize(mOrderFlow);
|
||||
if (IsValidSize(orderFlowCount))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < orderFlowCount; i++)
|
||||
{
|
||||
//
|
||||
XPVPivot iPivot = mOrderFlow[i];
|
||||
|
||||
//
|
||||
XCXPVPivotObject *iObj;
|
||||
iObj = new XCXPVPivotObject();
|
||||
bool isCreated = iObj.Create(
|
||||
mPOIDrawer.ChartIdentification(),
|
||||
mPOIDrawer.SubWindowIdentification(),
|
||||
iPivot //
|
||||
);
|
||||
if (isCreated)
|
||||
{
|
||||
//
|
||||
if (iPivot.IsPeak())
|
||||
{
|
||||
//
|
||||
iObj.PivotWidth(1);
|
||||
iObj.PivotFill(false);
|
||||
iObj.PivotColor(clrAqua);
|
||||
iObj.PivotStyle(STYLE_SOLID);
|
||||
}
|
||||
|
||||
//
|
||||
if (iPivot.IsVale())
|
||||
{
|
||||
//
|
||||
iObj.PivotWidth(1);
|
||||
iObj.PivotFill(false);
|
||||
iObj.PivotStyle(STYLE_SOLID);
|
||||
iObj.PivotColor(clrMagenta);
|
||||
}
|
||||
|
||||
//
|
||||
AddObjectIfNotExists(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
result = IsValidSize(ArraySize(mOrderFlow));
|
||||
if (!result)
|
||||
@@ -844,301 +812,419 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
// Find State Inside Pivots and Attached Them to Pivot ...
|
||||
int orderFlowCount = ArraySize(mOrderFlow);
|
||||
if (IsValidSize(orderFlowCount))
|
||||
{
|
||||
//
|
||||
bool lookupSwingHighs = true;
|
||||
bool lookupSwingLows = true;
|
||||
bool lookupSupportZones = true;
|
||||
bool lookupResistanceZones = true;
|
||||
bool lookupSupplyZones = true;
|
||||
bool lookupDemandZones = true;
|
||||
bool lookupBullishOrderBlocks = true;
|
||||
bool lookupBearishOrderBlocks = true;
|
||||
bool lookupBullishFairValueGaps = true;
|
||||
bool lookupBearishFairValueGaps = true;
|
||||
bool lookupBullishRejectionBars = true;
|
||||
bool lookupBearishRejectionBars = true;
|
||||
bool lookupBullishMomentumBars = true;
|
||||
bool lookupBearishMomentumBars = true;
|
||||
|
||||
//
|
||||
// Loop Through Order Flow ...
|
||||
for (int i = 0; i < orderFlowCount; i++)
|
||||
{
|
||||
//
|
||||
XPVPivot iPivot = mOrderFlow[i];
|
||||
|
||||
//
|
||||
// D1 ...
|
||||
XPOIState d1;
|
||||
if (_1DState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_1DState,
|
||||
d1,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (d1.HasChild())
|
||||
{
|
||||
d1.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// H4 ...
|
||||
XPOIState h4;
|
||||
if (_4HState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_4HState,
|
||||
h4,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (h4.HasChild())
|
||||
{
|
||||
h4.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// H2 ...
|
||||
XPOIState h2;
|
||||
if (_2HState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_2HState,
|
||||
h2,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (h2.HasChild())
|
||||
{
|
||||
h2.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// H1 ...
|
||||
XPOIState h1;
|
||||
if (_1HState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_1HState,
|
||||
h1,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (h1.HasChild())
|
||||
{
|
||||
h1.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// M15 ...
|
||||
XPOIState m15;
|
||||
if (_15MState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_15MState,
|
||||
m15,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (m15.HasChild())
|
||||
{
|
||||
m15.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// M5 ...
|
||||
XPOIState m5;
|
||||
if (_5MState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_5MState,
|
||||
m5,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (m5.HasChild())
|
||||
{
|
||||
m5.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// M1 ...
|
||||
XPOIState m1;
|
||||
if (_1MState.HasChild())
|
||||
{
|
||||
//
|
||||
DetectPivotPOIs(
|
||||
iPivot,
|
||||
_1MState,
|
||||
m1,
|
||||
lookupSwingHighs,
|
||||
lookupSwingLows,
|
||||
lookupSupportZones,
|
||||
lookupResistanceZones,
|
||||
lookupSupplyZones,
|
||||
lookupDemandZones,
|
||||
lookupBullishOrderBlocks,
|
||||
lookupBearishOrderBlocks,
|
||||
lookupBullishFairValueGaps,
|
||||
lookupBearishFairValueGaps,
|
||||
lookupBullishRejectionBars,
|
||||
lookupBearishRejectionBars,
|
||||
lookupBullishMomentumBars,
|
||||
lookupBearishMomentumBars //
|
||||
);
|
||||
|
||||
//
|
||||
if (m1.HasChild())
|
||||
{
|
||||
m1.Fill(mOrderFlow[i].state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
void DetectPivotPOIs(
|
||||
XPVPivot &pivot,
|
||||
XPOIState &state,
|
||||
bool lookupSwingHighs = true,
|
||||
bool lookupSwingLows = true,
|
||||
bool lookupSupportZones = true,
|
||||
bool lookupResistanceZones = true,
|
||||
bool lookupSupplyZones = true,
|
||||
bool lookupDemandZones = true,
|
||||
bool lookupBullishOrderBlocks = true,
|
||||
bool lookupBearishOrderBlocks = true,
|
||||
bool lookupBullishFairValueGaps = true,
|
||||
bool lookupBearishFairValueGaps = true,
|
||||
bool lookupBullishRejectionBars = true,
|
||||
bool lookupBearishRejectionBars = true,
|
||||
bool lookupBullishMomentumBars = true,
|
||||
bool lookupBearishMomentumBars = true //
|
||||
/**
|
||||
* Validate Order Flow ...
|
||||
*
|
||||
* @return ( bool )
|
||||
*/
|
||||
bool HasValidOrderFlow()
|
||||
{
|
||||
//
|
||||
bool result = false;
|
||||
|
||||
//
|
||||
int orderFlowCount = ArraySize(mOrderFlow);
|
||||
result =
|
||||
IsValidSize(orderFlowCount) &&
|
||||
mOrderFlowDir != X_DIRECTION_ALL &&
|
||||
mOrderFlowDir != X_DIRECTION_NONE;
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset Order Flow ...
|
||||
*/
|
||||
void ResetOrderFlow()
|
||||
{
|
||||
//
|
||||
Clean(mOrderFlow);
|
||||
mOrderFlowDir = X_DIRECTION_NONE;
|
||||
|
||||
//
|
||||
ClearDraws();
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw Order Flow ...
|
||||
*/
|
||||
void RedrawOrderFlow(
|
||||
bool forceClearDraws = true,
|
||||
bool drawOrderFlow = true,
|
||||
bool drawOrderFlowState = true,
|
||||
bool drawOnlyLastOrderFlow = false,
|
||||
bool drawOnlyLastOrderFlowState = true //
|
||||
)
|
||||
{
|
||||
//
|
||||
state.Clean();
|
||||
if (forceClearDraws)
|
||||
{
|
||||
ClearDraws();
|
||||
}
|
||||
|
||||
//
|
||||
if (!pivot.IsValid())
|
||||
if (!drawOrderFlow ||
|
||||
!HasValidOrderFlow())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
int count = 0;
|
||||
|
||||
//
|
||||
// Swings ...
|
||||
|
||||
//
|
||||
// Swing High ...
|
||||
if (lookupSwingHighs)
|
||||
int orderFlowCount = ArraySize(mOrderFlow);
|
||||
for (int i = 0; i < orderFlowCount; i++)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.swingHighs);
|
||||
if (IsValidSize(count))
|
||||
bool isLast = i == orderFlowCount - 1;
|
||||
bool canDraw =
|
||||
!drawOnlyLastOrderFlow ||
|
||||
(isLast &&
|
||||
drawOnlyLastOrderFlow);
|
||||
if (!canDraw)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
XPVPivot iPivot = mOrderFlow[i];
|
||||
|
||||
//
|
||||
XCXPVPivotObject *iObj;
|
||||
iObj = new XCXPVPivotObject();
|
||||
bool isCreated = iObj.Create(
|
||||
mPOIDrawer.ChartIdentification(),
|
||||
mPOIDrawer.SubWindowIdentification(),
|
||||
iPivot //
|
||||
);
|
||||
if (isCreated)
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
bool canDrawState =
|
||||
drawOrderFlowState &&
|
||||
(!drawOnlyLastOrderFlowState ||
|
||||
(isLast &&
|
||||
drawOnlyLastOrderFlowState));
|
||||
if (canDrawState)
|
||||
{
|
||||
CustomStateDrawing(iPivot.state);
|
||||
}
|
||||
|
||||
//
|
||||
if (iPivot.IsPeak())
|
||||
{
|
||||
//
|
||||
XCSwing iSwing = state.swingHighs[i];
|
||||
iObj.PivotWidth(1);
|
||||
iObj.PivotFill(false);
|
||||
iObj.PivotColor(clrAqua);
|
||||
iObj.PivotStyle(STYLE_SOLID);
|
||||
}
|
||||
|
||||
//
|
||||
if (iPivot.IsVale())
|
||||
{
|
||||
//
|
||||
|
||||
iObj.PivotWidth(1);
|
||||
iObj.PivotFill(false);
|
||||
iObj.PivotStyle(STYLE_SOLID);
|
||||
iObj.PivotColor(clrMagenta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Swing Low ...
|
||||
if (lookupSwingLows)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.swingLows);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Support and Resistance Zones ...
|
||||
|
||||
//
|
||||
// Support Zones ...
|
||||
if (lookupSupportZones)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.supportZones);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Resistance Zones ...
|
||||
if (lookupResistanceZones)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.resistanceZones);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Supply and Demand Zones ...
|
||||
|
||||
//
|
||||
// Supply Zones ...
|
||||
if (lookupSupplyZones)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.supplyZones);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Demand Zones ...
|
||||
if (lookupDemandZones)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.demandZones);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Order Blocks ...
|
||||
|
||||
//
|
||||
// Bullish Order Blocks ...
|
||||
if (lookupBullishOrderBlocks)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bullishOrderBlocks);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Bearish Order Blocks ...
|
||||
if (lookupBearishOrderBlocks)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bearishOrderBlocks);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Fair Value Gaps ...
|
||||
|
||||
//
|
||||
// Bullish Fair Value Gaps ...
|
||||
if (lookupBullishFairValueGaps)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bullishFairValueGaps);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Bearish Fair Value Gaps ...
|
||||
if (lookupBearishFairValueGaps)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bearishFairValueGaps);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Rejection Bars ...
|
||||
|
||||
//
|
||||
// Bullish Rejection Bars ...
|
||||
if (lookupBullishRejectionBars)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bullishRejectionBars);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Bearish Rejection Bars ...
|
||||
if (lookupBearishRejectionBars)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bearishRejectionBars);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Momentum Bars ...
|
||||
|
||||
//
|
||||
// Bullish Momentum Bars ...
|
||||
if (lookupBullishMomentumBars)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bullishMomentumBars);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Bearish Momenum Bars ...
|
||||
if (lookupBearishMomentumBars)
|
||||
{
|
||||
//
|
||||
count = ArraySize(state.bearishMomentumBars);
|
||||
if (IsValidSize(count))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
}
|
||||
AddObjectIfNotExists(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function fulfills the will of the developer
|
||||
* @param state: Argument 1
|
||||
* Custom Drawing State ...
|
||||
*
|
||||
* @param state: XPOIState instance reference, Specified Which state to Draw ...
|
||||
*/
|
||||
void DrawStateSwings(XPOIState &state)
|
||||
void CustomStateDrawing(XPOIState &state)
|
||||
{
|
||||
//
|
||||
DrawState(
|
||||
state, // State ...
|
||||
true, // Draw SwingHighs ..
|
||||
true, // Draw SwingLows ..
|
||||
true, // Update To of all Drawings Till now ...
|
||||
false, // Draw SwingHighs ..
|
||||
false, // Draw SwingLows ..
|
||||
false, // Draw SupportZones ..
|
||||
false, // Draw ResistanceZones ..
|
||||
false, // Draw SupplyZones ..
|
||||
false, // Draw DemandZones ..
|
||||
true, // Draw BullishOrderBlocks ..
|
||||
true, // Draw BearishOrderBlocks ..
|
||||
true, // Draw BullishFairValueGaps ..
|
||||
true, // Draw BearishFairValueGaps ..
|
||||
true, // Draw BullishRejectionBars ..
|
||||
true, // Draw BearishRejectionBars ..
|
||||
true, // Draw BullishMomentumBars ..
|
||||
true // Draw BearishMomentumBars ..
|
||||
false, // Draw BullishFairValueGaps ..
|
||||
false, // Draw BearishFairValueGaps ..
|
||||
false, // Draw BullishRejectionBars ..
|
||||
false, // Draw BearishRejectionBars ..
|
||||
false, // Draw BullishMomentumBars ..
|
||||
false // Draw BearishMomentumBars ..
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1237,9 +1323,9 @@ class XCX121SMCTestStrategy : public XCX121SMCBaseStrategy
|
||||
x3vwapInputs.Default();
|
||||
|
||||
//
|
||||
x3vwapInputs.showFast = false;
|
||||
x3vwapInputs.showMid = false;
|
||||
x3vwapInputs.showSlow = false;
|
||||
x3vwapInputs.showFast = true;
|
||||
x3vwapInputs.showMid = true;
|
||||
x3vwapInputs.showSlow = true;
|
||||
|
||||
//
|
||||
x3vwapHelper = new XCX3VWAPHelper();
|
||||
|
||||
Reference in New Issue
Block a user