diff --git a/MQLTestWorkspace/BKPS/1/conditions.mq5 b/MQLTestWorkspace/BKPS/1/conditions.mq5 new file mode 100644 index 0000000..978165a --- /dev/null +++ b/MQLTestWorkspace/BKPS/1/conditions.mq5 @@ -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 \ No newline at end of file diff --git a/MQLTestWorkspace/BKPS/1/x-test.x5ea copy.mq5 b/MQLTestWorkspace/BKPS/1/x-test.x5ea copy.mq5 new file mode 100644 index 0000000..971bc7b --- /dev/null +++ b/MQLTestWorkspace/BKPS/1/x-test.x5ea copy.mq5 @@ -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())); + } + } +} + +// \ No newline at end of file diff --git a/MQLTestWorkspace/BKPS/1/x-test.x5ea.ex5 b/MQLTestWorkspace/BKPS/1/x-test.x5ea.ex5 new file mode 100644 index 0000000..103f534 Binary files /dev/null and b/MQLTestWorkspace/BKPS/1/x-test.x5ea.ex5 differ diff --git a/MQLTestWorkspace/BKPS/1/x-test.x5ea.mq5 b/MQLTestWorkspace/BKPS/1/x-test.x5ea.mq5 new file mode 100644 index 0000000..3b22aa9 --- /dev/null +++ b/MQLTestWorkspace/BKPS/1/x-test.x5ea.mq5 @@ -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; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6348478 --- /dev/null +++ b/package.json @@ -0,0 +1,214 @@ +{ + "name": "mql5", + "version": "1.0.0", + "description": "MQL5 Workspace", + "main": "index.js", + "scripts": { + "true": "", + "aaa": "|----------|", + "aab": "| Projects |", + "aac": "|----------|", + "compile": "node compile.js", + "compileWorkspace": "npm run compile", + "compileExperts": "npm run compile **experts", + "compileIndicators": "npm run compile **indicators", + "rmExperts": "shx --silent rm ./Experts/* || npm run true", + "rmHelpers": "shx --silent rm ./Helpers/* || npm run true", + "rmClasses": "shx --silent rm ./Classes/* || npm run true", + "rmLibraries": "shx --silent rm ./Libraries/* || npm run true", + "rmProviders": "shx --silent rm ./Providers/* || npm run true", + "rmIndicators": "shx --silent rm ./Indicators/* || npm run true", + "bkpExperts": "shx --silent mkdir -p ./BKP/Main/Experts && shx --silent cp -r ./Experts/*.mq5 ./BKP/Main/Experts || npm run true", + "bkpHelpers": "shx --silent mkdir -p ./BKP/Main/Helpers && shx --silent cp -r ./Helpers/*.mq5 ./BKP/Main/Helpers || npm run true", + "bkpClasses": "shx --silent mkdir -p ./BKP/Main/Classes && shx --silent cp -r ./Classes/*.mq5 ./BKP/Main/Classes || npm run true", + "bkpLibraries": "shx --silent mkdir -p ./BKP/Main/Libraries && shx --silent cp -r ./Libraries/*.mq5 ./BKP/Main/Libraries || npm run true", + "bkpProviders": "shx --silent mkdir -p ./BKP/Main/Providers && shx --silent cp -r ./Providers/*.mq5 ./BKP/Main/Providers || npm run true", + "bkpIndicators": "shx --silent mkdir -p ./BKP/Main/Indicators && shx --silent cp -r ./Indicators/*.mq5 ./BKP/Main/Indicators || npm run true", + "cleanupWorkspace": "npm run rmExperts && npm run rmHelpers && npm run rmClasses && npm run rmLibraries && npm run rmProviders && npm run rmIndicators", + "backupWorkspace": "shx --silent rm -rf ./BKP/Main && npm run bkpExperts && npm run bkpHelpers && npm run bkpClasses && npm run bkpLibraries && npm run bkpProviders && npm run bkpIndicators", + "bba": "|----------|", + "bbb": "| XTEST |", + "bbc": "|----------|", + "xTESTCpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XTEST/Experts/*.mq5 ./Experts || npm run true", + "xTESTCpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XTEST/Helpers/*.mq5 ./Helpers || npm run true", + "xTESTCpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XTEST/Classes/*.mq5 ./Classes || npm run true", + "xTESTCpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XTEST/Providers/*.mq5 ./Providers || npm run true", + "xTESTCpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XTEST/Libraries/*.mq5 ./Libraries || npm run true", + "xTESTCpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XTEST/Indicators/*.mq5 ./Indicators || npm run true", + "xTESTUpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XTEST/Experts || npm run true", + "xTESTUpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XTEST/Helpers || npm run true", + "xTESTUpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XTEST/Classes || npm run true", + "xTESTUpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XTEST/Providers || npm run true", + "xTESTUpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XTEST/Libraries || npm run true", + "xTESTUpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XTEST/Indicators || npm run true", + "xTESTCpWorkspace": "npm run xTESTCpExperts && npm run xTESTCpProviders && npm run xTESTCpIndicators && npm run xTESTCpLibraries && npm run xTESTCpHelpers && npm run xTESTCpClasses", + "xTESTUpSourceFromWorkspace": "npm run xTESTUpSourceExperts && npm run xTESTUpSourceProviders && npm run xTESTUpSourceIndicators && npm run xTESTUpSourceLibraries && npm run xTESTUpSourceHelpers && npm run xTESTUpSourceClasses", + "xTESTPrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xTESTCpWorkspace", + "xTESTApplyFromWorkspace": "npm run backupWorkspace && npm run xTESTUpSourceFromWorkspace", + "xTESTCompile": "npm run compile XTEST", + "xTESTCompileAndPack": "npm run compile XTEST true", + "bbd": "|----------|", + "bbe": "| /XTEST |", + "bbf": "|----------|", + "aba": "|----------|", + "abb": "| XEU5 |", + "abc": "|----------|", + "xEU5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XEU5/Experts/*.mq5 ./Experts || npm run true", + "xEU5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XEU5/Helpers/*.mq5 ./Helpers || npm run true", + "xEU5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XEU5/Classes/*.mq5 ./Classes || npm run true", + "xEU5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XEU5/Providers/*.mq5 ./Providers || npm run true", + "xEU5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XEU5/Libraries/*.mq5 ./Libraries || npm run true", + "xEU5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XEU5/Indicators/*.mq5 ./Indicators || npm run true", + "xEU5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XEU5/Experts || npm run true", + "xEU5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XEU5/Helpers || npm run true", + "xEU5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XEU5/Classes || npm run true", + "xEU5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XEU5/Providers || npm run true", + "xEU5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XEU5/Libraries || npm run true", + "xEU5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XEU5/Indicators || npm run true", + "xEU5CpWorkspace": "npm run xEU5CpExperts && npm run xEU5CpProviders && npm run xEU5CpIndicators && npm run xEU5CpLibraries && npm run xEU5CpHelpers && npm run xEU5CpClasses", + "xEU5UpSourceFromWorkspace": "npm run xEU5UpSourceExperts && npm run xEU5UpSourceProviders && npm run xEU5UpSourceIndicators && npm run xEU5UpSourceLibraries && npm run xEU5UpSourceHelpers && npm run xEU5UpSourceClasses", + "xEU5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xEU5CpWorkspace", + "xEU5ApplyFromWorkspace": "npm run backupWorkspace && npm run xEU5UpSourceFromWorkspace", + "xEU5Compile": "npm run compile XEU5", + "xEU5CompileAndPack": "npm run compile XEU5 true", + "abd": "|----------|", + "abe": "| /XEU5 |", + "abf": "|----------|", + "aca": "|----------|", + "acb": "| XAU5 |", + "acc": "|----------|", + "xAU5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XAU5/Experts/*.mq5 ./Experts || npm run true", + "xAU5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XAU5/Helpers/*.mq5 ./Helpers || npm run true", + "xAU5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XAU5/Classes/*.mq5 ./Classes || npm run true", + "xAU5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XAU5/Providers/*.mq5 ./Providers || npm run true", + "xAU5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XAU5/Libraries/*.mq5 ./Libraries || npm run true", + "xAU5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XAU5/Indicators/*.mq5 ./Indicators || npm run true", + "xAU5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XAU5/Experts || npm run true", + "xAU5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XAU5/Helpers || npm run true", + "xAU5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XAU5/Classes || npm run true", + "xAU5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XAU5/Providers || npm run true", + "xAU5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XAU5/Libraries || npm run true", + "xAU5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XAU5/Indicators || npm run true", + "xAU5CpWorkspace": "npm run xAU5CpExperts && npm run xAU5CpProviders && npm run xAU5CpIndicators && npm run xAU5CpLibraries && npm run xAU5CpHelpers && npm run xAU5CpClasses", + "xAU5UpSourceFromWorkspace": "npm run xAU5UpSourceExperts && npm run xAU5UpSourceProviders && npm run xAU5UpSourceIndicators && npm run xAU5UpSourceLibraries && npm run xAU5UpSourceHelpers && npm run xAU5UpSourceClasses", + "xAU5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xAU5CpWorkspace", + "xAU5ApplyFromWorkspace": "npm run backupWorkspace && npm run xAU5UpSourceFromWorkspace", + "xAU5Compile": "npm run compile XAU5", + "xAU5CompileAndPack": "npm run compile XAU5 true", + "acd": "|----------|", + "ace": "| /XAU5 |", + "acf": "|----------|", + "bda": "|-----------|", + "bdb": "| XUSCHF5 |", + "bdc": "|-----------|", + "xUSCHF5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XUSCHF5/Experts/*.mq5 ./Experts || npm run true", + "xUSCHF5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XUSCHF5/Helpers/*.mq5 ./Helpers || npm run true", + "xUSCHF5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XUSCHF5/Classes/*.mq5 ./Classes || npm run true", + "xUSCHF5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XUSCHF5/Providers/*.mq5 ./Providers || npm run true", + "xUSCHF5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XUSCHF5/Libraries/*.mq5 ./Libraries || npm run true", + "xUSCHF5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XUSCHF5/Indicators/*.mq5 ./Indicators || npm run true", + "xUSCHF5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XUSCHF5/Experts || npm run true", + "xUSCHF5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XUSCHF5/Helpers || npm run true", + "xUSCHF5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XUSCHF5/Classes || npm run true", + "xUSCHF5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XUSCHF5/Providers || npm run true", + "xUSCHF5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XUSCHF5/Libraries || npm run true", + "xUSCHF5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XUSCHF5/Indicators || npm run true", + "xUSCHF5CpWorkspace": "npm run xUSCHF5CpExperts && npm run xUSCHF5CpProviders && npm run xUSCHF5CpIndicators && npm run xUSCHF5CpLibraries && npm run xUSCHF5CpHelpers && npm run xUSCHF5CpClasses", + "xUSCHF5UpSourceFromWorkspace": "npm run xUSCHF5UpSourceExperts && npm run xUSCHF5UpSourceProviders && npm run xUSCHF5UpSourceIndicators && npm run xUSCHF5UpSourceLibraries && npm run xUSCHF5UpSourceHelpers && npm run xUSCHF5UpSourceClasses", + "xUSCHF5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xUSCHF5CpWorkspace", + "xUSCHF5ApplyFromWorkspace": "npm run backupWorkspace && npm run xUSCHF5UpSourceFromWorkspace", + "xUSCHF5Compile": "npm run compile XUSCHF5", + "xUSCHF5CompileAndPack": "npm run compile XUSCHF5 true", + "bdd": "|-----------|", + "bde": "| /XUSCHF5 |", + "bdf": "|-----------|", + "bwa": "|-----------|", + "bwb": "| XBTUS5 |", + "bwc": "|-----------|", + "xBTUS5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XBTUS5/Experts/*.mq5 ./Experts || npm run true", + "xBTUS5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XBTUS5/Helpers/*.mq5 ./Helpers || npm run true", + "xBTUS5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XBTUS5/Classes/*.mq5 ./Classes || npm run true", + "xBTUS5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XBTUS5/Providers/*.mq5 ./Providers || npm run true", + "xBTUS5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XBTUS5/Libraries/*.mq5 ./Libraries || npm run true", + "xBTUS5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XBTUS5/Indicators/*.mq5 ./Indicators || npm run true", + "xBTUS5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XBTUS5/Experts || npm run true", + "xBTUS5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XBTUS5/Helpers || npm run true", + "xBTUS5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XBTUS5/Classes || npm run true", + "xBTUS5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XBTUS5/Providers || npm run true", + "xBTUS5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XBTUS5/Libraries || npm run true", + "xBTUS5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XBTUS5/Indicators || npm run true", + "xBTUS5CpWorkspace": "npm run xBTUS5CpExperts && npm run xBTUS5CpProviders && npm run xBTUS5CpIndicators && npm run xBTUS5CpLibraries && npm run xBTUS5CpHelpers && npm run xBTUS5CpClasses", + "xBTUS5UpSourceFromWorkspace": "npm run xBTUS5UpSourceExperts && npm run xBTUS5UpSourceProviders && npm run xBTUS5UpSourceIndicators && npm run xBTUS5UpSourceLibraries && npm run xBTUS5UpSourceHelpers && npm run xBTUS5UpSourceClasses", + "xBTUS5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xBTUS5CpWorkspace", + "xBTUS5ApplyFromWorkspace": "npm run backupWorkspace && npm run xBTUS5UpSourceFromWorkspace", + "xBTUS5Compile": "npm run compile XBTUS5", + "xBTUS5CompileAndPack": "npm run compile XBTUS5 true", + "bwd": "|-----------|", + "bwe": "| /XBTUS5 |", + "bwf": "|-----------|", + "ada": "|-----------|", + "adb": "| XUSPY5 |", + "adc": "|-----------|", + "xUSPY5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XUSPY5/Experts/*.mq5 ./Experts || npm run true", + "xUSPY5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XUSPY5/Helpers/*.mq5 ./Helpers || npm run true", + "xUSPY5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XUSPY5/Classes/*.mq5 ./Classes || npm run true", + "xUSPY5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XUSPY5/Providers/*.mq5 ./Providers || npm run true", + "xUSPY5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XUSPY5/Libraries/*.mq5 ./Libraries || npm run true", + "xUSPY5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XUSPY5/Indicators/*.mq5 ./Indicators || npm run true", + "xUSPY5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XUSPY5/Experts || npm run true", + "xUSPY5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XUSPY5/Helpers || npm run true", + "xUSPY5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XUSPY5/Classes || npm run true", + "xUSPY5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XUSPY5/Providers || npm run true", + "xUSPY5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XUSPY5/Libraries || npm run true", + "xUSPY5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XUSPY5/Indicators || npm run true", + "xUSPY5CpWorkspace": "npm run xUSPY5CpExperts && npm run xUSPY5CpProviders && npm run xUSPY5CpIndicators && npm run xUSPY5CpLibraries && npm run xUSPY5CpHelpers && npm run xUSPY5CpClasses", + "xUSPY5UpSourceFromWorkspace": "npm run xUSPY5UpSourceExperts && npm run xUSPY5UpSourceProviders && npm run xUSPY5UpSourceIndicators && npm run xUSPY5UpSourceLibraries && npm run xUSPY5UpSourceHelpers && npm run xUSPY5UpSourceClasses", + "xUSPY5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xUSPY5CpWorkspace", + "xUSPY5ApplyFromWorkspace": "npm run backupWorkspace && npm run xUSPY5UpSourceFromWorkspace", + "xUSPY5Compile": "npm run compile XUSPY5", + "xUSPY5CompileAndPack": "npm run compile XUSPY5 true", + "add": "|-----------|", + "ade": "| /XUSPY5 |", + "adf": "|-----------|", + "aea": "|-----------|", + "aeb": "| XGPUS5 |", + "aec": "|-----------|", + "xGPUS5CpExperts": "shx --silent mkdir -p ./Experts && shx --silent cp -r ./Projects/XGPUS5/Experts/*.mq5 ./Experts || npm run true", + "xGPUS5CpHelpers": "shx --silent mkdir -p ./Helpers && shx --silent cp -r ./Projects/XGPUS5/Helpers/*.mq5 ./Helpers || npm run true", + "xGPUS5CpClasses": "shx --silent mkdir -p ./Classes && shx --silent cp -r ./Projects/XGPUS5/Classes/*.mq5 ./Classes || npm run true", + "xGPUS5CpProviders": "shx --silent mkdir -p ./Providers && shx --silent cp -r ./Projects/XGPUS5/Providers/*.mq5 ./Providers || npm run true", + "xGPUS5CpLibraries": "shx --silent mkdir -p ./Libraries && shx --silent cp -r ./Projects/XGPUS5/Libraries/*.mq5 ./Libraries || npm run true", + "xGPUS5CpIndicators": "shx --silent mkdir -p ./Indicators && shx --silent cp -r ./Projects/XGPUS5/Indicators/*.mq5 ./Indicators || npm run true", + "xGPUS5UpSourceExperts": "shx --silent cp -r ./Experts/*.mq5 ./Projects/XGPUS5/Experts || npm run true", + "xGPUS5UpSourceHelpers": "shx --silent cp -r ./Helpers/*.mq5 ./Projects/XGPUS5/Helpers || npm run true", + "xGPUS5UpSourceClasses": "shx --silent cp -r ./Classes/*.mq5 ./Projects/XGPUS5/Classes || npm run true", + "xGPUS5UpSourceProviders": "shx --silent cp -r ./Providers/*.mq5 ./Projects/XGPUS5/Providers || npm run true", + "xGPUS5UpSourceLibraries": "shx --silent cp -r ./Libraries/*.mq5 ./Projects/XGPUS5/Libraries || npm run true", + "xGPUS5UpSourceIndicators": "shx --silent cp -r ./Indicators/*.mq5 ./Projects/XGPUS5/Indicators || npm run true", + "xGPUS5CpWorkspace": "npm run xGPUS5CpExperts && npm run xGPUS5CpProviders && npm run xGPUS5CpIndicators && npm run xGPUS5CpLibraries && npm run xGPUS5CpHelpers && npm run xGPUS5CpClasses", + "xGPUS5UpSourceFromWorkspace": "npm run xGPUS5UpSourceExperts && npm run xGPUS5UpSourceProviders && npm run xGPUS5UpSourceIndicators && npm run xGPUS5UpSourceLibraries && npm run xGPUS5UpSourceHelpers && npm run xGPUS5UpSourceClasses", + "xGPUS5PrepareWorkspace": "npm run backupWorkspace && npm run cleanupWorkspace && npm run xGPUS5CpWorkspace", + "xGPUS5ApplyFromWorkspace": "npm run backupWorkspace && npm run xGPUS5UpSourceFromWorkspace", + "xGPU5Compile": "npm run compile XGPU5", + "xGPU5CompileAndPack": "npm run compile XGPU5 true", + "aed": "|-----------|", + "aee": "| /XGPUS5 |", + "aef": "|-----------|", + "aad": "|-----------|", + "aae": "| /Projects |", + "aaf": "|-----------|" + }, + "repository": { + "type": "git", + "url": "https://pm.saherelmhub.ir/source/MQL5Data.git" + }, + "keywords": [ + "MQL5", + "ROBOT" + ], + "author": "Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)", + "license": "ISC", + "devDependencies": { + "shx": "^0.3.4" + } +}