Technical Indicator

Hourly Buffers for Data Collection in MetaTrader 5: A Simple Guide
MetaTrader5
Hourly Buffers for Data Collection in MetaTrader 5: A Simple Guide

Purpose As traders, we often need to collect data for analysis and strategy modeling. This straightforward indicator will help you create hourly buffers in a binary format, making it easy to gather data for your models. The indicator offers a buffer array for each hour (0-23) and includes an additional buffer to store the hour itself. If you're collecting data from other indicators into a CSV using functions like CopyBuffer, this tool allows you to add extra columns for the hour, enhancing your dataset. This simple code is great for those involved in data collection for machine learning or other modeling efforts, providing you with ready-to-use dummy variables (buffers 0 to 23) and an hour variable (buffer 24). Walking through the Code We begin by declaring the buffer and plot numbers, setting them to 25: #property indicator_chart_window #property indicator_buffers 25 #property indicator_plots 25 Buffer Labelling Next, we define the buffer labels for the data window: #property indicator_label1 "Hour 00" #property indicator_label2 "Hour 01" #property indicator_label3 "Hour 02" #property indicator_label4 "Hour 03" #property indicator_label5 "Hour 04" #property indicator_label6 "Hour 05" #property indicator_label7 "Hour 06" #property indicator_label8 "Hour 07" #property indicator_label9 "Hour 08" #property indicator_label10 "Hour 09" #property indicator_label11 "Hour 10" #property indicator_label12 "Hour 11" #property indicator_label13 "Hour 12" #property indicator_label14 "Hour 13" #property indicator_label15 "Hour 14" #property indicator_label16 "Hour 15" #property indicator_label17 "Hour 16" #property indicator_label18 "Hour 17" #property indicator_label19 "Hour 18" #property indicator_label20 "Hour 19" #property indicator_label21 "Hour 20" #property indicator_label22 "Hour 21" #property indicator_label23 "Hour 22" #property indicator_label24 "Hour 23" #property indicator_label25 "Hour" Buffer Declarations Next, we declare the buffers and an integer variable to hold the hour of the day: double hourBuffer0[]; double hourBuffer1[]; double hourBuffer2[]; double hourBuffer3[]; double hourBuffer4[]; double hourBuffer5[]; double hourBuffer6[]; double hourBuffer7[]; double hourBuffer8[]; double hourBuffer9[]; double hourBuffer10[]; double hourBuffer11[]; double hourBuffer12[]; double hourBuffer13[]; double hourBuffer14[]; double hourBuffer15[]; double hourBuffer16[]; double hourBuffer17[]; double hourBuffer18[]; double hourBuffer19[]; double hourBuffer20[]; double hourBuffer21[]; double hourBuffer22[]; double hourBuffer23[]; double hourBuffer[]; int bar_hour; Indexing and Plot Drawing We set the index for all buffers to data and turned off plotting through a loop. This was necessary because attempting to use a loop to set the index presented errors when passing arrays through SetIndexBuffer. However, looping worked perfectly for PlotIndexSetInteger. // Assign buffers to index, hide from chart, show in Data Window SetIndexBuffer(0, hourBuffer0, INDICATOR_DATA); SetIndexBuffer(1, hourBuffer1, INDICATOR_DATA); SetIndexBuffer(2, hourBuffer2, INDICATOR_DATA); SetIndexBuffer(3, hourBuffer3, INDICATOR_DATA); SetIndexBuffer(4, hourBuffer4, INDICATOR_DATA); SetIndexBuffer(5, hourBuffer5, INDICATOR_DATA); SetIndexBuffer(6, hourBuffer6, INDICATOR_DATA); SetIndexBuffer(7, hourBuffer7, INDICATOR_DATA); SetIndexBuffer(8, hourBuffer8, INDICATOR_DATA); SetIndexBuffer(9, hourBuffer9, INDICATOR_DATA); SetIndexBuffer(10, hourBuffer10, INDICATOR_DATA); SetIndexBuffer(11, hourBuffer11, INDICATOR_DATA); SetIndexBuffer(12, hourBuffer12, INDICATOR_DATA); SetIndexBuffer(13, hourBuffer13, INDICATOR_DATA); SetIndexBuffer(14, hourBuffer14, INDICATOR_DATA); SetIndexBuffer(15, hourBuffer15, INDICATOR_DATA); SetIndexBuffer(16, hourBuffer16, INDICATOR_DATA); SetIndexBuffer(17, hourBuffer17, INDICATOR_DATA); SetIndexBuffer(18, hourBuffer18, INDICATOR_DATA); SetIndexBuffer(19, hourBuffer19, INDICATOR_DATA); SetIndexBuffer(20, hourBuffer20, INDICATOR_DATA); SetIndexBuffer(21, hourBuffer21, INDICATOR_DATA); SetIndexBuffer(22, hourBuffer22, INDICATOR_DATA); SetIndexBuffer(23, hourBuffer23, INDICATOR_DATA); SetIndexBuffer(24, hourBuffer, INDICATOR_DATA); for(int i = 0; i < 24; i++) { PlotIndexSetInteger(i, PLOT_DRAW_TYPE, DRAW_NONE); PlotIndexSetInteger(i, PLOT_SHOW_DATA, true); } return(INIT_SUCCEEDED); OnCalculate Function Loops and Program Now we dive into the OnCalculate function: Here, we reset all buffers to zero, only changing the one corresponding to the current hour to one. There may be efficiency improvements to explore later. if (rates_total

2024.12.25
Unlock Trading Potential with Fibonacci Bollinger Bands for MetaTrader 5
MetaTrader5
Unlock Trading Potential with Fibonacci Bollinger Bands for MetaTrader 5

What Are Fibonacci Bollinger Bands? The Fibonacci Bollinger Bands indicator is a fantastic tool that combines the classic Bollinger Bands with Fibonacci levels, giving traders a powerful way to spot dynamic support and resistance zones. This tool has been converted from Pine Script (shoutout to Rashad!) into MQL5, making it fully compatible with MetaTrader 5. Key Features Automatic Fibonacci Level Calculation: This indicator automatically calculates Fibonacci levels on the Bollinger Bands, streamlining your analysis. Breakout and Reversal Insights: It provides a fresh perspective, perfect for identifying breakout and reversal opportunities in the market. MetaTrader 5 Compatibility: Seamlessly integrates with your MT5 setup. If you're looking to enhance your technical analysis toolkit, give this indicator a spin! Download it and start testing your strategies today! Code Snippet For the coding enthusiasts, here’s the Pine Script code: study(shorttitle="FBB", title="Fibonacci Bollinger Bands", overlay=true) length = input(200, minval=1) src = input(hlc3, title="Source") mult = input(3.0, minval=0.001, maxval=50) basis = vwma(src, length) dev = mult * stdev(src, length) upper_1 = basis + (0.236 * dev) upper_2 = basis + (0.382 * dev) upper_3 = basis + (0.5 * dev) upper_4 = basis + (0.618 * dev) upper_5 = basis + (0.764 * dev) upper_6 = basis + (1 * dev) lower_1 = basis - (0.236 * dev) lower_2 = basis - (0.382 * dev) lower_3 = basis - (0.5 * dev) lower_4 = basis - (0.618 * dev) lower_5 = basis - (0.764 * dev) lower_6 = basis - (1 * dev) plot(basis, color=fuchsia, linewidth=2) p1 = plot(upper_1, color=white, linewidth=1, title="0.236") p2 = plot(upper_2, color=white, linewidth=1, title="0.382") p3 = plot(upper_3, color=white, linewidth=1, title="0.5") p4 = plot(upper_4, color=white, linewidth=1, title="0.618") p5 = plot(upper_5, color=white, linewidth=1, title="0.764") p6 = plot(upper_6, color=red, linewidth=2, title="1") p13 = plot(lower_1, color=white, linewidth=1, title="0.236") p14 = plot(lower_2, color=white, linewidth=1, title="0.382") p15 = plot(lower_3, color=white, linewidth=1, title="0.5") p16 = plot(lower_4, color=white, linewidth=1, title="0.618") p17 = plot(lower_5, color=white, linewidth=1, title="0.764") p18 = plot(lower_6, color=green, linewidth=2, title="1") Visual Example Here’s how the indicator looks in action: Happy trading, and may your charts be ever in your favor!

2024.12.04
Optimize Your Backtesting with the New Economic Calendar Tool for MetaTrader 5
MetaTrader5
Optimize Your Backtesting with the New Economic Calendar Tool for MetaTrader 5

Let’s cut to the chase: MetaTrader 5's built-in economic calendar isn't perfectly synced with historical quotes. This can create discrepancies that you need to be aware of, especially if you're serious about your trading strategies.When quotes are generated, they come with timestamps that reflect the server's time zone at that moment. Once those bars are set, their timestamps don’t budge. Meanwhile, the economic calendar provides insights into events—past, present, and future—based on the server's current time zone. Since brokers often have specific time zone policies, including adjusting for daylight saving time, you might find that timestamps for historical events can be off by an hour compared to the corresponding bars for about half the year.But it gets trickier. Brokers sometimes switch time zones more dramatically than just toggling daylight saving time. This can leave historical quotes appearing several hours out of sync with the timing of the economic events that occurred. With news coming in from various countries, each with their own daylight saving rules, the timing of news releases can seem to bounce around on your charts, particularly during spring and autumn.It may seem like a minor detail when trading live, but what if you want to backtest a news-driven strategy? While it’s true that the calendar isn't natively supported in the MetaTrader tester, many traders rely on news to make informed decisions or to step back before the market reacts. That’s why incorporating the calendar into your backtesting is crucial. Exporting the calendar for external storage and importing it into the tester is a smart move, and we covered a useful archiving tool for this in our algotrading book.However, we faced a challenge: the historical quotes and events were out of sync. This issue was left unresolved in the book, but now it's addressed with the extended version of CalendarCache.mqh and the new CalendarMonitorCachedTZ.mq5 indicator. This isn’t just any indicator; it keeps an eye on news events and dynamically updates an on-chart table with past and upcoming events.All the time correction work happens behind the scenes, thanks to the TimeServerDST.mqh library. If you're keen to understand how the time correction works, you can use the CalendarCSVForDates.mq5 script to compare CSV files with and without the correction side by side.Here’s how the library is integrated into both programs:#include &lt;TimeServerDST.mqh&gt; // including before Calendar cache enables timezone fix-up support #include &lt;MQL5Book/CalendarFilterCached.mqh&gt; #include &lt;MQL5Book/CalendarCache.mqh&gt; Just like in the original indicator, there's a string input called CalendarCacheFile, where you can specify a name for the calendar file to read from or write to.When you attach the indicator to an online chart with an empty CalendarCacheFile, it will use the built-in calendar live. If you run the indicator with a specific name in CalendarCacheFile and the file doesn’t exist, it will export the calendar records into the cache file (creating the file) and exit. This is also the point where timestamps can be corrected (see FixCachedTimesBySymbolHistory below).When the indicator runs with the name of an existing cache file in CalendarCacheFile, it loads the cache and operates on this copy just like it would with the built-in calendar. This feature is particularly useful for backtesting. Remember, the tester requires you to specify additional files—specifically, the prepared online calendar file—in the directive #property tester_file or ensure the calendar file is in the common folder: C:/Users/&lt;User&gt;/AppData/Roaming/MetaQuotes/Terminal/Common/.Of course, the cache can also be loaded into an EA during backtests and optimizations.The input string FixCachedTimesBySymbolHistory is processed in a specific manner:If it’s left empty, the indicator saves the cache without making time corrections.To enable time corrections during export, you must specify a symbol for empirical detection of historical time zones on the server. It’s best to use “XAUUSD” or “EURUSD” for this.With this input, only a few lines are added to the new version of the indicator:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(StringLen(FixCachedTimesBySymbolHistory)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache[].adjustTZonHistory(FixCachedTimesBySymbolHistory, true); The adjustTZonHistory method is specifically designed for adjusting timestamps and utilizes the internals of TimeServerDST.mqh.This method should only be called online (not in the tester). Typically, it should be called on cache objects filled from the built-in calendar immediately after filling. Otherwise, if the cache is loaded from a calendar file, or if the method has been called already, the cache contents may already be adjusted. Then you’ll end up applying a fix to an already fixed timestamp, which is not what you want.The second parameter (true) tells the method to log the boundaries of applied changes. Here’s an example of what that log might contain:Time fix-up started at 2021.07.19 00:30:00 2021.07.19 00:30:00: 148786 -10800 diff=-3600 2021.11.08 01:50:00: 135918 -7200 OK 2022.03.14 04:30:00: 161085 -10800 diff=-3600 2022.11.07 04:00:00: 165962 -7200 OK 2023.03.13 01:50:00: 168500 -10800 diff=-3600 2023.11.06 01:50:00: 169270 -7200 OK 2024.03.11 01:50:00: 181258 -10800 diff=-3600 2024.11.04 02:30:00: 208469 -7200 OK Each line in the log shows the time and ID of the event where a discrepancy was found, the server time offset at that event, and the difference that needs to be applied to all future timestamps to eliminate the bias in server time at the time of calendar caching.The attached mqh-files (CalendarFilter.mqh, CalendarCache.mqh, QuickSortStructT(Ref).mqh) come with bug fixes and enhancements compared to their original versions from the book.Updates11.11.2024 - small bug fix and updates in CalendarFilter.mqh, CalendarCache.mqh;22.11.2024 - small bug fixes and improvements in CalendarCache.mqh.

2024.11.11
Mastering the Hammer Indicator in MetaTrader 5
MetaTrader5
Mastering the Hammer Indicator in MetaTrader 5

If you’re looking to level up your trading game, the Hammer Indicator might just be the tool you need in your arsenal. This nifty indicator helps you spot key candlestick patterns—specifically those green and red hammers, as well as inverted hammers—on your MetaTrader 5 charts. So, what’s the deal with hammers? A hammer is characterized by a small body and a long lower wick, signaling potential buying pressure that often emerges after a downtrend. On the flip side, the inverted hammer has a long upper wick and can indicate a possible reversal after an uptrend. These formations are like breadcrumbs leading you to potential trading opportunities. The Hammer Indicator does all the heavy lifting by calculating the size and ratio of candlestick wicks and bodies to pinpoint these patterns. You can customize it with three main parameters: MaxRatioShortWick: This sets the maximum ratio for the short wick compared to the whole candlestick, helping you filter out patterns with tiny top wicks. MinRatioLongWick: This defines the minimum ratio for the long wick, ensuring that the patterns detected have significant wick lengths compared to the body. MinCandleSize: This specifies the minimum size of the candlestick to qualify as a hammer or inverted hammer pattern. Once the Hammer Indicator spots a pattern, it’ll flash an arrow on your chart in either green or red, positioned near the highest or lowest price of the candlestick, depending on the direction. The code takes care of creating and positioning these graphical cues, and it cleans up nicely when you decide to remove the indicator. This tool is perfect for traders keen on spotting potential reversals. With customizable parameters, you can tweak it to fit various timeframes and market conditions. It’s a versatile companion that can enhance your trading strategies by providing early visual cues for potential price shifts.

2024.10.31
Unlocking the Week: Day of Week and Year Indicators in MetaTrader 5
MetaTrader5
Unlocking the Week: Day of Week and Year Indicators in MetaTrader 5

The WeekDays Indicator is a fantastic tool that displays the Day of the Week, Week of the Year, Day of the Year, or Bar Index right in the Data Window. You can even choose to show this info as labels on your chart if you prefer. As always, the Data Window updates in real-time based on your mouse movements. The name of the day is quickly reflected in the left column, while the right column's content is determined by your settings—specifically, the WholePart and FractionalPart inputs. You can select which information to display: Day Of Week, Week Of Year, Day Of Year, Bar Index, or simply None. WholePart - This lets you choose the number in front of the decimal point; FractionalPart - This lets you choose the number after the decimal point; These two selected properties (integer values) are combined into a single floating-point value for each bar and stored in the indicator buffer. To keep things tidy, this buffer is set to invisible on the chart using the DRAW_NONE style, as its values are synthetic. For example, as shown in the screenshot below, if the day is Tuesday, the buffer displaying Week.DoY (Day Of Year index) shows a value of 44.302. This means it’s the 44th week and the 302nd day of the year. Additionally, you can customize your indicator further. You can choose whether or not to ShowLabels on the chart, select the FontName, FontSize, and FontColor, adjust the Padding from the top/bottom edges, align the text (top/middle/bottom), and even set a RotationAngle if you want a middle alignment. By default, the clrNONE for FontColor will automatically select a color that contrasts with your current chart background.

2024.10.29
Unlocking Trading Potential: AutoFibo Indicator for MetaTrader 5
MetaTrader5
Unlocking Trading Potential: AutoFibo Indicator for MetaTrader 5

Features: Automatic Fibonacci Levels: This nifty indicator automatically charts Fibonacci retracement lines based on the latest ZigZag peaks and troughs, giving you a clear roadmap of potential reversal zones. Dynamic and Static Fibonacci Options: You have the flexibility to choose between dynamic Fibonacci levels that refresh with every new ZigZag point or static levels that stick to previous significant highs and lows. Customizable Appearance: Tailor the colors, styles, and widths of the Fibonacci lines to fit your charting preferences, ensuring your analysis stands out against various backgrounds. Optimized for MetaTrader 5: Built to leverage MT5's advanced graphical capabilities, this indicator offers a smooth and efficient trading experience. Parameters: ZigZag Settings (ExtDepth, ExtDeviation, ExtBackstep): Modify these settings to adjust how sensitive the ZigZag indicator is to price movements, allowing you to capture more or fewer swings in the market. Dynamic Fibonacci Settings: Personalize the color, line style, and width of the dynamic Fibonacci retracement lines to match your trading style. Static Fibonacci Settings: Adjust the look of the static Fibonacci levels based on the second most recent ZigZag high or low for consistent analysis. How to Use: The AutoFibo indicator is perfect for both trend-following and reversal strategies. By layering Fibonacci levels over the ZigZag pattern, you can easily visualize retracement levels and identify potential entry and exit points. Whether you’re day trading or looking at long-term positions, this tool is versatile enough for any timeframe.

2024.10.25
Unlocking Trading Potential with the PTB Indicator for MetaTrader 5
MetaTrader5
Unlocking Trading Potential with the PTB Indicator for MetaTrader 5

Introducing the PTB.mq5 Indicator Overview: The PTB.mq5 indicator is a powerful tool for traders using the MetaTrader 5 platform. This nifty indicator calculates and displays both short-term and long-term high and low levels, along with key Fibonacci retracement levels derived from these extremes. Features: - Short-Term High and Low: This feature computes the highest and lowest prices over a user-defined short length, helping you pinpoint immediate support and resistance levels. - Long-Term High and Low: This functionality calculates the highest and lowest prices over a longer timeframe, giving you insights into broader market trends. - Fibonacci Levels: The indicator also plots essential Fibonacci retracement levels (23.6%, 38.2%, 50%, 61.8%, and 78.6%) based on the long-term high and low. These levels are widely cherished by traders for identifying potential reversal points in the market. Input Parameters: - shortLength: Specify the number of candles to consider for calculating short-term high and low. - longLength: Define the number of candles to consider for calculating long-term high and low. Visual Representation: - The indicator employs distinct colors and widths for the plotted lines: &nbsp; - Short High: Red (width: 3) &nbsp; - Short Low: Blue (width: 3) &nbsp; - Long High: Green (width: 3) &nbsp; - Long Low: Orange (width: 3) &nbsp; - Fibonacci Levels: &nbsp; &nbsp; - 78.6%: Purple (width: 1) &nbsp; &nbsp; - 23.6%: Aqua (width: 1) &nbsp; &nbsp; - 38.2%: Yellow (width: 1) &nbsp; &nbsp; - 61.8%: Brown (width: 1) &nbsp; &nbsp; - 50%: White (width: 3) Calculation Logic: - The indicator systematically reviews the price data to compute the highest and lowest values for both short and long periods. - It then calculates the Fibonacci levels based on the difference between the long-term high and low.

2024.09.22
Streamline Your Trading with ChartObjectsCopyPaste for MetaTrader 5
MetaTrader5
Streamline Your Trading with ChartObjectsCopyPaste for MetaTrader 5

Hey there, fellow traders! Have you ever found yourself needing to copy and paste graphical objects between different charts? If so, you're not alone! Unfortunately, MetaTrader doesn't offer a straightforward "Copy & Paste" feature for these objects. The closest solution is using templates (tpl-files), but they save the entire chart state—indicators, settings, and all that extra fluff—which is often more than you need. That's where my handy indicator, ChartObjectsCopyPaste.mq5, comes into play. This tool allows you to select and copy graphical objects directly to your clipboard, making it a breeze to paste them onto other charts—no strings attached! This indicator is built on the foundation of another one you might know from the algotrading book: ObjectGroupEdit.mq5. If you're curious about the underlying classes like ObjectMonitor and MapArray, feel free to check them out! To get started, you’ll want to attach the indicator to at least two charts: the source chart where you want to copy objects from, and the target chart where you plan to paste them. While it’s running, the indicator keeps an eye on existing graphical objects and tracks which ones you’ve selected for copying. As with any good copy-and-paste operation, you’ll need to remember a couple of hotkeys: Press Ctrl+Q to copy all selected objects to your Windows clipboard as text. You can open this clipboard content in any text editor—an example is shared below. On your target chart, hit Ctrl+J to paste the objects you've copied. Now, you might be wondering why I chose Ctrl+Q and Ctrl+J. Well, unfortunately, MetaTrader intercepts many common hotkeys, so these two were some of the few available options. Standard hotkeys like Ctrl+C and Ctrl+V just don’t work in this context. If you’re a bit tech-savvy, the source code is available for you to tweak those hotkeys to something else if you prefer! Since this indicator uses system DLLs to access the Windows clipboard, you’ll need to allow DLL imports in the Properties dialog, specifically under the Dependencies tab. Just a heads up: because the Codebase doesn’t allow DLL imports, the clipboard-related code is wrapped in a conditional preprocessor directive. Be sure to uncomment the line: #define DLL_LINK before you compile it. Otherwise, you’ll get alerts when you try to use the hotkeys, but nothing will actually happen! Here are the inputs you can work with: MakeAllSelectable: A flag to make all objects selectable (normally false for objects created programmatically). LogDetails: A flag to output all properties of transferred objects to the log. Keep in mind, the indicator doesn’t verify if the pasted objects match the target chart’s specifications, like symbol, price range, or number of subwindows—that’s up to you! Here’s an example of what the clipboard text looks like with two objects: OBJ_VLINE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; H1 Vertical Line 5578&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 enum ENUM_OBJECT_PROPERTY_INTEGER 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_COLOR&nbsp;&nbsp; 55295 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_STYLE&nbsp;&nbsp; 2 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_WIDTH&nbsp;&nbsp; 1 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_BACK&nbsp;&nbsp;&nbsp;&nbsp;0 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_SELECTED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TYPE&nbsp;&nbsp;&nbsp;&nbsp;0 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TIME&nbsp;&nbsp;&nbsp;&nbsp;1726739940 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_SELECTABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_CREATETIME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1726847009 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_TIMEFRAMES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2097151 200&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_LEVELS&nbsp;&nbsp;0 207&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_ZORDER&nbsp;&nbsp;0 208&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_HIDDEN&nbsp;&nbsp;0 1032&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_RAY&nbsp;&nbsp;&nbsp;&nbsp; 1 enum ENUM_OBJECT_PROPERTY_DOUBLE 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_PRICE&nbsp;&nbsp; 1.11449 enum ENUM_OBJECT_PROPERTY_STRING 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_NAME&nbsp;&nbsp;&nbsp;&nbsp;H1 Vertical Line 5578 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TEXT&nbsp;&nbsp;&nbsp;&nbsp; 206&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TOOLTIP OBJ_CHANNEL&nbsp;&nbsp;&nbsp;&nbsp; H1 Equidistant Channel 40885&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 enum ENUM_OBJECT_PROPERTY_INTEGER 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_COLOR&nbsp;&nbsp; 255 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_STYLE&nbsp;&nbsp; 0 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_WIDTH&nbsp;&nbsp; 1 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_BACK&nbsp;&nbsp;&nbsp;&nbsp;0 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_SELECTED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TYPE&nbsp;&nbsp;&nbsp;&nbsp;5 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TIME&nbsp;&nbsp;&nbsp;&nbsp;1726758000 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TIME.1&nbsp;&nbsp;1726797600 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TIME.2&nbsp;&nbsp;1726758000 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_SELECTABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_CREATETIME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1726847883 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_TIMEFRAMES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2097151 200&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_LEVELS&nbsp;&nbsp;0 207&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_ZORDER&nbsp;&nbsp;0 208&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_HIDDEN&nbsp;&nbsp;0 1003&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_RAY_LEFT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 1004&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_RAY_RIGHT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 1031&nbsp;&nbsp;&nbsp;&nbsp;OBJPROP_FILL&nbsp;&nbsp;&nbsp;&nbsp;0 enum ENUM_OBJECT_PROPERTY_DOUBLE 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_PRICE&nbsp;&nbsp; -28.113879003558715 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_PRICE.1&nbsp;&nbsp;-21.708185053380777 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_PRICE.2&nbsp;&nbsp;-48.04270462633452 enum ENUM_OBJECT_PROPERTY_STRING 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_NAME&nbsp;&nbsp;&nbsp;&nbsp;H1 Equidistant Channel 40885 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TEXT&nbsp;&nbsp;&nbsp;&nbsp; 206&nbsp;&nbsp;&nbsp;&nbsp; OBJPROP_TOOLTIP And here’s what those objects look like once pasted onto the chart:

2024.09.21
Unlocking Trading Opportunities with the RSI EMA Engulfing Bar Indicator for MT5
MetaTrader5
Unlocking Trading Opportunities with the RSI EMA Engulfing Bar Indicator for MT5

Hey traders! If you're on the lookout for a reliable way to spot potential buying opportunities, you're in the right place. The RSI EMA Engulfing Bar indicator for MetaTrader 5 is a game changer that combines various technical indicators and price action patterns. Let’s dive into how this indicator works! Buy Conditions 1. RSI Condition: The Relative Strength Index (RSI) is your first checkpoint. When the RSI value dips below a predetermined low (let's call it RsiLow), it signals that the market might be oversold. This is your cue to pay attention! 2. Candlestick Pattern: This indicator looks for a specific candlestick pattern happening over three consecutive candles: The current candle (1) closes higher than it opens (that's bullish!) The previous candle (2) closes lower than it opens (bearish) The current candle's close is above the open of the previous candle The current candle's close is below the high of the previous candle 3. Moving Average Conditions: The current candle's close should be below the Exponential Moving Average (EMA) A longer-term EMA (Shiftpast) needs to be below a shorter-term EMA (Shiftnow), indicating a possible uptrend. You can tweak the previous shifts of the moving average to adjust your strategy—using numbers like 5-6 for a buy means the EMA ID5 was above ID6 five bars ago. Feel free to experiment with shifts like 3-4, 7-9, or even 10-13! 4. Buy Signal: If all these conditions check out, the alert will generate a

2024.09.13
Mastering the RSI Engulfing Bar V2 Indicator for MetaTrader 5
MetaTrader5
Mastering the RSI Engulfing Bar V2 Indicator for MetaTrader 5

Understanding the RSI Engulfing Bar V2 Indicator If you're looking to boost your trading game, the RSI Engulfing Bar V2 indicator for MetaTrader 5 is a must-have tool. It's designed to help you identify potential reversal points by combining the Relative Strength Index (RSI) with candlestick patterns. Let’s break down how it works! Key Components of the Indicator RSI Condition: The Relative Strength Index (RSI) must be below a specific low threshold, which we call RsiLow. This indicates that the asset is in oversold territory, setting the stage for a potential reversal. Candlestick Pattern: The indicator checks for a specific candlestick pattern across three consecutive candles: The current candle (1) closes higher than it opens, signaling bullish sentiment. The previous candle (2) closes lower than it opens, indicating bearish pressure. The current candle's close is below the high of the previous candle, which adds to the reversal potential. Price Action: To further validate the reversal, the indicator ensures that the current candle's close is above the open of the previous candle. This is a good sign that buyers may be stepping in. Buy Signal: If all the above conditions are met, the indicator generates a "Buy" signal, and you'll see an up arrow at the low of the current candle. This is your cue to take action! Setting Up RSI Levels For optimal performance, make sure to set your RSI with a period of 10 and levels of 30 and 70. Whenever an engulfing bar occurs below or above these RSI levels, the alert will trigger, giving you a heads-up on potential trading opportunities! Full Alerts! Stay alert and ready to act on these signals for maximum trading efficiency.

2024.09.13
First Previous 4 5 6 7 8 9 10 11 12 13 14 Next Last