logo
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
StorkBite  
#1 Posted : Monday, July 31, 2006 10:56:18 PM(UTC)
StorkBite

Rank: Advanced Member

Groups ready for retrieval: Registered, Registered Users
Joined: 3/19/2005(UTC)
Posts: 2,995

Was thanked: 14 time(s) in 10 post(s)

Why are my trades using only x% of my equity?

Why am I getting some trades using 99% of my equity and others only using 1-2%

I shall explain the way the system tester is currently designed. When your system generates a buy or sell signal, the order passes through 4 separate stages:

1) Considered - this means the system has generated the signal and you, the user are now considering whether to accept it or not. The enhanced system tester assumes you will accept all signals and passes the order on. At this point, if you marked a strategic delay (in the system tester editor), the next order will be delayed the specified amount

2) Placed - this is the stage where the order is passed to the broker. At this point, if you have marked a trade delay (in the simulation options), the next order will be delayed by the specified amount.

3) Opened - here is where the broker sends the order to the exchange. At this point, if the order was any type other than market, a delay may occur until the specified condition occurs

4) Executed - the trade is finally transacted.

The problem you are encountering, when only a fraction of your equity being used in a trade, is caused by when the trade size is calculated. At the time the order is considered, MetaStock checks the available equity and determines how many shares can be purchased. This is the amount the tester tries to buy. If you are already in a trade, your available equity is however much is not tied up in the current trade.

This is working as the developers designed it. We have had some request to change this and we have contacted our developers about it. However, it will require an update to MetaStock for this to be changed. Till then, it is possible to run the test you want, but you will need to edit the system test to do so.

The trick is to remove the delay you have built into the system. Or rather, not to remove it, but change how it is implemented. Currently, the logic of your system is:

Signal event occurs

Order generated

Delay is implemented

Order is executed

This needs to be changed to:

Signal event occurs

Delay is implemented

Order generated

Order is executed

This change is fairly easy. Your formulas end with some condition that defines the buy signal. Before this condition, you may have several lines of variable declarations. This would look like this: { Optional: one or more lines of variables... } Condition the formula looks for

Just change the above to: { Optional: one or more lines of variables...}

Ref( Condition the formula looks for, -1 )

With the above change, you can turn off all other delays, and you trades will be entered as if you had a delay set. Because the delay is in the formula, the trade size is calculated on the same bar the formula generates the signal, it will use all the equity.

Users browsing this topic
Guest (Hidden)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.