generated from Vizion-Trading/Vizion-Trading-EA
70 lines
2 KiB
MQL5
70 lines
2 KiB
MQL5
#ifndef LABEL_UTILS_MQH
|
|
#define LABEL_UTILS_MQH
|
|
|
|
color VZ_ColorFromPhase(const string phase)
|
|
{
|
|
string p = phase;
|
|
StringToUpper(p);
|
|
if(p == "A") return clrCyan;
|
|
if(p == "M") return clrOrange;
|
|
if(p == "D") return clrGold;
|
|
return clrSilver;
|
|
}
|
|
|
|
color VZ_ColorFromDirection(const int direction)
|
|
{
|
|
if(direction > 0) return clrLime;
|
|
if(direction < 0) return clrRed;
|
|
return clrSilver;
|
|
}
|
|
|
|
color VZ_ColorFromGate(const bool allowed, const bool blocked, const bool reduced)
|
|
{
|
|
if(blocked) return clrRed;
|
|
if(reduced) return clrOrange;
|
|
if(allowed) return clrLime;
|
|
return clrSilver;
|
|
}
|
|
|
|
color VZ_ColorFromConfidence(const double confidence)
|
|
{
|
|
if(confidence >= 90.0) return clrGold;
|
|
if(confidence >= 70.0) return clrLime;
|
|
if(confidence >= 50.0) return clrCyan;
|
|
return clrOrange;
|
|
}
|
|
|
|
color VZ_ColorFromHeadroom(const double headroom_pct, const double min_safe_pct)
|
|
{
|
|
if(headroom_pct >= min_safe_pct * 1.5) return clrLime;
|
|
if(headroom_pct >= min_safe_pct) return clrCyan;
|
|
if(headroom_pct >= min_safe_pct * 0.75) return clrOrange;
|
|
return clrRed;
|
|
}
|
|
|
|
color VZ_ColorFromSpread(const double spread_points, const double max_spread_points)
|
|
{
|
|
if(max_spread_points <= 0.0) return clrSilver;
|
|
if(spread_points <= max_spread_points * 0.60) return clrLime;
|
|
if(spread_points <= max_spread_points * 0.85) return clrCyan;
|
|
if(spread_points <= max_spread_points) return clrOrange;
|
|
return clrRed;
|
|
}
|
|
|
|
void VZ_DrawLabel(const string name,
|
|
const int row,
|
|
const string text,
|
|
const color col,
|
|
const int font_size = 9)
|
|
{
|
|
if(ObjectFind(0, name) < 0)
|
|
ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0);
|
|
ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER_LEFT_UPPER);
|
|
ObjectSetInteger(0, name, OBJPROP_XDISTANCE, 10);
|
|
ObjectSetInteger(0, name, OBJPROP_YDISTANCE, 12 + (row * 16));
|
|
ObjectSetInteger(0, name, OBJPROP_COLOR, col);
|
|
ObjectSetInteger(0, name, OBJPROP_FONTSIZE, font_size);
|
|
ObjectSetString(0, name, OBJPROP_TEXT, text);
|
|
}
|
|
|
|
#endif
|