Join our fan page
Tick Scalper Pro - tick chart and one-click trading panel for MetaTrader 5 - expert for MetaTrader 5
- Views:
- 98
- Rating:
- Published:
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
Tick Scalper Helper is a manual trading utility for traders who work on very short time frames and want to see every price change. It replaces the time-based chart view with a compact tick chart and adds a panel for fast order handling. One tick is one bar, buy/sell/close buttons are always at hand, bid and ask lines move with every tick, and pending orders can be placed at the exact price you click. It shows the depth of market (DOM) of your broker next to the tick chart, and the compact panel can be moved anywhere on the chart. It can also be tested in the Strategy Tester. The product uses no DLL, reads no files and makes no web requests.
Tick chart
- Each tick is drawn as one bar, 2 pixels wide, so as many ticks as possible fit on the screen. Up ticks are green, down ticks red, unchanged ticks grey.
- A strip at the bottom shows each tick as a coloured mark, taller for larger price moves.
- The Ticks/bar - and + buttons (own labelled row in the panel) group ticks: 1, 2, 4, 8 ... ticks per bar.
- Optional time scale: a fixed number of pixels per second instead of the compact layout.
- Light and dark mode. Colours are inputs.
- Live BID and ASK lines (2 pixels thick by default) with price tags, updated on every tick. The ASK line and its label are always red and the BID line and its label are always green, so the two can never be confused.
- Vertical zoom: drag the price axis to zoom, drag the chart to pan, double-click the axis (or press Y Auto) to return to automatic fitting to the visible ticks.
Trading panel
- BUY and SELL buttons and a lot size field on its own row.
- Optional Take Profit and Stop Loss in points. Both are off by default. A distance smaller than the broker's minimum (stops level plus spread) is raised to that minimum.
- Close Buy, Close Sell, Close Profit (only profitable positions) and Close All, for the chart symbol.
- Orders are sent with a pre-built request to keep processing time on the terminal side short. Actual execution time depends on your broker, connection and server.
- Positions whose Stop Loss or Take Profit is within the broker's freeze level cannot be closed by the server at that moment; the product skips them and shows a message instead of sending a request that would be rejected.
- Every order request is checked. If a request cannot be sent or the server rejects it, the reason is shown on the chart and written to the Experts log.
- Open positions, pending orders, Stop Loss and Take Profit levels are drawn on the chart with side, volume and current distance in points. The terminal's own trade history (deal arrows and lines) is hidden while the product runs, to keep the tick chart clean.
Compact, movable panel
The trading panel is compact and floats on top of the chart, above all chart text. Drag its title bar to move it anywhere; the position is remembered for the next start. The chart uses the full width of the window.
Depth of market (DOM) as part of the chart
The DOM is shown in the far right part of the chart, by default 20% of the chart width. It uses the depth-of-market data that your broker provides through MetaTrader 5 for the chart symbol.
- Every displayed DOM level is drawn as an ask (red) or bid (green) line across the tick chart at its exact price. The lines are 2 pixels thick by default (input), move with the chart's price scale, including vertical zoom and pan, and are brighter for larger volume.
- Each line is joined by two diagonal lines to its thick DOM bar on the right, because the bars are thicker than the lines. Together they form a prism-like picture connecting the chart and the DOM.
- Each DOM line also has a small tick on the price axis, so you can read its exact price. With automatic vertical zoom (Y Auto) the chart scale covers the furthest displayed DOM ask and bid lines, so every displayed level stays on screen at its true price. After you zoom or pan manually, the chart returns to automatic vertical zoom by itself as soon as a displayed DOM line reaches the top or bottom of the chart (input InpDomAutoResume). Levels outside a manually zoomed view are shown as bars only, without a line.
- The DOM is on at every start (input InpDomShow); the DOM button hides it for the current session.
- If the DOM cannot be loaded (the broker offers no depth of market for the symbol, or no data arrives), the DOM is hidden and a notification is shown. It appears again automatically when data arrives, or when you press the DOM button.
- Depth of market is not available in the Strategy Tester.
| DOM control | Function |
|---|---|
| DOM button | Quick show / hide of the DOM |
| Level button, default | Only volumes from 1 to 10 lots, up to 10 rows (5 asks and 5 bids) |
| Level button, 1st click | Detailed view: volumes from 10 to 100 lots, up to 20 rows (10 asks and 10 bids) |
| Level button, 2nd click | Volumes from 1 to 100 lots, up to 20 rows |
| Level button, 3rd click | Volumes from 10 to 100 lots, up to 10 rows |
| Level button, 4th click | Back to the default level |
| Drag the DOM's left edge | Changes the DOM width (also an input, 8 to 50 percent) |
The band limits (1, 10 and 100 lots), the number of rows and the volume unit are inputs. Many feeds report 100 units for 1 lot, so the volume divisor defaults to 100. If your broker reports volume in other units, change it (0 = use the symbol's contract size). Volumes below the lower limit or above the upper limit of the selected band are not shown.
Pending orders at the clicked price
| Action | Result |
|---|---|
| Ctrl + left click on the chart | Pending BUY at the price under the cursor (limit or stop, chosen automatically) |
| Shift + left click on the chart | Pending SELL at the price under the cursor (limit or stop, chosen automatically) |
| Key held, mouse moving | Crosshair previews the price and the order type |
| Price inside the broker's stops level | Order is not sent; a message is shown |
Strategy Tester and backtesting
The product can be tested in the MetaTrader 5 Strategy Tester in the following ways:
| Tester mode | Panel and tick chart | Demonstration rule | Typical use |
|---|---|---|---|
| Visual mode | Available (the DOM area is not available in the tester). Buttons can be clicked while the test runs. | On by default (input InpBtAuto); can be switched off to trade manually only. | Practise order handling on historical ticks at the speed you choose. |
| Non-visual mode | Not drawn (faster test). | On by default (input InpBtAuto). | Unattended test of order handling. |
| Optimisation | Not drawn. | On by default. Custom criterion from OnTester(): net profit relative to equity drawdown. | Compare input sets of the demonstration rule. |
| Live or demo chart | Fully available. | Never active. | Manual trading only. |
The demonstration rule waits for a number of consecutive ticks in one direction, opens one position with a fixed Stop Loss and Take Profit, and closes it by SL, TP or after a maximum holding time. Before each order it checks symbol trade mode, volume and free margin. It exists for testing and demonstration only and is not a recommendation to trade this rule. A session line on the chart shows closed trades, the share of winning trades and the net result since the start. For the most realistic result use the "Every tick based on real ticks" model. Tester results depend on tick quality, spreads, commissions, execution delay and broker conditions, and say nothing certain about future trading.
Input parameters
| Group | Parameter | Default | Description |
|---|---|---|---|
| Trading | InpLots | 0.01 | Default lot size |
| Trading | InpDeviation | 30 | Maximum slippage in points |
| Trading | InpMagic | 0 | Magic number (the demonstration rule uses this value + 1) |
| Trading | InpTPOn | false | Take Profit enabled at start |
| Trading | InpTPPoints | 50 | Take Profit distance in points |
| Trading | InpSLOn | false | Stop Loss enabled at start |
| Trading | InpSLPoints | 50 | Stop Loss distance in points |
| Trading | InpPendingClick | true | Ctrl/Shift + click places pending orders |
| Tick chart | InpTicksPerBar | 1 | Ticks per bar at start |
| Tick chart | InpMaxTicksPerBar | 4096 | Maximum ticks per bar for the + button |
| Tick chart | InpBarWidth | 2 | Width of each tick/bar in pixels |
| Tick chart | InpLineWidth | 2 | Line thickness in pixels |
| Tick chart | InpTimeMode | false | Time-scaled horizontal axis at start |
| Tick chart | InpPxPerSecond | 10.0 | Time mode: pixels per second |
| Tick chart | InpPadPercent | 5.0 | Vertical padding of the automatic zoom, in percent |
| Tick chart | InpSkipUnchanged | true | Ignore ticks where the BID did not change |
| Tick chart | InpPreloadTicks | 10000 | Ticks loaded from history at start (live charts) |
| DOM | InpDomShow | true | Show the DOM at start |
| DOM | InpDomWidthPct | 20 | DOM width in percent of the chart width (8 to 50) |
| DOM | InpDomRowsDefault | 10 | Rows (asks + bids) in the default and compact views |
| DOM | InpDomRowsDetail | 20 | Rows (asks + bids) in the detailed views |
| DOM | InpDomLowLots | 1.0 | Band lower limit in lots |
| DOM | InpDomMidLots | 10.0 | Band middle limit in lots |
| DOM | InpDomHighLots | 100.0 | Band upper limit in lots |
| DOM | InpDomVolDivisor | 100.0 | Feed volume units per lot (100 = 100 units is 1 lot; 0 = use contract size) |
| DOM | InpDomLineWidth | 2 | Thickness of the DOM level lines and diagonals in pixels |
| DOM | InpDomAutoResume | true | After a manual vertical zoom or pan, return to automatic zoom when a DOM line reaches the chart edge |
| DOM | InpDomFitScale | true | Automatic zoom covers the furthest displayed DOM lines |
| Display | InpDarkMode | true | Dark mode at start |
| Display | InpShowBidAsk | true | Show BID and ASK lines |
| Display | InpBidAskWidth | 2 | BID and ASK line thickness in pixels |
| Display | InpShowLevels | true | Show positions, pending orders, SL and TP |
| Display | InpColUp / InpColDown | green / red | Up and down colours (also DOM bids and asks) |
| Display | InpColBid | green | BID line and label colour (fixed) |
| Display | InpColAsk | red | ASK line and label colour |
| Display | InpColBuyLevel / InpColSellLevel | blue / orange | Buy and sell level colours |
| Display | InpRenderMs | 15 | Chart refresh interval in milliseconds |
| Backtest | InpBtAuto | true | Run the demonstration rule in the Strategy Tester (never on live charts) |
| Backtest | InpBtTicks | 4 | Entry: consecutive ticks in one direction |
| Backtest | InpBtTP | 40 | Take Profit in points |
| Backtest | InpBtSL | 60 | Stop Loss in points |
| Backtest | InpBtMaxSpread | 0 | Maximum spread to enter, in points (0 = off) |
| Backtest | InpBtMaxHoldSec | 60 | Close the position after N seconds (0 = off) |
| Backtest | InpBtCooldownSec | 10 | Pause after each entry in seconds |
How to start
- Attach the product to the chart of the symbol you trade.
- Allow Algo Trading in the terminal and on the product's Common tab.
- Set the lot size in the panel and use the buttons.
- Move the mouse over the word "Info" in the panel for a list of mouse actions.
Requirements and notes
- MetaTrader 5, hedging or netting accounts.
- The DOM needs a depth-of-market feed from your broker for the symbol (many brokers provide it only for some instruments).
- Works on the symbol of the chart it is attached to; position and order handling is for that symbol only.
- The product uses the chart area for its own drawing. Your original chart settings (chart type, grid, scales, colours, trade history display) are restored when the product is removed.
Risk warning
Trading leveraged products involves a high risk of loss. This product is a tool for order handling and chart display. It does not make trading decisions on live or demo accounts and does not promise or imply any profit. Test on a demo account first.
Support
Please use the comments section of this product page or MQL5 private messages. Include the product version (shown at the top of the chart), your terminal build and your broker's symbol name.
Opening Range Breakout with Statistics Dashboard
Draws the daily opening range and its breakout levels, with a dashboard showing how the range resolved over your lookback: broken up, down, both ways or not at all, and how often a breakout hit its target before the opposite side.
Prop Firm Guard Panel
Prop Firm Guard Panel is an on-chart panel for prop firm challenges and funded accounts. It shows in real time the daily loss used and the room left, the max loss room and equity floor, and the progress toward the profit target. The start-of-day balance is rebuilt from today's closed deals, so the values stay correct after a restart. Colors change from green to orange to red as limits get closer, with optional popup and push alerts. Auto, dark or light theme. Display only: it never opens, modifies or closes trades.
Accelerator Oscillator (AC)
The Acceleration/Deceleration Indicator (AC) measures acceleration and deceleration of the current driving force.
MACD Signals
Indicator edition for new platform.
