add new bkp ...

This commit is contained in:
2024-05-21 23:15:44 +03:30
parent 4b14a57293
commit e47756f29a
5 changed files with 782 additions and 0 deletions
+133
View File
@@ -0,0 +1,133 @@
isXTMPeak
isXTMVale
isXTMBullish
isXTMBearish
isXTMNeutural
isXTMEndBullish
isXTMEndBearish
isXTMStartBullish
isXTMStartBearish
isXTMEndBullishByNeutural
isXTMEndBearishByNeutural
isXTMStartBullishAfterNeutural
isXTMStartBearishAfterNeutural
isXAMAPeak
isXAMAVale
isXAMABullish
isXAMABearish
isXAMANeutural
isXAMAEndBullish
isXAMAEndBearish
isXAMAStartBullish
isXAMAStartBearish
isXAMAEndBullishByNeutural
isXAMAEndBearishByNeutural
isXAMAStartBullishAfterNeutural
isXAMAStartBearishAfterNeutural
isXLHHHIncreased
isXLHHHDecreased
isXLHLLIncreased
isXLHLLDecreased
isXLHLowAttachedLL
isXLHHighAttachedHH
isXLHHHSameInLength
isXLHLLSameInLength
isXLHPriceOverSignal
isXLHPriceUnderSignal
isXLHPriceInSignalRange
isXLHPriceCrossedOverSignal
isXLHPriceCrossedUnderSignal
isXTDSignalPeak
isXTDSignalVale
isXTDBullishPeak
isXTDBullishVale
isXTDBearishPeak
isXTDBearishVale
isXTDBullOverBear
isXTDBullUnderBear
isXTDSignalOverBear
isXTDSignalUnderBear
isXTDBullCrossedOverBear
isXTDBullCrossedUnderBear
isXTDSignalCrossedOverBear
isXTDSignalCrossedUnderBear
isXFIPeak
isXFIVale
isXFICrossedOverZero
isXFIOverZero
isXFICrossedUnderZero
isXFIUnderZero
isXTSAllSame
isXTSCurrentMin
isXTSCurrentMax
isXTSCurrentOverFarest
isXTSCurrentOverNearest
isXTSCurrentOverMediest
isXTSCurrentUnderFarest
isXTSCurrentUnderNearest
isXTSCurrentUnderMediest
isXTSCurrentCrossedOverFarest
isXTSCurrentCrossedOverNearest
isXTSCurrentCrossedOverMediest
isXTSCurrentCrossedUnderFarest
isXTSCurrentCrossedUnderNearest
isXTSCurrentCrossedUnderMediest
isXRSIPeak
isXRSIVale
isXRSICrossedOverLongExit
isXRSICrossedOverLongEntry
isXRSICrossedUnderShortExit
isXRSICrossedUnderShortEntry
isXOBDSwingLow
isXOBDSwingHigh
isXCHLHSameHHs
isXCHLHSameLLs
isXCHLHSCMCHHSame
isXCHLHSCMCLLSame
isXCHLHSCLCHHSame
isXCHLHSCLCLLSame
isXCHLHMCLCHHSame
isXCHLHMCLCLLSame
isXCHLHMCOnTopOfLC
isXCHLHMCInBottomOfLC
isXCHMASCOverMax
isXCHMASCOverMin
isXCHMASCUnderMax
isXCHMASCUnderMin
isXCHMASCCrossedOverMax
isXCHMASCCrossedUnderMax
isXCHMASCCrossedOverMin
isXCHMASCCrossedUnderMin
isXCHMASCPeak
isXCHMASCVale
isXCHMASCTrendsUp
isXCHMASCTrendsDown
isXCHMASCFastOverSlow
isXCHMASCFastUnderSlow
isXCHMASCFastCrossedOverSlow
isXCHMASCFastCrossedUnderSlow
isXCHMAMCPeak
isXCHMAMCVale
isXCHMAMCTrendsUp
isXCHMAMCTrendsDown
isXCHMAMCFastOverSlow
isXCHMAMCFastUnderSlow
isXCHMAMCFastCrossedOverSlow
isXCHMAMCFastCrossedUnderSlow
isXCHMALCPeak
isXCHMALCVale
isXCHMALCTrendsUp
isXCHMALCTrendsDown
isXCHMALCFastOverSlow
isXCHMALCFastUnderSlow
isXCHMALCFastCrossedOverSlow
isXCHMALCFastCrossedUnderSlow
@@ -0,0 +1,304 @@
///////////////////////////////////////////////////////
//
// SaherElm IT Center X5EA MQL5 Expert Advisor
// -------------------------------------------------
// Name: X5EA
// Description: an Exper Advisor which used RSI and MA
// to Analyse Market ...
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////x
//
// Global Properties ...
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://saherelm.ir"
#property version "1.00"
#property description "SaherElm X5EA"
#property strict
//
#define ShortName "X5EA"
//
#include "../Classes/x-saherelm.x5.provider.class.mq5"
//
// Inputs ...
long x5EAMagicNumber = 78692110; // Magic Number
int x5EASlippage = 10; // Slippgae
string x5EASymbols = "EURUSDb,USDCHFb,USDJPYb,XAUUSDb";
//
double x5EAVolume = 0.01;
//
// Vars ...
string x5EASymbol;
ENUM_TIMEFRAMES x5EAPeriod;
//
MqlTick x5EATick;
//
// X5Provider ...
XSignal signal;
//
X5ProviderDescriptor mProviderDescriptors[];
//
// Event Handlers ...
//
// Initialization ...
int OnInit()
{
//
if (x5EASymbol == NULL || StringLen(x5EASymbol) <= 0)
{
x5EASymbol = _Symbol;
}
//
if (x5EAPeriod == NULL)
{
x5EAPeriod = _Period;
}
//
// Validate Inputs ...
if (!X5EAValidateInputs())
{
return INIT_PARAMETERS_INCORRECT;
}
// //
// // Initial Providers ...
// if (!InitialProviders())
// {
// return INIT_PARAMETERS_INCORRECT;
// }
//
// Testing SymbolsTotal ...
string symbols[];
int symbolsCount = FilterUSDSymbols(
symbols
);
if (symbolsCount > 0) {
//
ArrayPrint(symbols);
}
//
// Init Succeed ...
return INIT_SUCCEEDED;
}
//
// DeInitialization ...
void OnDeinit(const int reason)
{
//
// REASON_PROGRAM 0 The EA has stopped working calling the ExpertRemove() function
// REASON_REMOVE 1 Program removed from a chart
// REASON_RECOMPILE 2 Program recompiled
// REASON_CHARTCHANGE 3 A symbol or a chart period is changed
// REASON_CHARTCLOSE 4 Chart closed
// REASON_PARAMETERS 5 Inputs changed by a user
// REASON_ACCOUNT 6 Another account has been activated or reconnection to the trade server has occurred due to changes in the account settings
// REASON_TEMPLATE 7 Another chart template applied
// REASON_INITFAILED 8 The OnInit() handler returned a non-zero value
// REASON_CLOSE 9 Terminal closed
//
// De Initialize X5EA Providers ...
}
//
// On Tick Handler ...
void OnTick()
{
//
// Reading Tick ...
if (!SymbolInfoTick(x5EASymbol, x5EATick))
{
return;
}
//
ProcessProvidersTick();
}
//
// Custom Functions ...
//
// Validate Variables nd Inputs ...
bool X5EAValidateInputs()
{
//
bool result = false;
//
result =
//
x5EASlippage > 0 &&
x5EAMagicNumber > 0
//
;
//
return result;
}
//
// Initialize Specific Providers ...
bool InitialProviders()
{
//
bool result = false;
//
// Here We Have to Initial 4 instance of X5Provider ...
// - EURUSD/M5;
// - USDCHF/M5;
// - USDJPY/M5;
// - XAUUSD/M5;
//
result = IsValid(x5EASymbols);
if (!result)
{
return result;
}
//
string symbols[];
int symbolsCount = SplitContent(
symbols,
x5EASymbols);
result = symbolsCount > 0;
if (!result)
{
return result;
}
//
// Define Signallers ...
ENUM_X5_SIGNAL_PROVIDERS signallers[];
GetAllX5SignalProviders(signallers);
//
for (int i = 0; i < symbolsCount; i++)
{
//
// Define Structure ...
X5ProviderDescriptor iDescriptor;
//
// Set Inputs to Default ...
iDescriptor.inputs.Default();
//
// Validate Inputs ...
bool isInputsValid = iDescriptor.inputs.IsValid();
if (!isInputsValid)
{
continue;
}
//
// Initialize Provider Class ...
iDescriptor.provider = new XSCX5Provider(
symbols[i],
PERIOD_M5 //
);
//
// Enable Required Signallers and Types ...
// TODO: add Support for TYPE Specifications ...
iDescriptor.provider
.SetSignalTypeState(
POSITION_TYPE_BUY,
true //
);
iDescriptor.provider
.SetSignalTypeState(
POSITION_TYPE_SELL,
true //
);
//
// Enable Required Signallers ...
iDescriptor.provider
.SetSignalProviderStates(signallers, true);
//
// Try to Initialize Provider Instance ...
bool isInitialized = iDescriptor.provider
.Init(iDescriptor.inputs);
if (!isInitialized)
{
continue;
}
//
// Add Prepared Descriptor to Collection ...
AddRef(
iDescriptor,
mProviderDescriptors
//
);
}
//
// Validate Result ...
result = ArraySize(mProviderDescriptors) == symbolsCount;
//
return result;
}
//
// Check Providers Signals ...
void ProcessProvidersTick()
{
//
// Here We Have to Check 4 instance of X5Provider for Signals ...
// - EURUSD/M5;
// - USDCHF/M5;
// - USDJPY/M5;
// - XAUUSD/M5;
//
int descriptorsCount = ArraySize(mProviderDescriptors);
if (descriptorsCount <= 0)
{
return;
}
//
int signalsCount = 0;
for (int i = 0; i < descriptorsCount; i++)
{
//
X5ProviderDescriptor iDescriptor = mProviderDescriptors[i];
//
bool iHasSignal = iDescriptor.HasSignal(0);
//
if (iHasSignal)
{
//
signalsCount++;
Print("Signal: " + iDescriptor.provider.GetSymbol() + ", " + ToString(iDescriptor.provider.GetPeriod()));
}
}
}
//
Binary file not shown.
+131
View File
@@ -0,0 +1,131 @@
///////////////////////////////////////////////////////
//
// SaherElm IT Center X5EA MQL5 Expert Advisor
// -------------------------------------------------
// Name: X5EA
// Description: an Exper Advisor which used RSI and MA
// to Analyse Market ...
//
// Maintainer:
// ------------
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
//
//////////////////////////////////////////////////////x
//
// Global Properties ...
#property copyright "Copyright 2023, SaherElm IT Center"
#property link "https://saherelm.ir"
#property version "1.00"
#property description "SaherElm X5EA"
#property strict
//
#define ShortName "X5EA"
//
#include "../Libraries/x-saherelm.draw.lib.mq5"
#include "../Libraries/x-saherelm.common.lib.mq5"
#include "../Classes/x-saherelm.xtrade.class.mq5"
//
// Inputs ...
long x5EAMagicNumber = 78692110; // Magic Number
int x5EASlippage = 10; // Slippgae
//
double x5EAVolume = 0.01;
//
// Vars ...
string x5EASymbol;
ENUM_TIMEFRAMES x5EAPeriod;
//
MqlTick x5EATick;
//
// Event Handlers ...
//
// Initialization ...
int OnInit()
{
//
if (x5EASymbol == NULL || StringLen(x5EASymbol) <= 0)
{
x5EASymbol = _Symbol;
}
//
if (x5EAPeriod == NULL)
{
x5EAPeriod = _Period;
}
//
// Validate Inputs ...
if (!X5EAValidateInputs())
{
return INIT_PARAMETERS_INCORRECT;
}
//
drawPrefix = ShortName;
//
// Init Succeed ...
return INIT_SUCCEEDED;
}
//
// DeInitialization ...
void OnDeinit(const int reason)
{
//
// REASON_PROGRAM 0 The EA has stopped working calling the ExpertRemove() function
// REASON_REMOVE 1 Program removed from a chart
// REASON_RECOMPILE 2 Program recompiled
// REASON_CHARTCHANGE 3 A symbol or a chart period is changed
// REASON_CHARTCLOSE 4 Chart closed
// REASON_PARAMETERS 5 Inputs changed by a user
// REASON_ACCOUNT 6 Another account has been activated or reconnection to the trade server has occurred due to changes in the account settings
// REASON_TEMPLATE 7 Another chart template applied
// REASON_INITFAILED 8 The OnInit() handler returned a non-zero value
// REASON_CLOSE 9 Terminal closed
//
// De Initialize X5EA Providers ...
}
//
// On Tick Handler ...
void OnTick()
{
//
// Reading Tick ...
if (!SymbolInfoTick(x5EASymbol, x5EATick))
{
return;
}
}
//
// Custom Functions ...
//
// Validate Variables nd Inputs ...
bool X5EAValidateInputs()
{
//
bool result = false;
//
result =
//
x5EASlippage > 0 &&
x5EAMagicNumber > 0
//
;
//
return result;
}