154 lines
2.2 KiB
Plaintext
154 lines
2.2 KiB
Plaintext
///////////////////////////////////////////////////////
|
|
//
|
|
// SaherElm IT Center MQL5 Class Library
|
|
// ----------------------------------------------
|
|
// Name: XSCBaseInd
|
|
// Description: provides Indicator implementation
|
|
// requirements ...
|
|
//
|
|
//
|
|
// Maintainer:
|
|
// ------------
|
|
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
|
|
//
|
|
//////////////////////////////////////////////////////
|
|
//
|
|
// Global Properties ...
|
|
#property library
|
|
#property copyright "Copyright 2023, SaherElm IT Center"
|
|
#property link "https://www.saherelm.ir"
|
|
#property version "1.00"
|
|
#property strict
|
|
|
|
//
|
|
// Imports ...
|
|
#include <Indicators/Indicator.mqh>
|
|
|
|
//
|
|
// XSCMid Indicator Buffers ...
|
|
enum ENUM_XSCMID_BUFFERS
|
|
{
|
|
XSCMID_MAIN_LINE = 0, // Main Buffer ...
|
|
XSCMID_STATE_LINE = 1, // State Buffer ...
|
|
};
|
|
|
|
//
|
|
string GetTitle(ENUM_XSCMID_BUFFERS bufferLine)
|
|
{
|
|
//
|
|
string result = NULL;
|
|
|
|
//
|
|
switch (bufferLine)
|
|
{
|
|
//
|
|
case XSCMID_MAIN_LINE:
|
|
result = "XMID";
|
|
break;
|
|
|
|
//
|
|
case XSCMID_STATE_LINE:
|
|
result = "XSTATE";
|
|
break;
|
|
}
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// XSCMid Indicator Inputs ...
|
|
struct XSCMidInputs
|
|
{
|
|
//
|
|
// Props ...
|
|
string version;
|
|
|
|
//
|
|
// Constructor ...
|
|
XSCMidInputs()
|
|
{
|
|
Clean();
|
|
}
|
|
|
|
//
|
|
// Tools ...
|
|
|
|
//
|
|
// Initial Inputs ...
|
|
bool Init()
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
result = IsValid();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// Cleanup ...
|
|
void Clean()
|
|
{
|
|
}
|
|
|
|
//
|
|
// Default ...
|
|
void Default()
|
|
{
|
|
}
|
|
|
|
//
|
|
// Validate ...
|
|
bool IsValid()
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
result =
|
|
//
|
|
true
|
|
//
|
|
;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
// Retrieve Max Length ...
|
|
int Max()
|
|
{
|
|
//
|
|
int result = 0;
|
|
|
|
//
|
|
result = 0;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
};
|
|
|
|
//
|
|
// a Simple Indicator ...
|
|
|
|
class XSCMid : public CIndicator
|
|
{
|
|
|
|
//
|
|
// Protected ...
|
|
protected:
|
|
//
|
|
// Private ...
|
|
private:
|
|
//
|
|
// Props ...
|
|
|
|
//
|
|
// Inputs ...
|
|
XSCMidInputs mInputs;
|
|
}; |