Brokers against very profitable robots? - page 3

 
tovan wrote >>

CB is suggesting that you use GetLastError() to figure out why your trade is failing and improve your code so that it doesn't happen again. Brokers don't reject your orders just to screw with you. It happens because of some technical problem in the order delivery or timing. So take some advice and try to learn from your execution failures.

- Tovan

Reqote, Trade context busy, broker is busy kind problems happen because brokers screw around with EA orders. I am fairly sure about this. There is nothing really we can do other than making the market order again. This kind of behaviour completely screws up scalping kind of EAs.

 
jyforex wrote >>

Reqote, Trade context busy, broker is busy kind problems happen because brokers screw around with EA orders. I am fairly sure about this. There is nothing really we can do other than making the market order again. This kind of behaviour completely screws up scalping kind of EAs.

Those kind of errors will come out in manual trading as well. It's not an EA-specific problem. You just need to add some error recovery code so that you can recover when the market is not ideal. Some brokers are better than others, but these errors that you have listed above are common and the rest of us have figured out how to deal with them rather than giving up and blaming everyone else. Scalping is a tough business since the best time to scalp is when the trade context is busiest.

 
tovan wrote >>

Those kind of errors will come out in manual trading as well. It's not an EA-specific problem. You just need to add some error recovery code so that you can recover when the market is not ideal. Some brokers are better than others, but these errors that you have listed above are common and the rest of us have figured out how to deal with them rather than giving up and blaming everyone else. Scalping is a tough business since the best time to scalp is when the trade context is busiest.

You can always recover from any error but you lose the condition for a good trade in an EA. When you are manually trading even after an error you can use your judgement for trying again. In an EA we need to provide more rigid condition for entry and hence most of the times we miss the trade after errors or delays. I am failrly sure brokers are messing with EA orders either by delaying them or introducing more errors than normal trading. Anyway there are some ECN brokers I know who NEVER had a requote problem!! The same EA in the same timeframe on a same pair misses some orders in one broker and goes fine with the other broker. Suppose you run a highly scalping EA with two brokers the difference in the number of orders between two brokers for a given pair is quite a lot.

 
jyforex:

Suppose you run a highly scalping EA with two brokers the difference in the number of orders between two brokers for a given pair is quite a lot.

Is it a supposition, or did you perform the tests to support that the issues are not in your (problematic) code?




I can suggest how to test:

A - let EA working as it has been with your broker

B - Put EA working in a demo account of your broker

C- Put EA working in a demo account in a well known broker, such as the ones you find if you click in Championship above in this page.


Assessment:

If you find the same problems in A, B, C, then you must improve your code.

if you find problems in A, but not in B, then ...

if you find problems in A and B, but not in C, then ....

 
jyforex:

Trade context busy, happen because brokers screw around with EA orders. I am fairly sure about this.

I've just read some of your recent commentary on this thread and I have to say you are inaccurate.

Let's take the above error "Trade Context Busy" as a prime example.

This has absolutely nothing to do with the broker.

It happens because each MT4 platform instance represents a single "Trade Context".

If you have just one EA running in that instance, then you will not get "Trade Context Busy" errors.

If you have more than one EA running in that instance (ie. one on each of multiple charts), then you have the potential to get "Trade Context Busy" errors. This will generally happen if, due to a new tick arriving concurrently to more than one chart/EA, multiple trading messages hit the MT4 instance together.

As Tovan correctly points out, use of the GetLastError() will tell your EA what error has just occurred. Your EA (due to your clever anticipative programming) will decide what to do about the particular error that has occurred.

In the case of "Trade Context Busy" (and some other errors), the best course of action is to repeat the order (possibly after a random back-off).


Meanwhile, jyforex, I have a couple of questions for you. Have you read "Way Of The Turtle" by Curtis Faith? If so, what was your impression?


CB

 
abstract_mind wrote >>

Is it a supposition, or did you perform the tests to support that the issues are not in your (problematic) code?

I can suggest how to test:

A - let EA working as it has been with your broker

B - Put EA working in a demo account of your broker

C- Put EA working in a demo account in a well known broker, such as the ones you find if you click in Championship above in this page.

Assessment:

If you find the same problems in A, B, C, then you must improve your code.

if you find problems in A, but not in B, then ...

if you find problems in A and B, but not in C, then ....

I am trying to develop a scalping EA which runs in M1 timeframe. I have tested the EA on a one of the World's best brokerages (I can't disclose the name as the hedge fund manager to whom I have developed the EA asked me not to). The EA code makes hundreds of orders in a day. I ran the same EA in multiple other retail brokerages the difference in the number of orders is always quite high. I ran the experiments A, B and C you mentioned above untortunately I can't disclose the details as I have an agreement with the hedge fund manager. The difference in brokerages becomes quite apparent in low M1 timeframe.

 
jyforex:

I am trying to develop a scalping EA which runs in M1 timeframe. I have tested the EA on a one of the World's best brokerages (I can't disclose the name as the hedge fund manager to whom I have developed the EA asked me not to). The EA code makes hundreds of orders in a day. I ran the same EA in multiple other retail brokerages the difference in the number of orders is always quite high. I ran the experiments A, B and C you mentioned above untortunately I can't disclose the details as I have an agreement with the hedge fund manager. The difference in brokerages becomes quite apparent in low M1 timeframe.

Well, I am interested, if any broker will accept 100's orders a day. Have you tried with real account. At least micro? Is your lot size big? I think lot size is also very important with live trading.

 
navodar wrote >>

Well, I am interested, if any broker will accept 100's orders a day. Have you tried with real account. At least micro? Is your lot size big? I think lot size is also very important with live trading.

I suppose that should be okay. Yes I have tried with real account. See the screen shot and the number of same errors in one M1 bar.

Files:
 
jyforex:


Some Brokers ARE just plain dishonest...others are great. The bad ones use a program written by Boston Technologies that inhibits order execution. It can delay it, or require a human to OK it, or just lock u up....

IBFX, FXCM are the worst.

 

Hi,

I found a website http://www.FreeForexRobots.com that offers a free robot to all who registered.

A few hours later a sales man called me and offer me to trade with his company and get a free robot on their expenses, and he told me specifically that i can choose any EA that i want and they will refund me for the cost.

So, if you have any problems with brokers that do not allow robots or a certain robots i suggest you try this site.



Reason: