How to Resolve Erroneous FIFO Violation Message on My Trade Copy Signal?

 

I'm providing a trade copy signal  However, 2 different potential subscribers messaged me saying they tried to subscribe to my signal, but received the following error message:

"Incompatible trade mode, the signal provider does not work by FIFO rules ".  This doesn't make any sense because my account is a US based account with Forex.com and is 100% compliant.  The MT4 platform for Forex.com

US based accounts don't even allow you to commit FIFO violations, even if you try, so I don't understand why potential subscribers are receiving this error message.  Does anyone know how I can resolve this?  Thanks

 
Mahmoud Sabet:

I'm providing a trade copy signal  However, 2 different potential subscribers messaged me saying they tried to subscribe to my signal, but received the following error message:

"Incompatible trade mode, the signal provider does not work by FIFO rules ".  This doesn't make any sense because my account is a US based account with Forex.com and is 100% compliant.  The MT4 platform for Forex.com

US based accounts don't even allow you to commit FIFO violations, even if you try, so I don't understand why potential subscribers are receiving this error message.  Does anyone know how I can resolve this?  Thanks

This is an automated message and I doubt that there is something it can be done.

Try to contact the Service Desk about it and explain them your issue.

 
Yes, I contacted the service desk, and this was their response, "please note that we accept only payment related issues via Service Desk. For any technical questions and suggestions, please use the forum. "  :/
 
Mahmoud Sabet:
Yes, I contacted the service desk, and this was their response, "please note that we accept only payment related issues via Service Desk. For any technical questions and suggestions, please use the forum. "  :/

Ignore the message and explain your issue, this a something the forum cannot help.

 

Mahmoud Sabet:

"Incompatible trade mode, the signal provider does not work by FIFO rules ".  This doesn't make any sense because my account is a US based account with Forex.com and is 100% compliant. 

US based accounts don't even allow you to commit FIFO violations, even if you try, so I don't understand why potential subscribers are receiving this error message. 

  1. You say it is compliant — obviously it isn't.
  2. Just because you use a FIFO based broker that won't allow it, other brokers will reject calls with an error. Fix your broken code.
  3. On some brokers, all open tickets get the same TP/SL (including trailing) so the first open must close first as required by law rules. Other brokers do not. Fix your broken code.
  4. In the presence of multiple orders (one EA multiple charts, multiple EAs, manual trading), while you are waiting for the current operation (closing, deleting, modifying) to complete, any number of other operations on other orders could have concurrently happened and changed the position indexing:

    1. For non-FIFO (non-US brokers), (or the EA only opens one order per symbol), you can simply count down, in a position loop, and you won't miss orders. Get in the habit of always counting down.
                Loops and Closing or Deleting Orders - MQL4 programming forum
    2. For In First Out (FIFO rules — US brokers), and you (potentially) process multiple orders per symbol, you must find the earliest order (count up), close it, and on a successful operation, reprocess all positions.
                CloseOrders by FIFO Rules - Strategy Tester - MQL4 programming forum - Page 2 #16
                MetaTrader 5 platform beta build 2155: MQL5 scope, global Strategy Tester and built-in Virtual Hosting updates - Best Expert Advisors - General - MQL5 programming forum #1.11 ACCOUNT_FIFO_CLOSE

    3. and check OrderSelect in case later positions were deleted.
                What are Function return values ? How do I use them ? - MQL4 programming forum
                Common Errors in MQL4 Programs and How to Avoid Them - MQL4 Articles
    4. and if you (potentially) process multiple orders, must call RefreshRates() after server calls if you want to use, on the next order / server call, the Predefined Variables (Bid/Ask.) Or instead, be direction independent and just use OrderClosePrice().

 

Thank you William Roeder for the detailed response.  I highly doubt this is a coding issue.  The EA I use is a copyrighted FIFO compliant EA that I purchased.  Also, the EA almost almost always opens and closes one position at a time for each currency pair.  The few times that it has two positions open for the same pair, it closes both positions at the same time, when the aggregate of the two positions equal a certain specified dollar value.  So it closes based on a specified profit, not a specified price.  In fact, there are no inputs for closing the positions separately.  This EA has ALWAYS closed multiple positions at the same time, and has NEVER closed them independently. 

I think the purported violations are related to the item 3 that you referenced (i.e. for, "some brokers, all open tickets get the same TP/SL (including trailing) so the first open must close first as required by law rules. Other brokers do not.".  The reason I suspect this is the issue, is because I've had a similar issue with Oanda, and this happened because of my manual trades.  As you mentioned, some brokers allow you to have different TP/SL values for the same pair.  This is the case with Oanda.  As long as each lot size for the same pair is a different lot size, they allow you to set different TP or SL values for the same pair.  They reason that since they are different lot sizes, they are different trades and can be closed at different times.  This to me always seemed non-compliant, but they informed me of this policy in writing.  (Nonetheless, I have never closed positions out of order for the same pair, just because the lot lot sizes were different, because I still don't believe this is compliant).  Anyhow, because Oanda's trading platform allows differing TP/SL values for different positions on the same currency pair, they DON'T allow opening lot sizes of the same size for the same pair and creating an order for a TP/SL/TSL.  So with Oanda, whenever I manually opened a second or third position for the same pair with the same lot size and then place a TP/SL order (for the same value for all pairs), they immediately sent me email notifications for FIFO violations.  I pointed out that all of the positions for the same pairs have the same TP or SL value, but since their software allows for different TP/SL/TSL values for the same pairs, they NEVER allow placing TP/SL order for the same currency pair if they are the same lot size (even if the TP/SL/TSL value is identical for all pairs).  Subsequently, I immediately received notifications of FIFO violations from Oanda about every 30 seconds, after placing a SL or TP order on multiple positions for the same pair and lot size (even though the orders had the same value for all positions).  So I strongly suspect that the same issue is going on here.  That is, I believe I'm being flagged for FIFO violations for opening multiple positions for the same pairs with the same lot sizes and subsequently specifying the same TP or SL value for all of the open positions.  But since these pairs always have the same TP or SL value (per FIFO requirements and Forex.com's platform), this is not a violation.

So I suspect this is why my account is being identified as having FIFO violations.  However, if anyone actually reviews the trading history, there are no violations.  As I mentioned earlier, the Forex.com software for US based accounts does not allow different TP/SL values for positions of the same currency pair.  So even if I tried to manually close a position out of sequence, or provide differing TP/SL values for open positions, the software would not let me do that.   

 

Mahmoud Sabet:

I'm providing a trade copy signal  However, 2 different potential subscribers messaged me saying they tried to subscribe to my signal

Thank you William Roeder for the detailed response.  I highly doubt this is a coding issue.  The EA I use is a copyrighted FIFO compliant EA that I purchased.  Also, the EA almost almost always opens and closes one position at a time for each currency pair.  The few times that it has two positions open for the same pair, it closes both positions at the same time, when 

so you are using a purchased copyrighted EA  to provide a signal/copy service to subscribers !!

 
Paul Anscombe:

so you are using a purchased copyrighted EA  to provide a signal/copy service to subscribers !!

Nothing wrong with that.

The copyright part has to do with the copying or reproduction of the EA, not its results.

 
Eleni Anna Branou:

Nothing wrong with that.

The copyright part has to do with the copying or reproduction of the EA, not its results.

Apart from the usual statement that says for personal use only and not for commercial use in every licence agreement I’ve ever seen 
Just about the same as using decompiled  code
In my opinion
 
Paul Anscombe:
Apart from the usual statement that says for personal use only and not for commercial use in every licence agreement I’ve ever seen 
Just about the same as using decompiled  code
In my opinion

Where does it say that an EA from the Market is for personal use only?

 
Eleni Anna Branou:

Where does it say that an EA from the Market is for personal use only?

if you are talking about the market place then here:

III. Buyers

  1. Any user who has enough money in the Payment System can become the Buyer.
  2. The Buyer has no right to resell the purchased Product either through the Market service or in any other way.
  3. Purchasing a Product does not mean buying rights to it. The Product is transferred to the Buyer for personal use only.
Rules of Using the Market Service
Rules of Using the Market Service
  • www.mql5.com
The Market section of mql5.com is a service for safe purchasing and selling of programs written in the MQL5/MQL4 language, hereinafter referred to as Products. The "Market" service is available for use only to mql5.com registered Users aged 18 and older, who accepted and agreed to be bound by the terms and conditions of the Market Terms of Use...
Reason: