Cloud based trade copying

İş Gereklilikleri

Based on (https://www.fxblue.com/appstore/u4/internet-trade-mirror-sender/user-guide

It needs to send trades from a master to a server that sends the trades to slave(s)

I need to be able to link different masters to different slaves

If a slave losses/gains too much money either in a day or overall i want it to stop copying it's master (i will set these parameters)

I need it to send trade history to the server 



3.1Trade placement and closure

The Sender EA sends a message as soon as it detects that there is a new open order in its copy of MT4/5. Receiver EAs will then attempt to place the same trade.

The same applies to trade closure. As soon as it spots that a previously open order has been closed, the Sender EA tells the Receiver EAs to close their trades.

Messages are sent to the subscribers via FX Blue's message hub. The speed of copying depends almost entirely on the latency to the message hub and to your broker. Differences in price between you and the subscribers can be caused both by the latency in receiving signals and also price differentials between different brokers. Subscribers may need to adjust their AllowSlippagePips parameter in order to trade successfully, or even to turn on TradeAllOrdersAtMarket.

3.1.1Speed of processing on the receiver

Once a receiver gets a signal from your sender, it should make a request to its own broker almost immediately. The speed of trade copying on the receiver is controlled almost entirely by the speed of trade placement by the broker (including network latency to the broker), not by the internal speed of the copier.

The copier's logs will show where any delays are occurring. The copier will record the following process:

Message arriving in the receiver from your sender

Instruction by the receiver to its broker

Confirmation of the new trade on the receiver by the broker

However, there is a special consideration in MT4 (only, not in MT5). Unless your subscribers use the optional Receiver-Worker EA, MT4 can only carry out one trading action at a time, and the receiver EA cannot do anything else while it is waiting for the broker to accept or reject an instruction. If two new signals arrive in the MT4 receiver simultaneously, the receiver EA cannot start working on the second one until its broker accepts/rejects the first one.

3.1.2Stop-loss and take-profit on the receiver

The stop-loss and take-profit on a subscriber's trade are only a safeguard in case the connection with your Sender is lost. Under normal circumstances, the subscriber's trade will be closed as soon as your trade is closed. The Receiver EA's s/l and t/p are only used if either (a) the connection with the sender is lost and no close instruction is received, or (b) price differences between brokers mean that the subscriber's s/l or t/p is hit before your s/l or t/p.

3.1.3Slippage tolerance on the receiver

By default, there is a limit on the price difference which the Receiver EA will accept between your sender's price versus the receiver's price - controlled by the AllowSlippagePips setting.

If the price difference between your sender and the receiver is larger than this, the receiver will try to get your sender's price by placing a pending limit order instead of buying or selling at market. Note: the broker can have a restriction on the minimum distance between a pending entry and the current market price. A trade can be rejected (MT4 error #130) if the price difference is larger than AllowSlippagePips but smaller than the broker's stop-level.

You can turn off the slippage check by turning on the setting BroadcastAllOrdersAtMarket. This tells receivers to copy your trades regardless of any price difference.

3.2Heartbeats

N.B. The heartbeat period does not control how quickly orders are copied. Open and close messages are always sent immediately, and processed as quickly as possible.

The Sender EA sends a periodic "heartbeat" message, every 30 seconds by default. This states which orders should still be open. If a Receiver misses a trade-closure instruction, e.g. because its copy of MT4/5 is not running at the time, then it should close the order when it next receives a heartbeat from the sender.

Changes to a trade's s/l or t/p are also sent in the heartbeat message. Therefore, there may be a delay of up to 30 seconds between the s/l or t/p changing in your sender's copy of MT4/5 and the Receiver making the change. However, if the trade is closed out on the sender within those 30 seconds because the s/l or t/p is hit, that should lead to an immediate close instruction being sent to the Receiver.

Changes to the entry price on a pending order are also sent in the heartbeat, and therefore updated within 30 seconds.

3.3Pending orders

By default the Sender EA does not send pending orders. It only sends a message to Receivers once a pending order is filled and turns into a buy or sell order.

Copying pending orders is potentially very dangerous. Let's say that you are trading the breakout of yesterday's range, and you have a buy-stop at yesterday's high. This could get triggered on a Receiver without being triggered on the sender, because of slight price differences between the two accounts. If the price then retraces, the sending copy of MT4 will be unaware that the Receiver has a trade which needs to be managed, but the Receiver will have an ever-increasing loss and will not be receiving any instructions to close the position.

However, you can configure the Trade Mirror to send pending orders by turning on the optional IncludePendingOrders parameter. Subscribers can then use the RequireSenderFillWithinMinutes parameter to limit the risk at their end. If the subscriber's order is filled, but your sender's order remains pending, then the Receiver EA can be configured to close its order after this number of minutes (ignored if zero).

3.4Lot sizing and risk

Subscribers can use several different modes for determining what lot size to trade:

Risk-based: trade sizes are adjusted based on the subscriber's account equity compared to your equity

Multiple: a simple multiple of your trade size (regardless of different account equity, and therefore % of risk)

Fixed: a fixed lot size per trade

Cash-risk: a fixed cash risk per trade, or a % of account equity or balance

For more information about the options available to subscribers, please see the Receiver EA user guide.

However, in addition to the options which are available to each subscriber, you can also alter the lot size which is issued by the Sender. For example, you can configure the Sender EA's parameters to give subscribers a fixed lot size rather than the actual volume you are trading.

3.5Broker symbol names and suffixes

Symbol names are not standardised and can vary between broker accounts. For example, the EUR/USD fx pair may be EURUSD on one account and EURUSD.xyz on another. An equity index such as the DAX may be referred to as DE30, GER30, .DAX, .DE30, [GER30] etc.

In addition, some accounts may contain more than one version of each market on their symbol list - for example, both EURUSD and EURUSD+. When it receives a trade for EUR/USD, the copier needs to know which symbol it should use - and which version, if there is more than one.

The Receiver EA should almost always be able to handle fx pairs without manual overrides to its settings

The Receiver EA will often be able to handle metals, oil, and equity indices, but may require manual overrides to its settings

Other markets, particularly individual equities such as Apple or Google, will almost always require manual overrides to the Receiver EA settings

3.6Market execution

(Legacy information: some brokers use "market execution" where, in the past, it was necessary for an EA to send a trade and then send a separate instruction to add any s/l and t/p. However, in all recent releases of MT4 and MT5, EAs should now be allowed to send the s/l and t/p as part of their order-open. As a result, the old CloseOrdersImmediatelyIfSLFails setting has been removed from the copier.)

3.7Hedging vs. non-hedging

The copier can be used with both hedging and netting accounts on MT5. However, netting accounts require an extra setting to be turned on in the copier.

The copier cannot be fully used with FIFO/non-hedging accounts on MT4, because MT4 does not have proper netting accounts. If your sender opens a buy ticket and then a sell ticket (or vice versa), the first trade will be successfully copied on a FIFO/non-hedging account but the hedged trade will fail.

3.8Magic numbers

The Receiver EA uses an order's magic number to identify which orders belong to it, versus which orders are from manual trading or other EAs running on the account. Therefore, magic numbers are also not copied from the sender account.

The Receiver EA uses the same magic number for all orders which it processes. By default, it automatically selects a magic number based on the channel name. Subscribers can choose their own magic number by setting the MagicNumber parameter in the Receiver EA to something other than zero.

3.9Partial closes

The sender and receiver EAs are capable of handling partial closes.

However, this relies on brokers using the standard functionality of MT4/5. Partial closes will not be processed properly by the copier if the broker deviates from standard MT4/5 functionality:

On MT4, the copier expects a partial close to be identified by the order comment (e.g. "from #12345678")

On MT5, the copier expects the ticket number of a position to be unchanged following a partial close (i.e. ticket number remains the same, with reduced volume).

3.10Inverting trade direction

The Receiver EA can be configured to invert the sender's trade direction, turning buys into sells and vice versa. (This feature has been included at user request; we are not aware of any loss-making trading system which can be made profitable by inverting it.)

In order to use this feature, a subscriber needs to turn on the Receiver EA's InvertTrades parameter, and will also need to do one of the following:

  • Turn on the TradeAllOrdersAtMarket parameter. This means that the Receiver EA ignores the sender's entry price (because e.g. the sender is buying at the ask price whereas the receiver will be selling at the bid price).
  • Increase the AllowSlippagePips parameter, to cater for the fact that the difference between the sender's entry price and the receiver's entry price will be at least the size of the spread.

3.11Order comments

By default, the Receiver EA uses the MT4/5 order comment to track the ticket numbers on the sender account. The subscriber can change this behaviour, and get the Receiver EA to use the original comments from the orders on the sender account, by turning on the UseOriginalOrderComments parameter in the receiver.

Alternatively, the subscriber can use the UseCustomOrderComment parameter to use a fixed comment for all orders.

However, please note that these parameters have implications for disaster-recovery. If a subscriber turns on UseOriginalOrderComments or UseCustomOrderComment, then the ticket numbers on the sender account are tracked using a file on disk (in MT4/5's MQL\files directory). If this file is deleted - or is unavailable for some other reason, e.g. because the subscriber is starting up MT4/5 on a new computer in an emergency - then the Receiver EA will close all its orders because it can no longer link them to the sender's heartbeat.

3.12Controlling the Sender using MT4/5 Global Variables

You can block the Sender from placing new trades using a Global Variable in MT4/5 (press F3, or choose Tools / Global Variables).

You can use this either as a way of controlling the Sender manually, by creating and removing the Global Variable yourself, or you can have an automated system which uses the Global Variable to turn the copying on and off based on something such as account equity or performance.

The Sender is controlled by a Global Variable called Suspend-X, where X is the channel name. For example: Suspend-MySender. If a variable exists with this name, regardless of its value (zero/non-zero) then the Sender EA will not issue a message to subscribers when a new trade is placed.


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(45)
Projeler
59
44%
Arabuluculuk
8
50% / 38%
Süresi dolmuş
7
12%
Serbest
2
Geliştirici 2
Derecelendirme
(10)
Projeler
25
28%
Arabuluculuk
2
0% / 0%
Süresi dolmuş
1
4%
Yüklendi
3
Geliştirici 3
Derecelendirme
(144)
Projeler
198
42%
Arabuluculuk
20
25% / 55%
Süresi dolmuş
9
5%
Serbest
4
Geliştirici 4
Derecelendirme
(26)
Projeler
34
29%
Arabuluculuk
0
Süresi dolmuş
1
3%
Serbest
5
Geliştirici 5
Derecelendirme
(63)
Projeler
84
26%
Arabuluculuk
23
22% / 48%
Süresi dolmuş
23
27%
Serbest
6
Geliştirici 6
Derecelendirme
(5)
Projeler
4
50%
Arabuluculuk
4
0% / 75%
Süresi dolmuş
0
Serbest
Benzer siparişler
Hello The EA will work on particular zone choose by the user and can mark it on any TF and with some rules can open trades and mange the trade by some unique rules. the EA need to check the difference by RSI as well and with some extra rules . developer should have good attitude and good communication (englsih) with high performence and knowledge with coding EA. THREE TYPES OF ENTRIES 1: AGGRESSIVE 2: DIVERGENCE 3
Indicator in use: Bollinger Bands Mechanism (See diagrams provided for help) Sells: 1. Trigger candle: When candle low is above the top Bollinger band - accurate to the lowest point scale (e.g. On EURUSD if candle low is 1.07915 and the value of top bollinger is 1.07914 - this is a sell signal; or if on Futures if the increment is .25 or .10 then this is used) 2. Enter sell ONLY on the next candle if price breaks
Indicator in use: Bollinger Bands Mechanism: (See diagrams provided for help) Sells: 1. Trigger candle: When candle low is above the top Bollinger band - accurate to the point scale (e.g. On EURUSD if candle low is 1.07915 and the value of top bollinger is 1.07914 - this is a sell signal) 2. Enter sell ONLY on the next candle if price breaks below the trigger candle LOW (using the e.g. above- if next candle price
hey guys, im looking for an auto mt5 license system through a web app i have already, i simply want it so a unique license key is generated for memebers, they input this onto the EA input and then it checks if its valid. active license per user capped at 5. i already have an mt5 coder and dec team for the app so i dont know if youd prefer to intergrate onto the webapp yourself or simply provide the code and doc so my
I need a simple panel to execute both buy and sell operations with very basic things like stopp loss take profit that functions for both market orders such as buy stop sell stop buy limit sell limit I don't care about colors or design I just want how you can do it what interests me most are the functions
I want to create an EA that can take bids according to information of a logic I have developed to give indication of a BUY or SELL opportunity. The EA will then be able to activate the BUY at the lowest possible position once the indicator clears it for a BUY and take bid upwards or identify the highest point and clears it for a SELL and take bids downwards. As you can see from example of JULY 2024 data to see how
We are seeking a skilled developer who can convert a Tradingview indicator written in Pinescript to a NinjaTrader indicator written in C#. The goal is to create a profitable trading strategy using this indicator. The successful candidate will have expertise in both Pinescript and C# programming languages, as well as a strong understanding of trading indicators and strategies. The main responsibilities will include
I am seeking an experienced MQL5 developer to create a user-friendly manual Grid Trading Expert Advisor (EA) with the following key features: Dynamic Grid Trading: Adjustable Grid Distance: Traders can manually input grid distance in pips via an intuitive, movable table. Take Profit Management: Fixed TP for the initial positions (e.g., first 5 trades). Stop-Loss (Optional): Traders can choose to use a stop-loss with
I want have the possibility to increase lotsize not alone by Lot-multiplier rather I want add a fix-lot increase for excample for 0,05 lot. I want have this for buy / sell and hedge-buy and hedge sell
Develop EA to track performance metrics of strategies I would like to develop an EA that will track the performance metrics of the strategies I have running on a terminal, If any of the metrics start to under perform then the EA/Indictor should alert me with a pop up alert that specify's the metric that has triggered the alert. The EA should also display the metrics in a dashboard - please see my example screen shot

Proje bilgisi

Bütçe
150+ USD
KDV (21%): 31.5 USD
Toplam: 181.5 USD
Geliştirici için
135 USD