This is just some information, rather than a question, but I thought I'd share it since I've been wondering how to do this for some time.
The standard BITMAP and BITMAP_LABEL objects allow us to load bitmap images on to the chart, but do not support 32-bit images (with alpha channel).
This means if you want to load an image that has a transparent background, you have to first paint the background of the image the same colour as the background of your chart in a drawing program. This subsequently means if you are coding an indicator that you want to share with others, if they have a different background colour to their chart than you, it's going to show up as an ugly square of the incorrect colour.
By way of an example:
Original image with transparent background
Painted with my chart's background colour
How it looks on my chart
How it looks on someone else's chart with a white background
Not to mention that if the image ends up in front of candles even on my chart, it still looks ugly
This is where the Canvas class can come to the rescue. It had a method called LoadFromFile, which supports 32-bit bitmaps.
The syntax is simple:
canvas.CreateBitmapLabel(chartId, subwindowId, chartObjectName, x, y, width, height, COLOR_FORMAT_ARGB_RAW);
First however we must convert our bitmap to 32-bit alpha format.
There is a free program called Pixelformer which enables us to do this easily. Images can be imported in PNG format with transparency, and exported as 32-bit bitmaps. There is one small caveat - in order to display properly in MT4, the bitmap must be exported from Pixelformer with the "top-down row order" option selected. If this is not checked, only the top half of the bitmap shows up when you try to display it in MT4 (I think this is down to a bug in the section of the Canvas code which tries to flip an image when handling 32-bit format).
Once this has been done, the result can be seen as follows:
Arrow displays correctly on dark background
And against a light background
And can be superimposed in front of candles without obscuring them
The Expert Advisor implements the classic "triangular arbitrage", which is successfully used by hedge funds.
"Triangular" arbitrage refers to a class of neutral-market strategies, in which the profit or loss of open positions does not depend on the direction of the market movement as a whole.
In order to take profit, the EA exploits a weak spot of market makers - it utilizes the difficulty of balancing cross rates of all currency pairs.
The advantages of the strategy are the following:
Currency Power Meter shows the power of major currencies against each other. The indicator shows the relative strength of currency/pair at the current moment in a period of time (H4, daily, weekly, monthly). It is useful for day traders, swing traders and position traders with suitable period options.
Currency power is the true reason of market trend: The strongest currency against the weakest currency will combine into a most trending pair. As we know, trend makes money and all traders love t
This indicator allows you to enjoy the two most popular products for analyzing request volumes and market deals at a favorable price:
Actual Depth of Market Chart Actual Tick Footprint Volume ChartThis product combines the power of both indicators and is provided as a single file.
The functionality of Actual COMBO Depth of Market AND Tick Volume Chart is fully identical to the original indicators. You will enjoy the power of these two products combined into the single super-indicator!
The Digitized Candle Length indicator calculates and shows the length of bars (pips) between High and Low, and also between Close and Open.
The upper digit is High/ Low, the lower one is Close/Open.
Pipfinite creates unique, high quality and affordable trading tools.
Our tools may or may not work for you, so we strongly suggest to try the Demo Version for MT4 first. Please test the indicator prior to purchasing to determine if it works for you.
We want your good reviews, so hurry up and test it for free...we hope you will find it useful.
Channel Flow with Strength Meter
Strategy: Increase probability by confirming signals with strength Watch Video: (Click Here)
The script is intended for automatic placing of Buy Stop pending orders, Stop Losses and Take Profits on the user specified levels.
Avoiding unwanted entering a long position in case of false hitting the level as a result of widening of the spread by a dealing center. Avoiding unwanted triggering of a Stop Loss in case a quote pierces a significant level (fractal) without further confirmation with the close price. Setting a necessary virtual order and entering the market in
Supply Demand with Mean Reversion Concept
The concept of supply demand trading rely on the quantity mismatching between buying and selling volumes in financial markets. To typical traders, supply demand zone serves as the turning point. When we looked at its original concept, we have found that the original supply demand trading can be performed better at mean reversion period rather than trend period. For the demonstration of this concept, for any supply demand zone to work as an successful tr
This is a professional trading robot, which implements the classical strategy of trading inside a channel based on the PriceChannel indicator. The signal is formed at a breakthrough of the lower and upper borders of the Price Channel inside the channel. If the price breaks the lower border of the Price Channel and the price is fixed above this border, it is a buy signal. If the price breaks the upper border of the Price Channel and the price is fixed below this border, then it's a sell signal. O
The script creates account summary report in a separate window.
The report can be created for all deals and on deals for selected financial instruments.
It is possible to specify a time interval of calculation and save report to htm-file.
VirtualTradePad - is a contol panel for working with orders in МetaТrader 5 : buy, sell, buystop, buylimit, sellstop, selllimit, close, delete, modify, tralling stop.
VirtualTradePad won 2nd prize in the "Best Control Panel in the MQL5 Language" Contest.
The panel consists of 5 tabs.
VirtualTradePad PositionsStyle VirtualTradePad Ordersstyle VirtualTradePad SignalsStyleDemo version of the panel - VirtualTradePad LiteProfit or Loss PadINFO PadYou can also try this panel for
This indicator is an adaptation of the MQL4 TDI writen by Dean Malone.
It uses RSI oscillator to assist traders to identify market conditions and reversals. Many strategies have been developed involving TDI or similar indicators which proves it's reliability and potential profitability.
Blue shadow and yellow market line can be removed from chart in the indicator options panel. A file with instructions is available upon request.
We present you an effective software solution for arbitrage between brokers.
The Arbitrage on the market became widespread due to decentralization. There are many liquidity providers, whose quotes differ for various reasons. By tracking the dynamics of changes in the quotes of different brokers, it is possible to determine the delayed and leading brokers, thereby predicting the future prices of the delayed broker for a short time. Knowing these prices and using efficient built-in software filte
Trade in the opposite directions with HedgeTerminalApi library!
HedgeTerminalApi is a program interface allowing you to use HedgeTerminal virtualization technologies in your robots and scripts. With HedgeTerminalApi, you are able to trade in the opposite directions when two or more trading algorithms occupy opposite positions on a single symbol. The library allows robots to track their positions even if these positions overlap entirely or partially. Moreover, with this library, you are able to
qAutoActivation indicator is one of the main components of Trading Chaos Expert trading expert panel. The indicator displays the current trend on the current timeframe. This is the first indicator that is attached to the chart and saved in the trading complex template. It defines what trading signals from the expert panel should be automated for market entry (bullish or bearish ones).
When the trend changes, the indicator changes the line color and, at the same time, highlights the trading pane
The main purpose of the indicator is to detect and mark trade signals on the histogram of the Awesome Oscillator according to the strategies "Trading Chaos, second edition" and "New Trading Dimensions".
The indicator detects and marks the following trade signals:
"Two peaks" - Divergence. The signal "Second wise-man" - third consequent bar of the Awesome Oscillator after its color is changed. The histogram crosses the zero line. The signal "Saucer".The indicator includes a signal block th
Safe Automatic is a safe MetaТrader 5 trading robot working autonomously on a VPS server. The good results are achieved on EURUSD.
The EA applies modified versions of a trend-following strategy, half-pyramiding, scalping, Elliott Wave method and speculating trading with a deposit protection. The EA switches the strategies automatically. The program also takes the news calendar into account: the robot does not enter the market in a 10-minute interval before and after a news rel
Scalper with Automatic Parameter Setting
Would you like to have an Expert Advisor that could automatically calculate trade parameters and adjust to the current market situation?
We present you our new development for the Forex market. This is a tick scalper for МТ4 and МТ5 - TickSniper.
Trading with it is fully automated. Forget continuous monitoring - this Expert Advisor trades independently. Its settings have been optimized over the course of testing on our real accounts.
Does not support hedging orders on a single symbol on MT5
MultiMTCopier MT5Receiver - new and improved multi-terminal positions copier for your real/demo account, works faster, requires less, flexible in managing and upgrading, new information support. This Expert Advisor is designed for the MetaTrader 5 terminal, trades will be copied into this terminal.
The EA will copy all positions without delays Additionally integrated notification in situations requiring user attention
The Triangular Arbitrage EA exploits inefficiencies between three related currency pairs, placing offsetting transactions which cancel each other for a net profit.
Easy to set up and supervise No indicators or hard analysis needed The strategy is time-frame independent Under ideal trading conditions, triangular arbitrage is a zero-risk strategy Arbitrage is a high-volume strategy and generates a lot of rebatesIt implements a set of unique features:
You decide which pair set
The MultiTimeFramesAnalis indicator analyzes 19 time frames from M1 to D1. If there is a bullish candlestick, the rectangle is green, if there is a bearish candlestick, the rectangle is red, if there is a Dodji - the color is yellow. Furthermore, it calculates indicator values based on the current trend strength. This indicator can be used as an individual trading system. The input parameters are the binding coordinates of the indicator window to the left top corner of the main chart. You can at
You no longer need dozens of monitors to analyze the behavior of 28 different instruments on 6 timeframes in statics and dynamics of their relationship.
Megatrend Monitor SF286 allows you to do all that on a single monitor in a window of a single chart.
Model SF286 only resembles its predecessor - Megatrend Monitor.
SF286 received a completely new algorithm based on the SinFractal 7TF indicator, and became much faster in calculations and histogram plotting.
And most importantly, SF286 acqui
Cluster analysis is now available in MetaTrader 5!
YuСlusters indicator builds a cluster graph based on tick data. For exchange instruments it is the volume and the last deal price, for Forex instruments it is the real or tick volume (depends on broker) and selectable type of the current price: Bid, Ask or (Bid+Ask)/2.
There are 5 criteria of cluster generation: Time interval, the criterion is set in seconds. Price range, the criterion is set in points. The current cluster is closed when the
Ichimoku Kinko Hyo is a purpose-built trend trading charting system that has been successfully used in nearly every tradable market. It is unique in many ways, but its primary strength is its use of multiple data points to give the trader a deeper, more comprehensive view into price action. This deeper view, and the fact that Ichimoku is a very visual system, enables the trader to quickly discern and filter "at a glance" the low-probability trading setups from those of higher probability.
News Trader Pro is a unique robot that allows you to trade the news by your predefined strategy. It loads every piece of news from several popular Forex websites. You can choose any news and preset the strategy to trade it, and then News Trader Pro will trade that news by selected strategy automatically when the news comes.
News release gives opportunity to have pips since the price usually has big move at that time. Now, with this tool, trading news becomes easier, more flexible and more excit
The script is intended for automatic placing of Sell Stop pending orders, Stop Losses and Take Profits on the user specified levels. This script is not that useful as "Virtual pending buy stop", since short positions are opened as Bid price crosses the levels. Thus spread widening is not dangerous. Nevertheless, you need to have this script to prevent unwanted hitting of the Stop Loss levels.
Automation of the process of placing the Sell Stop pending orders, Stop Losses and T
The Expert Advisor modifies the Stop Loss level of the opened position (on the current instrument).
The Parabolic SAR, NRTR (Nick Rypock Trailing Reverse), Moving Average indicators or the linear channel regression are used.
Trailing stop only when profit;Trailing stop only to price;work on each tick or on completed (formed) bars.
The script allows users to easily close positions if their profit/loss reaches or exceeds a value specified in pips.
Please set slippage value first. Sometimes some positions do not close due to high volatility of the market. Please set larger slippage or restart the script.
What is Squeeze?
A contraction of the Bollinger Bands inside the Keltner Channel reflects a market taking a break and consolidating, and is usually seen as a potential leading indicator of subsequent directional movement or large oscillation movement.
When Bollinger bands leave Keltner Channel it means markets switching from a low volatility to high volatility and high volatility are something all traders are looking for.
What I was missing in some indicators is possibility of monitoring many
PipTick VSA is based on the original Volume Spread Analysis method. It was designed for quick and easy recognition of VSA patterns. Even though this indicator looks very simple, it is the most sophisticated tool that we've ever made. PipTick VSA indicator is a really powerful analytical tool that generates very reliable trading signals. Because it is very user friendly and understandable, it is suitable for every type of trader, regardless of his experience.
What is VSA?
VSA - Volume Spread An
This is an intelligent trend indicator based on Moving Averages and Bollinger Bands. The indicator does not redraw at all. In order to trade, all you have to do is watch for color changes. Go short when a thick red line is drawn over price action, and go long when the blue thick line appears under price action.
The indicator will show the trend, so therefore it is advisable that you must use an oscillator to provide for well-timed entries. Otherwise, the stop loss will probably be reached. Usin
If you replace the function LoadFromFile() by the fixed code, you will also be able to load images that were stored as resources. But you must not set the Top-Down-row-order flag, it won´t work.
This way you don´t need to copy the bitmaps into the files folder of any clients.
//| Load data from file |
bool CCanvas::LoadFromFile(const string filename)
//--- open file
//--- Modified by Doerk
//--- read header
Print("Failed to read file header");
//--- process depending on color depth
//--- flip image
//--- check if at least one pixel has alpha channel
//--- then leave image as is (consider it as premultiplied ARGB)
//--- there is alpha channel
//--- no alpha channel
//--- consider image as nontransparent, add alpha channel as 0xFF
//--- color components are not processed by terminal (they should be correctly specified by user)
//--- convert image to premultiplied ARGB
//--- 24 bits - change image color depth to 32 bits
//--- allocate memory for pixels
//--- the number of bytes that define a line of pixels must be multiple of 4
byte_width=m_width*3; // number of bytes in line of pixels
byte_width=(byte_width+3)&~3; // align line to the 4 byte boundary
Hallo and thank you for this publication,
I have tried the functions. The function to cerate ab BitmapLabel is running, but the image is not load.
I can see the Object in the Properties on chart and I can select it.
Now I controlled the File to the bmp and copy it for test in same Folder "Expert"
The bmp ist 32bit and I used Pixelformer and same format too.
I hope someone can help me... thank you.
I have tried the functions. The function to cerate ab BitmapLabel is running, but the image is not load...
Canvas #include is not necessary for bitmap image with alpha channel.
Bitmaps with alpha channel require #resource followed by path to image or they will not display. This is not found in MQL4 documentation but it's the only way it will work.
Example - If your image is located inside the folder /MQL4/Files/, then you would use the following: #resource"\\Files\\testbild.bmp";
Then add the image to the chart using whatever code you've created then use "::Files\\testbild.bmp" for your path.