200 lines
5.1 KiB
Plaintext
200 lines
5.1 KiB
Plaintext
//
|
|
// DRAW ...
|
|
//
|
|
|
|
//
|
|
XCBaseObject *drawnObjects[];
|
|
|
|
// //
|
|
// if (hasYoungestBullOB)
|
|
// {
|
|
// //
|
|
// XCBullishOrderBlockObject *iObj;
|
|
// bool isCreated = drawer
|
|
// .CreateBullishOrderBlock(
|
|
// youngestBullOB,
|
|
// iObj //
|
|
// );
|
|
|
|
// //
|
|
// if (isCreated)
|
|
// {
|
|
// //
|
|
// Add(
|
|
// (XCBaseObject *)iObj,
|
|
// drawnObjects //
|
|
// );
|
|
// }
|
|
// }
|
|
|
|
// //
|
|
// if (hasYoungestBearOB)
|
|
// {
|
|
// //
|
|
// XCBearishOrderBlockObject *iObj;
|
|
// bool isCreated = drawer
|
|
// .CreateBearishOrderBlock(
|
|
// youngestBearOB,
|
|
// iObj //
|
|
// );
|
|
|
|
// //
|
|
// if (isCreated)
|
|
// {
|
|
// //
|
|
// Add(
|
|
// (XCBaseObject *)iObj,
|
|
// drawnObjects //
|
|
// );
|
|
// }
|
|
// }
|
|
|
|
// //
|
|
// // Draw Breaked Bullish OrderBlocks ...
|
|
// if (hasBreakedBullOBs)
|
|
// {
|
|
// //
|
|
// for (int i = 0; i < breakedBullOBsCount; i++)
|
|
// {
|
|
// //
|
|
// XCOrderBlock *iOB = breakedBullOBs[i];
|
|
// // iOB.To(cTime);
|
|
|
|
// //
|
|
// XCBullishOrderBlockObject *iObj;
|
|
// bool isCreated = drawer
|
|
// .CreateBullishOrderBlock(
|
|
// iOB,
|
|
// iObj //
|
|
// );
|
|
|
|
// //
|
|
// if (isCreated)
|
|
// {
|
|
// //
|
|
// Add(
|
|
// (XCBaseObject *)iObj,
|
|
// drawnObjects //
|
|
// );
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// //
|
|
// // Draw Breaked Bearish OrderBlocks ...
|
|
// if (hasBreakedBearOBs)
|
|
// {
|
|
// //
|
|
// for (int i = 0; i < breakedBearOBsCount; i++)
|
|
// {
|
|
// //
|
|
// XCOrderBlock *iOB = breakedBearOBs[i];
|
|
// // iOB.To(cTime);
|
|
|
|
// //
|
|
// XCBearishOrderBlockObject *iObj;
|
|
// bool isCreated = drawer
|
|
// .CreateBearishOrderBlock(
|
|
// iOB,
|
|
// iObj //
|
|
// );
|
|
|
|
// //
|
|
// if (isCreated)
|
|
// {
|
|
// //
|
|
// Add(
|
|
// (XCBaseObject *)iObj,
|
|
// drawnObjects //
|
|
// );
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
//
|
|
// Draw Tests ...
|
|
if (hasTests)
|
|
{
|
|
//
|
|
for (int i = 0; i < testsCount; i++)
|
|
{
|
|
//
|
|
XOBTest iTest = tests[i];
|
|
|
|
//
|
|
bool hasOB = iTest.HasOB();
|
|
if (hasOB)
|
|
{
|
|
//
|
|
bool isBullish = iTest.ob.IsBullish();
|
|
|
|
//
|
|
XCBaseObject *obObj;
|
|
bool isCreated = drawer
|
|
.CreateOrderBlock(
|
|
iTest.ob,
|
|
obObj //
|
|
);
|
|
if (isCreated)
|
|
{
|
|
//
|
|
Add(
|
|
obObj,
|
|
drawnObjects //
|
|
);
|
|
}
|
|
}
|
|
|
|
//
|
|
// bool hasFVGs = iTest.HasFVGs();
|
|
// int fvgsCount = iTest.CountFVGs();
|
|
// for (int j = 0; j < fvgsCount; j++)
|
|
// {
|
|
// //
|
|
// XCFVG *jFVG = iTest.fvgs[j];
|
|
// // jFVG.To(iTest.ob.To());
|
|
|
|
// //
|
|
// XCBaseObject *fvgObj;
|
|
// bool isCreated = drawer
|
|
// .CreateFairValueGap(
|
|
// jFVG,
|
|
// fvgObj //
|
|
// );
|
|
// if (isCreated)
|
|
// {
|
|
// //
|
|
// Add(
|
|
// fvgObj,
|
|
// drawnObjects //
|
|
// );
|
|
// }
|
|
// }
|
|
|
|
//
|
|
bool hasFVG = iTest.fvg != NULL &&
|
|
iTest.fvg.IsValid();
|
|
if (hasFVG)
|
|
{
|
|
//
|
|
XCBaseObject *fvgObj;
|
|
bool isCreate = drawer.CreateFairValueGap(
|
|
iTest.fvg,
|
|
fvgObj //
|
|
);
|
|
if (isCreate)
|
|
{
|
|
//
|
|
Add(
|
|
fvgObj,
|
|
drawnObjects //
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//
|
|
// END DRAW ...
|
|
//
|