Skip to content

Commit

Permalink
Refs EA31337#11. MQL5 compatible version of SuperSlope oscillator. Un…
Browse files Browse the repository at this point in the history
…sure if it works correctly.
  • Loading branch information
nseam committed Nov 7, 2023
1 parent b9c11ac commit 9c9ac86
Showing 1 changed file with 51 additions and 1 deletion.
52 changes: 51 additions & 1 deletion Oscillators/SuperSlope.mq5.fixme → Oscillators/SuperSlope.mq5
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,44 @@
#define extern input
#define Bars (ChartStatic::iBars(_Symbol, _Period))
#define Bid (SymbolInfoStatic::GetBid(_Symbol))
#define TimeDayOfWeek (DateTime::DateOfWeek())
#define TimeDayOfWeek DateTimeStatic::DayOfWeek

int WindowFirstVisibleBar(const long chart_ID = 0) {
long result = -1;

ResetLastError();

if (!ChartGetInteger(chart_ID, CHART_FIRST_VISIBLE_BAR, 0, result)) {
Print(__FUNCTION__ + ", Error Code = ", GetLastError());
}

return (int)result;
}

int WindowBarsPerChart() { return ChartGetInteger(0, CHART_VISIBLE_BARS, 0); }

int ObjectFind(string name) { return ObjectFind(0, name); }

bool ObjectSetText(string name, string text, int font_size, string font = "",
color text_color = CLR_NONE) {
int tmpObjType = (int)ObjectGetInteger(0, name, OBJPROP_TYPE);
if (tmpObjType != OBJ_LABEL && tmpObjType != OBJ_TEXT)
return (false);
if (StringLen(text) > 0 && font_size > 0) {
if (ObjectSetString(0, name, OBJPROP_TEXT, text) == true &&
ObjectSetInteger(0, name, OBJPROP_FONTSIZE, font_size) == true) {
if ((StringLen(font) > 0) &&
ObjectSetString(0, name, OBJPROP_FONT, font) == false)
return (false);
if (text_color > -1 &&
ObjectSetInteger(0, name, OBJPROP_COLOR, text_color) == false)
return (false);
return (true);
}
return (false);
}
return (false);
}

// Define global functions.
#undef DoubleToStr
Expand All @@ -57,6 +94,19 @@ int WindowsTotal(const long _cid = 0) {
}
return (int)result;
}
int WindowOnDropped() { return ChartWindowOnDropped(); }
int WindowFind(string name) {
int window = -1;
if ((ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE) ==
PROGRAM_INDICATOR) {
window = ChartWindowFind();
} else {
window = ChartWindowFind(0, name);
if (window == -1)
Print(__FUNCTION__ + "(): Error = ", GetLastError());
}
return (window);
}

// Includes the main file.
#include "SuperSlope.mq4"
Expand Down

0 comments on commit 9c9ac86

Please sign in to comment.