Files
2021-07-28 21:42:13 +02:00

256 lines
34 KiB
Plaintext

#property copyright "Copyright 2018-2020, Level Up Software"
#property link "https://www.az-invest.eu"
#include <AZ-INVEST/SDK/CommonSettings.mqh>
#ifdef SHOW_INDICATOR_INPUTS
#ifdef USE_CUSTOM_SYMBOL
input group "### Misc"
#ifdef MQL5_MARKET_DEMO
string InpCustomChartName = ""; // Override default custom chart name with
#else
input string InpCustomChartName = ""; // Override default custom chart name with
#endif // MQL5_MARKET_DEMO
input string InpApplyTemplate = "default"; // Apply template to custom chart
input ENUM_BOOL InpForceFasterRefresh = false; // Force faster chart refresh
input ENUM_BOOL InpForBacktester = false; // Create chart for backtesting only
input ENUM_BOOL InpShowTradeLevels = false; // Show trade levels on chart
#endif // end of USE_CUSTOM_SYMBOL
#ifndef USE_CUSTOM_SYMBOL // Main Inputs block
#ifdef AMP_VERSION
input string InpTradingSessionTime = "14:30-23:00"; // Trading session time
input double InpTopBottomPaddingPercentage = 0.30; // Use padding top/bottom (0.0 - 1.0)
#endif
input group "### Pivots"
input ENUM_PIVOT_POINTS InpShowPivots = ppNone; // Show pivot levels
input ENUM_PIVOT_TYPE InpPivotPointCalculationType = ppHLC3; // Pivot point calculation method
ENUM_BOOL InpShowNextBarLevels = false; // Show current bar's close projections
// color InpHighThresholdIndicatorColor = clrLime; // Bullish bar projection color
// color InpLowThresholdIndicatorColor = clrRed; // Bearish bar projection color
color InpInfoTextColor = clrNONE; // Current bar's open time info color
#ifdef AMP_VERSION
input ENUM_BOOL InphowCurrentBarOpenTime = true; // Display chart info
input ENUM_BOOL InpNewBarAlert = false; // Alert on new a bar
input ENUM_BOOL InpReversalBarAlert = false; // Alert on reversal bar
input ENUM_BOOL InpMaCrossAlert = false; // Alert on MA crossover
input ENUM_BOOL InpUseAlertWindow = false; // Display alert in Alert Window
input ENUM_BOOL InpUseSound = false; // Play sound on alert
input ENUM_BOOL InpUsePushNotifications = false; // Send alert via push notification to a smartphone
input string InpSoundFileBull = "news.wav"; // Use sound file for bullish alert
input string InpSoundFileBear = "timeout.wav"; // Use sound file for bearish alert
#else
input group "### Alerts"
input ENUM_ALERT_WHEN InpAlertMeWhen = ALERT_WHEN_None; // Alert condition
input ENUM_ALERT_NOTIFY_TYPE InpAlertNotificationType = ALERT_NOTIFY_TYPE_None; // Alert notification type
#endif
#ifdef AMP_VERSION
input ENUM_BOOL InpMA1on = false; // Show tick
input ENUM_MA_LINE_TYPE InpMA1lineType = MA_DOTS; // Tick Draw as
input int InpMA1period = 1; // Tick period
input ENUM_MA_METHOD_EXT InpMA1method = _MODE_EMA; // Tick method
input ENUM_APPLIED_PRICE InpMA1applyTo = PRICE_CLOSE; // Tick apply to
input int InpMA1shift = 0; // Tick shift
input ENUM_BOOL InpMA1priceLabel = false; // Show tick price label
input ENUM_BOOL InpMA2on = false; // Show FYL
input ENUM_MA_LINE_TYPE InpMA2lineType = MA_LINE; // FYL draw as
input int InpMA2period = 86; // FYL period
input ENUM_MA_METHOD_EXT InpMA2method = _LINEAR_REGRESSION; // FLY method
input ENUM_APPLIED_PRICE InpMA2applyTo = PRICE_CLOSE; // FLY apply to
input int InpMA2shift = 0; // FLY shift
input ENUM_BOOL InpMA2priceLabel = false; // Show FLY price label
input ENUM_BOOL InpMA3on = false; // Show third MA
input ENUM_MA_LINE_TYPE InpMA3lineType = MA_LINE; // 3rd MA draw as
input int InpMA3period = 20; // 3rd MA period
input ENUM_MA_METHOD_EXT InpMA3method = _VWAP_TICKVOL; // 3rd MA method
input ENUM_APPLIED_PRICE InpMA3applyTo = PRICE_CLOSE; // 3rd MA apply to
input int InpMA3shift = 0; // 3rd MA shift
input ENUM_BOOL InpMA3priceLabel = false; // 3rd MA show price label
input ENUM_BOOL InpMA4on = false; // Show fourth MA
input ENUM_MA_LINE_TYPE InpMA4lineType = MA_LINE; // 4th MA draw as
input int InpMA4period = 21; // 4th MA period
input ENUM_MA_METHOD_EXT InpMA4method = _MODE_SMA; // 4th MA method
input ENUM_APPLIED_PRICE InpMA4applyTo = PRICE_CLOSE; // 4th MA apply to
input int InpMA4shift = 0; // 4th MA shift
input ENUM_BOOL InpMA4priceLabel = false; // 4st MA show price label
input ENUM_CHANNEL_TYPE InpShowChannel = _None; // Show Keltner Channel
input int InpChannelPeriod = 20; // Keltner channel period
input int InpChannelAtrPeriod = 10; // Keltner channel ATR period
input ENUM_APPLIED_PRICE InpChannelAppliedPrice = PRICE_CLOSE; // Keltner channel applied price
input double InpChannelMultiplier = 2; // Keltner channel multiplier
double InpChannelBandsDeviations = 2.0;
input ENUM_BOOL InpChannelPriceLabel = false; // Show Keltner channel price labels
input ENUM_BOOL InpChannelMidPriceLabel = false; // Show Keltner channel mid-price label
#else /////////////////////////////////////////////////////////////////////////////
input group "### Moving Averages"
input ENUM_MA_LINE_TYPE InpMA1lineType = MA_NONE; // 1st MA
input int InpMA1period = 9; // 1st MA period
input ENUM_MA_METHOD_EXT InpMA1method = _MODE_EMA; // 1st MA method
input ENUM_APPLIED_PRICE InpMA1applyTo = PRICE_CLOSE; // 1st MA apply to
input int InpMA1shift = 0; // 1st MA shift
input ENUM_BOOL InpMA1priceLabel = false; // 1st MA show price label
input ENUM_MA_LINE_TYPE InpMA2lineType = MA_NONE; // 2nd MA
input int InpMA2period = 86; // 2nd MA period
input ENUM_MA_METHOD_EXT InpMA2method = _LINEAR_REGRESSION; // 2nd MA method
input ENUM_APPLIED_PRICE InpMA2applyTo = PRICE_CLOSE; // 2nd MA apply to
input int InpMA2shift = 0; // 2nd MA shift
input ENUM_BOOL InpMA2priceLabel = false; // 2nd MA show price label
input ENUM_MA_LINE_TYPE InpMA3lineType = MA_NONE; // 3rd MA
input int InpMA3period = 20; // 3rd MA period
input ENUM_MA_METHOD_EXT InpMA3method = _VWAP_TICKVOL; // 3rd MA method
input ENUM_APPLIED_PRICE InpMA3applyTo = PRICE_CLOSE; // 3rd MA apply to
input int InpMA3shift = 0; // 3rd MA shift
input ENUM_BOOL InpMA3priceLabel = false; // 3rd MA show price label
input ENUM_MA_LINE_TYPE InpMA4lineType = MA_NONE; // 4th MA
input int InpMA4period = 21; // 4th MA period
input ENUM_MA_METHOD_EXT InpMA4method = _MODE_SMA; // 4th MA method
input ENUM_APPLIED_PRICE InpMA4applyTo = PRICE_CLOSE; // 4th MA apply to
input int InpMA4shift = 0; // 4th MA shift
input ENUM_BOOL InpMA4priceLabel = false; // 4st MA show price label
input group "### Channel"
input ENUM_CHANNEL_TYPE InpShowChannel = _None; // Show Channel
input int InpChannelPeriod = 20; // Channel period
input int InpChannelAtrPeriod = 10; // Channel ATR period
input ENUM_APPLIED_PRICE InpChannelAppliedPrice = PRICE_CLOSE; // Channel applied price
input double InpChannelMultiplier = 2; // Channel multiplier
input double InpChannelBandsDeviations = 2.0; // Channel Bands deviations
input ENUM_CHANNEL_LABEL_DISP InpChannelPriceLabels = LABEL_NONE; // Channel Bands price labels
//input ENUM_BOOL InpChannelPriceLabel = false; // Channel Bands price labels
//input ENUM_BOOL InpChannelMidPriceLabel = false; // Channel mid-price label
#endif // AMP_VERSION
input group "### Misc"
input ENUM_BOOL InpUsedInEA = false; // Indicator used in EA via iCustom()
#ifndef AMP_VERSION
input string InpTradingSessionTime = "00:00-00:00"; // Trading session time
input double InpTopBottomPaddingPercentage = 0.30; // Use padding top/bottom (0.0 - 1.0)
input color InpRColor = clrDodgerBlue; // Resistance line color
input color InpPColor = clrGold; // Pivot line color
input color InpSColor = clrFireBrick; // Support line color
input color InpPDHColor = clrHotPink; // Previous day's high
input color InpPDLColor = clrLightSkyBlue; // Previous day's low
input color InpPDCColor = clrGainsboro; // Previous day's close
#ifdef USES_PRICE_PROJECTIONS
input color InpHighThresholdIndicatorColor = clrGreen; // Bullish bar projection color
input color InpLowThresholdIndicatorColor = clrFireBrick; // Bearish bar projection color
#endif
#ifdef USES_COUNTER
input color InpCounterColor = clrGold; // Counter color
#endif
input color InpMA1PriceLabelColor = clrWhiteSmoke; // MA1 label color
input color InpMA2PriceLabelColor = clrWhiteSmoke; // MA2 label color
input color InpMA3PriceLabelColor = clrWhiteSmoke; // MA3 label color
input color InpMA4PriceLabelColor = clrWhiteSmoke; // MA4 label color
input color InpChannelHighPriceLabelColor = clrWhiteSmoke; // Channel high label color
input color InpChannelMidPriceLabelColor = clrWhiteSmoke; // Channel mid label color
input color InpChannelLowPriceLabelColor = clrWhiteSmoke; // Channel low label color
input ENUM_BOOL InpShowCurrentBarOpenTime = true; // Display chart info
input string InpSoundFileBull = "news.wav"; // Use sound file for bullish alert
input string InpSoundFileBear = "timeout.wav"; // Use sound file for bearish alert
#endif // !AMP_VERSION
// #ifdef AMP_VERSION
// input ENUM_BOOL DisplayAsBarChart = true; // Display as tick chart
// #else
input ENUM_BOOL InpDisplayAsBarChart = false; // Display as bar chart
// #endif // AMP_VERSION
input ENUM_BOOL InpShiftObj = false; // Shift objects with chart
#endif // !USE_CUSTOM_SYMBOL
#else // don't SHOW_INDICATOR_INPUTS
//
// This block sets default values
//
string InpTradingSessionTime = "0:0-0:0";
double InpTopBottomPaddingPercentage = 0;
ENUM_PIVOT_POINTS InpShowPivots = ppNone;
ENUM_PIVOT_TYPE InpPivotPointCalculationType = ppHLC3;
color InpRColor = clrNONE;
color InpPColor = clrNONE;
color InpSColor = clrNONE;
color InpPDHColor = clrNONE;
color InpPDLColor = clrNONE;
color InpPDCColor = clrNONE;
#ifdef USES_PRICE_PROJECTIONS
color InpHighThresholdIndicatorColor = clrNONE;
color InpLowThresholdIndicatorColor = clrNONE;
#endif
#ifdef USES_COUNTER
color InpCounterColor = clrNONE;
#endif
color InpMA1PriceLabelColor = clrNONE;
color InpMA2PriceLabelColor = clrNONE;
color InpMA3PriceLabelColor = clrNONE;
color InpMA4PriceLabelColor = clrNONE;
color InpChannelHighPriceLabelColor = clrNONE;
color InpChannelMidPriceLabelColor = clrNONE;
color InpChannelLowPriceLabelColor = clrNONE;
ENUM_BOOL InpShowNextBarLevels = false;
ENUM_BOOL InpShowCurrentBarOpenTime = false;
color InpInfoTextColor = clrNONE;
#ifdef AMP_VERSION
ENUM_BOOL InpNewBarAlert = false;
ENUM_BOOL InpReversalBarAlert = false;
ENUM_BOOL InpMaCrossAlert = false;
ENUM_BOOL InpUseAlertWindow = false;
ENUM_BOOL InpUseSound = false;
ENUM_BOOL InpUsePushNotifications = false;
#else
ENUM_ALERT_WHEN InpAlertMeWhen = ALERT_WHEN_None;
ENUM_ALERT_NOTIFY_TYPE InpAlertNotificationType = ALERT_NOTIFY_TYPE_None;
#endif
string InpSoundFileBull = "";
string InpSoundFileBear = "";
ENUM_BOOL InpDisplayAsBarChart = true;
ENUM_BOOL InpShiftObj = false;
ENUM_BOOL InpUsedInEA = true; // This should always be set to TRUE for EAs & Indicators
#endif // SHOW_INDICATOR_INPUTS