Discussion of article "How to Subscribe to Trading Signals" - page 117

 
Evgeniy Govorkov #:
Yes, I have Xauusd+. The subscriber only has Xauusd. Am I right that copying is not possible in this case?
Yes, see:
https://www.mql5.com/en/forum/10773#q13
https://www.mql5.com/en/forum/311109#comment_11375302
https://www.mql5.com/en/forum/292340#comment_9504099
Frequently Asked Questions about the Signals service
Frequently Asked Questions about the Signals service
  • 2013.02.20
  • www.mql5.com
The most frequently asked questions related to the signals service will be collected and processed in this topic. I do not want to broadcast it anymore. Full permission to perform trading is checked for each detected symbol
 

Regarding the well-known problem with "no conversion rate for the deposit currency of provider" (when the subscriber's broker has no currency pair between the provider's and the subscriber's base currencies): I found that (at least on MT5) not only 1:1 ratio is used as the message says (which luckily is fine in my case), but also there's a large delay between a new deal coming from the signal and it being forwarded to the broker. In my case, it's 1.1 seconds in a MQL5 VPS, and similar on my computer. For the signal in question, this makes for a huge difference as the price moves rapidly just this very second (probably a lot of other automated trading occurs the same moment at my broker or their liquidity provider, moving the price). I don't know why exactly the delay - my guess is MT5 may be requesting a fresh symbol list from the broker before proceeding with the deal, only to conclude there's still no conversion rate (it logs a message saying so, delayed by this 1.1 seconds).

So I am looking for a way to avoid this delay. I've tried creating a custom symbol for the missing currency pair, but it isn't getting picked up by this logic (not even when subscribing to the signal locally on my computer, without VPS usage).

My next step is to contact my broker, but I doubt they'd be willing to create a symbol for a currency pair they don't really have an exact equivalent of.

Any other suggestions?

In my case, the signal provider's base currency is UST (for USDT), which my broker does not have. If any MT5 developers read this, please add a way to specify the conversion rate manually (ideally also usable even for currency pairs that do exist, as a manual override), or at least add UST as a recognized synonym for USD. Maybe also remove the (presumed) request for a fresh symbol list when a deal is opened (only do it once when just starting to follow a signal, or periodically, but not again at these most time-critical moments). Thanks!

 
playgold #:

Regarding the well-known problem with "no conversion rate for the deposit currency of provider" (when the subscriber's broker has no currency pair between the provider's and the subscriber's base currencies): I found that (at least on MT5) not only 1:1 ratio is used as the message says (which luckily is fine in my case), but also there's a large delay between a new deal coming from the signal and it being forwarded to the broker. In my case, it's 1.1 seconds in a MQL5 VPS, and similar on my computer. For the signal in question, this makes for a huge difference as the price moves rapidly just this very second (probably a lot of other automated trading occurs the same moment at my broker or their liquidity provider, moving the price). I don't know why exactly the delay - my guess is MT5 may be requesting a fresh symbol list from the broker before proceeding with the deal, only to conclude there's still no conversion rate (it logs a message saying so, delayed by this 1.1 seconds).

So I am looking for a way to avoid this delay. I've tried creating a custom symbol for the missing currency pair, but it isn't getting picked up by this logic (not even when subscribing to the signal locally on my computer, without VPS usage).

My next step is to contact my broker, but I doubt they'd be willing to create a symbol for a currency pair they don't really have an exact equivalent of.

Any other suggestions?

In my case, the signal provider's base currency is UST (for USDT), which my broker does not have. If any MT5 developers read this, please add a way to specify the conversion rate manually (ideally also usable even for currency pairs that do exist, as a manual override), or at least add UST as a recognized synonym for USD. Maybe also remove the (presumed) request for a fresh symbol list when a deal is opened (only do it once when just starting to follow a signal, or periodically, but not again at these most time-critical moments). Thanks!

Your signal subscription is copying deals from a symbol your broker doesn't have ?

Honestly I didn't understand anything in your post.

 
Alain Verleyen #:

Your signal subscription is copying deals from a symbol your broker doesn't have ?

Honestly I didn't understand anything in your post.

@Alain Verleyen I only saw your reply now, hopefully tagging you will make you see mine quicker. Sorry for the confusion and thank you for trying to understand. Let me try and explain:

No, the signal subscription is not copying deals from symbols my broker doesn't have. This post isn't about symbols used in deals.

I am talking about account currencies - signal provider's vs. subscriber's. In my case, the signal provider uses Bybit and their account currency is UST. My broker doesn't have any currency pair with UST, and doesn't have accounts in UST (it does in USD). My account currency is AUD (but could as well be USD - we'd still have the same problem with delay).

What happens is MT5 (both local terminal and MQL5 VPS behave the same) tries and fails to lookup a conversion rate for the account currencies in order to determine position size scaling. It does this when starting to follow a signal, repeats once in a while, and also does it each time the signal provider makes a new deal, before forwarding this deal to my broker. That's understandable - it really wants to ensure the right size for the trade - but in this case it's always failing anyway, causing unnecessary delay in copying and greatly affecting profitability of some strategies (in particular, from a certain EA very popular with signal providers, as well as with breakout strategies where the price moves greatly this very second).

As known and documented, when account currency mapping fails like this, the platform falls back to 1:1 ratio between the currencies. This means moderate risk (and reward) increase for me with AUD, which I'm fine with in this case. So my primary issue is with the delay, and secondary with not being able to specify the conversion rate manually (which would also solve the delay problem, so would be a great solution for both issues at once).

 
playgold #:

@Alain Verleyen I only saw your reply now, hopefully tagging you will make you see mine quicker. Sorry for the confusion and thank you for trying to understand. Let me try and explain:

No, the signal subscription is not copying deals from symbols my broker doesn't have. This post isn't about symbols used in deals.

I am talking about account currencies - signal provider's vs. subscriber's. In my case, the signal provider uses Bybit and their account currency is UST. My broker doesn't have any currency pair with UST, and doesn't have accounts in UST (it does in USD). My account currency is AUD (but could as well be USD - we'd still have the same problem with delay).

What happens is MT5 (both local terminal and MQL5 VPS behave the same) tries and fails to lookup a conversion rate for the account currencies in order to determine position size scaling. It does this when starting to follow a signal, repeats once in a while, and also does it each time the signal provider makes a new deal, before forwarding this deal to my broker. That's understandable - it really wants to ensure the right size for the trade - but in this case it's always failing anyway, causing unnecessary delay in copying and greatly affecting profitability of some strategies (in particular, from a certain EA very popular with signal providers, as well as with breakout strategies where the price moves greatly this very second).

As known and documented, when account currency mapping fails like this, the platform falls back to 1:1 ratio between the currencies. This means moderate risk (and reward) increase for me with AUD, which I'm fine with in this case. So my primary issue is with the delay, and secondary with not being able to specify the conversion rate manually (which would also solve the delay problem, so would be a great solution for both issues at once).

Please provide the logs to support what you reported. Thanks.
 
Alain Verleyen #:
Please provide the logs to support what you reported. Thanks.

@Alain Verleyen Here's a log excerpt from an MQL5 VPS. I redacted my account number and omitted some irrelevant lines. Note the 1.1 seconds delay between 08:07:53.297 and 08:07:54.398 (where it hurt since a deal was being processed), and the exact same delay having been seen before between 04:10:43.808 and 04:10:44.908 (where it did not matter since it was merely after a reconnect to the trade server). So it appears that the same slow operation is attempted in both cases. This specific excerpt is from 20260302.log, which I chose since there was a VPS restart on that date, to show you the terminal build number. However, the same issue occurred with older builds as well, and kept occurring in the following days.

LO      0       00:12:40.488    Terminal        MetaTrader 5 x64 build 5662 started for MetaQuotes Ltd.
QF      0       00:12:40.493    Terminal        Windows Server 2022 build 20348, 64 x AMD EPYC 7542 32-Core, AVX2, 476 / 511 Gb memory, 1465 / 1677 Gb disk, admin, GMT+1
...
JM      1       00:12:54.656    Signal  '777777': no conversion rate for the deposit currency of provider (UST) and subscriber (AUD), 1:1 ratio will be used
...
ES      0       03:12:52.741    Network '777777': authorized on FusionMarkets-Live through Access Server NY-3 (ping: 0.77 ms, build 5430)
EO      0       03:12:52.796    Network '777777': terminal synchronized with Fusion Markets Pty Ltd: 0 positions, 0 orders, 248 symbols, 0 spreads
CL      0       03:12:52.796    Network '777777': trading has been enabled - hedging mode
PF      0       03:12:52.803    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled
GQ      0       03:12:54.666    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled, last known ping to Access Server NY-3 is 0.77 ms
CD      0       03:12:54.702    Network '777777': ping to current access point Access Server NY-3 is 0.76 ms [next point Access Server - NY-NEW-2 is 2.44 ms]
MG      0       03:12:55.810    Terminal        RAM: 4287 Mb reserved, 59 Mb committed; CPU: EA 0.00% in 1 threads, symbols 0.00% in 1 threads, workers 0.00% in 8 threads, 1624 kb written on disk
GR      0       04:10:43.808    Signal  '777777': signal provider has balance 15 708.85 UST, leverage 1:500; subscriber has balance 6 877.01 AUD, leverage 1:500
OM      1       04:10:44.908    Signal  '777777': no conversion rate for the deposit currency of provider (UST) and subscriber (AUD), 1:1 ratio will be used
JM      0       04:10:44.908    Signal  '777777': percentage for volume conversion selected according to the ratio of balances and leverages, new value 40%
QR      0       04:10:44.908    Signal  '777777': synchronization finished successfully
OO      0       04:10:45.878    Signal  '777777': ping to signal server 242.18 ms, to trade server 308.82 ms
RJ      0       04:12:55.635    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled, last known ping to Access Server NY-3 is 0.76 ms
II      0       04:12:55.666    Network '777777': ping to current access point Access Server NY-3 is 0.57 ms [next point Access Server - NY-NEW-1 is 2.27 ms]
HH      0       04:12:56.764    Terminal        RAM: 4287 Mb reserved, 59 Mb committed; CPU: EA 0.00% in 1 threads, symbols 0.00% in 1 threads, workers 0.00% in 8 threads, 279 kb written on disk
KS      0       05:12:56.628    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled, last known ping to Access Server NY-3 is 0.57 ms
PR      0       05:12:56.658    Network '777777': ping to current access point Access Server NY-3 is 0.63 ms [next point Access Server - NY-NEW-1 is 2.11 ms]
PE      0       05:12:57.764    Terminal        RAM: 4285 Mb reserved, 61 Mb committed; CPU: EA 0.00% in 1 threads, symbols 0.00% in 1 threads, workers 0.00% in 8 threads, 3848 kb written on disk
QJ      0       06:12:52.404    Network '777777': scanning network for access points
HD      0       06:12:52.449    Network '777777': ping to current access point Access Server NY-3 is 0.74 ms [next point Access Server - NY-NEW-1 is 2.63 ms]
JH      0       06:12:52.449    Network '777777': scanning network finished
PL      0       06:12:57.604    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled, last known ping to Access Server NY-3 is 0.74 ms
FO      0       06:12:57.639    Network '777777': ping to current access point Access Server NY-3 is 0.64 ms [next point Access Server - NY-NEW-2 is 2.43 ms]
PR      0       06:12:58.737    Terminal        RAM: 4285 Mb reserved, 61 Mb committed; CPU: EA 0.00% in 1 threads, symbols 0.00% in 1 threads, workers 0.00% in 8 threads, 306 kb written on disk
LE      0       07:12:58.582    Terminal        '777777': 1 chart, 1 EA, 0 custom indicators, signal enabled, last known ping to Access Server NY-3 is 0.64 ms
HH      0       07:12:58.618    Network '777777': ping to current access point Access Server NY-3 is 0.73 ms [next point Access Server - NY-NEW-2 is 2.44 ms]
GI      0       07:12:59.726    Terminal        RAM: 4285 Mb reserved, 61 Mb committed; CPU: EA 0.00% in 1 threads, symbols 0.00% in 1 threads, workers 0.00% in 8 threads, 280 kb written on disk
EL      0       08:07:53.297    Signal  '777777': signal provider performed deal #138115330 buy 0.16 XAUUSD+ at 5394.41
EL      1       08:07:54.398    Signal  '777777': no conversion rate for the deposit currency of provider (UST) and subscriber (AUD), 1:1 ratio will be used
NL      0       08:07:54.398    Trades  '777777': market buy 0.06 XAUUSD sl: 5355.99 tp: 5443.42
 
playgold #:

@Alain Verleyen Here's a log excerpt from an MQL5 VPS. I redacted my account number and omitted some irrelevant lines. Note the 1.1 seconds delay between 08:07:53.297 and 08:07:54.398 (where it hurt since a deal was being processed), and the exact same delay having been seen before between 04:10:43.808 and 04:10:44.908 (where it did not matter since it was merely after a reconnect to the trade server). So it appears that the same slow operation is attempted in both cases. This specific excerpt is from 20260302.log, which I chose since there was a VPS restart on that date, to show you the terminal build number. However, the same issue occurred with older builds as well, and kept occurring in the following days.

Thanks. This delay should be removed from build 5676. Please confirm as I can't test myself.
 
Alain Verleyen #:
Thanks. This delay should be removed from build 5676. Please confirm as I can't test myself.
@Alain Verleyen Thank you, that was quick! I stopped following the Bybit signals for now largely because of the delay, so I'll need to re-follow one of those to test. Is this build already available in MQL VPSes, which I use, or when will it be (or newer)?