Last Works and Cleanup Workspace ...
This commit is contained in:
@@ -1,317 +0,0 @@
|
||||
//
|
||||
// Select a Supply Zone which Price is Inside it ...
|
||||
XZone aSupplyZone;
|
||||
XZone aSupplyZoneTrigger;
|
||||
bool hasSupplyZoneArroundCBar = false;
|
||||
bool hasTriggerSupplyZoneArroundCBar = false;
|
||||
int aSupplyZonesCount = ArraySize(_15MState.supplyZones);
|
||||
int aSupplyZonesTriggerCount = ArraySize(_5MState.supplyZones);
|
||||
if (!hasSupplyZoneArroundCBar ||
|
||||
!hasTriggerSupplyZoneArroundCBar)
|
||||
{
|
||||
for (int i = 0; i < aSupplyZonesCount; i++)
|
||||
{
|
||||
//
|
||||
XZone iZone = _15MState.supplyZones[i];
|
||||
|
||||
//
|
||||
bool canSetZone = (!hasSupplyZoneArroundCBar &&
|
||||
iZone.lower < cBar.low &&
|
||||
iZone.upper > cBar.high) ||
|
||||
(hasSupplyZoneArroundCBar &&
|
||||
aSupplyZone.lower < cBar.low &&
|
||||
aSupplyZone.upper > cBar.high &&
|
||||
iZone.lower < cBar.low &&
|
||||
iZone.upper > cBar.high &&
|
||||
iZone.GetRange() < aSupplyZone.GetRange());
|
||||
if (canSetZone &&
|
||||
!hasTriggerSupplyZoneArroundCBar &&
|
||||
IsValidSize(aSupplyZonesTriggerCount))
|
||||
{
|
||||
//
|
||||
for (int j = 0; j < aSupplyZonesTriggerCount; j++)
|
||||
{
|
||||
//
|
||||
XZone jZone = _5MState.supplyZones[j];
|
||||
|
||||
//
|
||||
bool canSetTriggerZone = (!hasTriggerSupplyZoneArroundCBar &&
|
||||
jZone.lower < cBar.low &&
|
||||
jZone.upper > cBar.high) ||
|
||||
(hasTriggerSupplyZoneArroundCBar &&
|
||||
aSupplyZoneTrigger.lower < cBar.low &&
|
||||
aSupplyZoneTrigger.upper > cBar.high &&
|
||||
jZone.lower < cBar.low &&
|
||||
jZone.upper > cBar.high &&
|
||||
jZone.GetRange() < aSupplyZoneTrigger.GetRange());
|
||||
if (canSetTriggerZone)
|
||||
{
|
||||
//
|
||||
iZone.to = cTime;
|
||||
jZone.to = cTime;
|
||||
aSupplyZone = iZone;
|
||||
aSupplyZoneTrigger = jZone;
|
||||
hasSupplyZoneArroundCBar = true;
|
||||
hasTriggerSupplyZoneArroundCBar = true;
|
||||
|
||||
//
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// XZone supplyZone;
|
||||
// int supplyZonesCount = ArraySize(_5MState.supplyZones);
|
||||
// bool hasSupplyZoneOverCBar = IsValidSize(supplyZonesCount);
|
||||
// if (hasSupplyZoneOverCBar)
|
||||
// {
|
||||
// //
|
||||
// hasSupplyZoneOverCBar = false;
|
||||
// for (int i = 0; i < supplyZonesCount; i++)
|
||||
// {
|
||||
// //
|
||||
// XZone iZone = _5MState.supplyZones[i];
|
||||
|
||||
// //
|
||||
// if (!hasSupplyZoneOverCBar &&
|
||||
// iZone.lower > cBar.high)
|
||||
// {
|
||||
// //
|
||||
// iZone.to = cTime;
|
||||
// supplyZone = iZone;
|
||||
// hasSupplyZoneOverCBar = true;
|
||||
|
||||
// // //
|
||||
// // break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
//
|
||||
XZone demandZone;
|
||||
int demandZonesCount = ArraySize(_5MState.demandZones);
|
||||
bool hasDemandZoneUnderCBar = IsValidSize(demandZonesCount);
|
||||
if (hasDemandZoneUnderCBar)
|
||||
{
|
||||
//
|
||||
hasDemandZoneUnderCBar = false;
|
||||
for (int i = 0; i < demandZonesCount; i++)
|
||||
{
|
||||
//
|
||||
XZone iZone = _5MState.demandZones[i];
|
||||
|
||||
//
|
||||
if (!hasDemandZoneUnderCBar &&
|
||||
iZone.upper < cBar.low)
|
||||
{
|
||||
//
|
||||
iZone.to = cTime;
|
||||
demandZone = iZone;
|
||||
hasDemandZoneUnderCBar = true;
|
||||
|
||||
//
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
XOHCL swingHigh;
|
||||
int swingHighsCount = ArraySize(_5MState.swingHighs);
|
||||
bool hasSwingHighOverCBar = IsValidSize(swingHighsCount);
|
||||
if (hasSwingHighOverCBar)
|
||||
{
|
||||
//
|
||||
hasSwingHighOverCBar = false;
|
||||
for (int i = 0; i < swingHighsCount; i++)
|
||||
{
|
||||
//
|
||||
XOHCL iBar = _5MState.swingHighs[i];
|
||||
|
||||
//
|
||||
if (!hasSwingHighOverCBar &&
|
||||
iBar.high > cBar.high)
|
||||
{
|
||||
//
|
||||
swingHigh = iBar;
|
||||
hasSwingHighOverCBar = true;
|
||||
|
||||
//
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
XOHCL swingLow;
|
||||
int swingLowsCount = ArraySize(_5MState.swingLows);
|
||||
bool hasSwingLowUnderCBar = IsValidSize(swingLowsCount);
|
||||
if (hasSwingLowUnderCBar)
|
||||
{
|
||||
//
|
||||
hasSwingLowUnderCBar = false;
|
||||
for (int i = 0; i < swingLowsCount; i++)
|
||||
{
|
||||
//
|
||||
XOHCL iBar = _5MState.swingLows[i];
|
||||
|
||||
//
|
||||
if (!hasSwingLowUnderCBar &&
|
||||
iBar.low < cBar.low)
|
||||
{
|
||||
//
|
||||
swingLow = iBar;
|
||||
hasSwingLowUnderCBar = true;
|
||||
|
||||
//
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
XOHCL bullishRejectionBar;
|
||||
XOHCL bearishRejectionBar;
|
||||
bool hasBullishRejectionBarUnderCBar = false;
|
||||
bool hasBearishRejectionBarOverCBar = false;
|
||||
int rejectionBarsCount = ArraySize(_5MState.rejectionBars);
|
||||
if (IsValidSize(rejectionBarsCount))
|
||||
{
|
||||
//
|
||||
for (int i = 0; i < rejectionBarsCount; i++)
|
||||
{
|
||||
//
|
||||
XOHCL iBar = _5MState.rejectionBars[i];
|
||||
|
||||
//
|
||||
bool isBullish = iBar.GetLowShadow() > iBar.GetHighShadow();
|
||||
bool isBearish = iBar.GetHighShadow() > iBar.GetLowShadow();
|
||||
|
||||
//
|
||||
if (isBullish &&
|
||||
!hasBullishRejectionBarUnderCBar &&
|
||||
iBar.high < cBar.low)
|
||||
{
|
||||
//
|
||||
bullishRejectionBar = iBar;
|
||||
hasBullishRejectionBarUnderCBar = true;
|
||||
}
|
||||
|
||||
//
|
||||
if (isBearish &&
|
||||
!hasBearishRejectionBarOverCBar &&
|
||||
iBar.low > cBar.high)
|
||||
{
|
||||
//
|
||||
bearishRejectionBar = iBar;
|
||||
hasBearishRejectionBarOverCBar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// XZone bullishOB;
|
||||
// XZone bearishOB;
|
||||
// XPOIState state = _15MState;
|
||||
// int obsCount = ArraySize(state.bullishOrderBlocks);
|
||||
// // for (int i = 0; i < obsCount; i++)
|
||||
// {
|
||||
// //
|
||||
// XZone iZone = state.bullishOrderBlocks[i];
|
||||
// bool canRefine = CanRefineZone(
|
||||
// iZone,
|
||||
// bullishOB,
|
||||
// cBar //
|
||||
// );
|
||||
|
||||
// //
|
||||
// if (canRefine &&
|
||||
// isVWapBullish)
|
||||
// {
|
||||
// //
|
||||
// iZone.to = cTime;
|
||||
// XCBullishOrderBlockObject *iObj;
|
||||
// bool isCreated = mPOIDrawer.CreateBullishOrderBlock(
|
||||
// iZone,
|
||||
// iObj //
|
||||
// );
|
||||
// if (isCreated)
|
||||
// {
|
||||
// mDrawnObjects.Add(iObj);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// obsCount = ArraySize(state.bearishOrderBlocks);
|
||||
// for (int i = 0; i < obsCount; i++)
|
||||
// {
|
||||
// //
|
||||
// XZone iZone = state.bearishOrderBlocks[i];
|
||||
// bool canRefine = CanRefineZone(
|
||||
// iZone,
|
||||
// bearishOB,
|
||||
// cBar //
|
||||
// );
|
||||
|
||||
// //
|
||||
// if (canRefine &&
|
||||
// isVWapBearish)
|
||||
// {
|
||||
// //
|
||||
// iZone.to = cTime;
|
||||
// XCBearishOrderBlockObject *iObj;
|
||||
// bool isCreated = mPOIDrawer.CreateBearishOrderBlock(
|
||||
// iZone,
|
||||
// iObj //
|
||||
// );
|
||||
// if (isCreated)
|
||||
// {
|
||||
// mDrawnObjects.Add(iObj);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// int m15Count = ArraySize(_15MState.resistanceZones);
|
||||
|
||||
//
|
||||
// Detect Resistance ....
|
||||
// if (!mConditions.resistance.IsValid())
|
||||
// {
|
||||
// //
|
||||
// // XZone h4Resistance;
|
||||
// // XZone m15Resistance;
|
||||
// // XZone m5Resistance;
|
||||
|
||||
// // //
|
||||
// // int h4Count = ArraySize(_4HState.resistanceZones);
|
||||
// // int m15Count = ArraySize(_15MState.resistanceZones);
|
||||
// // int m5Count = ArraySize(_5MState.resistanceZones);
|
||||
|
||||
// // //
|
||||
// // for (int i = 0; i < h4Count; i++)
|
||||
// // {
|
||||
// // //
|
||||
// // XOHCL iBar = _4HState.resistanceZones[i];
|
||||
// // }
|
||||
// }
|
||||
Reference in New Issue
Block a user