Tuesday, 22 February 2011

110222 - Cloaking Devices and Photon Torpedoes ....

We often forget that there is a counterparty to every trade that we make. Exchange trading shields us from the risk we would otherwise have if the opposite side were to reneg on the contract, or otherwise be unable to fulfill it. Where there is no exchange involved, as in retail FX, our counterparty is usually our broker. Since all is (un)fair in taxation and war, often, like any other adversarial situation, the party with the most information, and therefore the most power, has the advantage.

When coding, I seek every advantage against my opponents, those elusive bugs, by having the highest level of compiler warning possible, following strict style guidelines and well-proven design techniques.

Why should we therefore give away any information to our adversaries when trading? We often forget that the other side has the power to, for example, momentarily jack prices (stop hunting) and to delay orders until a more favourable quote arrives from the liquidity provider. As we write software to give ourselves the best chance of making money, so our adversaries are also doing the same thing.
 
The counterparty has several vital pieces of information provided to them, by us, in every order that we send. These are price, volume, profit target, and stop loss.

It is difficult to perceive how price and volume can be used against us, or how we could avoid sending that information. However, consider a gridding application which always sends the orders at precisely one grid width with the same volume. Do you think that can be detected and the information extracted and used against us? Sure it can! Randomly varying (slightly) grid slot sizes and volumes (within the account balance boundary, difficult to do with $1000 ...) may give us an advantage, or at least reduce the other side's advantage.

Withholding profit targets and stop loss prices is feasible, and recommended. Stops can only be "hunted", and profit targets avoided, if they are known. Having your software continually monitor orders, and close them according to your own operating parameters, effectively removes more of the other side's weapons. Of course, if you operate over the internet, then you have a problem with disconnections and delays. Failure of your software or hardware (of which your connection mechanism is an integral part) leaves you exposed to unlimited downside if price moves against you. To combat this, you can employ hard, liberal stops, outside of your expected stop. There are of course those situations where your soft stops would not be hit due to price-gapping, but then neither would a server-side stop.

A final note about trade comments. If I were writing defensive software, I would scan all orders for comments. If I saw something like "Andy's Neural Network EA", I would consider it a challenge and consider adapting my software, especially if this EA became prolific and successful. On MT4, you can't comment a manual order. I wonder why?

No comments:

Post a Comment

Note: only a member of this blog may post a comment.