try to backup ...
This commit is contained in:
@@ -1839,169 +1839,6 @@ private:
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Signal Pivots ...
|
|
||||||
// --------------------------------------------------------
|
|
||||||
// Here we Save Entry of Positions as Best Pivots ...
|
|
||||||
// then when bar break down this pivots and reject them ...
|
|
||||||
// open an Opposit Position:
|
|
||||||
// - SL the Breaked Down or Up distance;
|
|
||||||
// - TP using Risk to Reward Ratio 1.5;
|
|
||||||
|
|
||||||
//
|
|
||||||
double XPosition mPositionPivcots[];
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check if Breake Up a Pivot Fill a Signal ...
|
|
||||||
bool IsPivotBreakUp(XSignal &signal)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
//
|
|
||||||
signal.Clean();
|
|
||||||
|
|
||||||
//
|
|
||||||
int pivotsCount = CountPositionPivots();
|
|
||||||
result = IsValidSize(pivotsCount);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Loop Through Pivots ...
|
|
||||||
for (int i = 0; i < pivotsCount; i++)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
XPosition iPosition = mPositionPivots[i];
|
|
||||||
|
|
||||||
//
|
|
||||||
XOHCL zBar;
|
|
||||||
result = zBar.Init(
|
|
||||||
iPosition.symbol,
|
|
||||||
iPosition.period,
|
|
||||||
0 //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
XOHCL cBar;
|
|
||||||
result = cBar.Init(
|
|
||||||
iPosition.symbol,
|
|
||||||
iPosition.period,
|
|
||||||
1 //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
XOHCL pBar;
|
|
||||||
result = pBar.Init(
|
|
||||||
iPosition.symbol,
|
|
||||||
iPosition.period,
|
|
||||||
2 //
|
|
||||||
);
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Here we have Bar 0, 1 and 2 ...
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check Entry Break Down ...
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check if Breake Down a Pivot Fill a Signal ...
|
|
||||||
bool IsPivotBreakDown(XSignal signal)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
//
|
|
||||||
signal.Clean();
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Count Exists Position's Pivots ...
|
|
||||||
int CountPositionPivots()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
int result = 0;
|
|
||||||
|
|
||||||
//
|
|
||||||
result = ArraySize(mPositionPivots);
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Add Specific Position's Pivots
|
|
||||||
void AddPositionPivots(XPosition &position)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
if (!position.IsValid())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
AddRef(
|
|
||||||
position,
|
|
||||||
mPositionPivots //
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Remove Specific Position's Pivots
|
|
||||||
bool RemovePositionPivots(XPosition &positions)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
bool result = false;
|
|
||||||
|
|
||||||
//
|
|
||||||
if (!position.IsValid())
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
int idx = position.FindIndex(mPositionPivots);
|
|
||||||
result = idx >= 0;
|
|
||||||
if (!result)
|
|
||||||
{
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
result = ArrayRemove(
|
|
||||||
mPositionPivots,
|
|
||||||
idx,
|
|
||||||
1 //
|
|
||||||
);
|
|
||||||
|
|
||||||
//
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Tools ...
|
// Tools ...
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user