Wednesday, July 1, 2009

Clearing up some confusion about FSaF

I received the following message this morning about someone having problems with Forex Set and Forget. It seems I overlooked an important detail in my documentation. Here is the message, followed by the response.
Tony

Have been running FSAF with your recommended settings on all pairs. Already has blown up four $10000 demo accounts in 1 week. The settings you are recommending do not make money.
Also, ran the optimization backtest and start using the best settings from the optimization on forward test, but it also blew up the account.

Do not know what else to do.

Unless maybe you have any other settings that might work or recommend the days and times to use FSAF ea?

Too bad, really wanted this ea to work.

Here is my response...
The recommended settings are to be used on a SINGLE PAIR. If you run on multiple pairs at the same time you will get a margin call very quickly. If you do want to run on multiple pairs, you will need to change "scaleDivisor" for all pairs. At the minimum, you want to multiply the number of pairs you will be running on by 1000 and use that number for scaleDivisor. For example, if you are running on 6 pairs at once then set scaleDivisor=6000. This is the lowest value you should have in this case. Higher values are even safer.
Now a little info about scaleDivisor. But first a little tutorial about "trading rounds" and "virtual trades"...

Forex Set and Forget (FSaF), using the included preset files, places trades 10 at a time and waits for all 10 trades to be closed before even looking for another opportunity. A trading "round" represents those 10 trades from open until close of the last trade. All of the trades are the same size and represent a single "virtual" trade. So for example, FSaF places 10 trades of 0.01 lots. That set of 10 trades is considered a single "virtual trade" of 0.1 lots.

So now back to scaleDivisor...

The scaleDivisor parameter determines when to increase trade size. It is critical that it is set correctly. The way it works is this; Divide your Account Equity by scaleDivisor. That becomes the scaling factor for your trade size. For example, if your account equity is $3000 and your scaleDivisor=1000 then 3000 / 1000 = 3. Multiply minTradeSize by 3 and that becomes the size of your next set of trades. If your minTradeSize=0.01 then your trade size will be 0.03 next time a trade is placed.

With that in mind, 10 trades of 0.03 lots represents a virtual trade of 0.3 lots. If your account equity is 3000 then that represents about 10:1 leverage, which is high but should be safe to run Forex Set and Forget. So now, let 's see what our friend did in the above message...
  • Starting balance: $10000
  • minTradeSize=0.01
  • scaleDivisor=1000 <--- UH OH!
  • Number of currency pairs: 10
This means each chart running the EA was placing virtual trades of 1 full lot. That's ok with just one chart running. However, if you get 5 charts with trades open at the same time then (unless you get very lucky) it's just a matter of minutes before you get a margin call. Either way, your account will be drained very quickly with these settings. So how do we fix this? I'll show you...
  • Starting balance: $10000 (unchanged)
  • minTradeSize=0.01 (unchanged)
  • scaleDivisor=10000 (factor of 10 difference)
  • Number of currency pairs: 10 (unchanged)
So now what happens? Here's the calculation.
  • Starting balance (10000) / scaleDivisor (10000) * minTradeSize (0.01) = 0.01
That means each virtual trade will be 0.1 lots instead of 1.0 lots. BIG difference. Now your account can withstand at least 100 consecutive losing rounds and still survive.

Here is a shortcut to help you determine how to set scaleDivisor.
  • scaleDivisor = (number_of_charts * 1000)
In other words, if you are going to have FSaF running on 3 charts, then EACH chart must have scaleDivisor=3000 at least! Larger numbers will make it even safer to trade.

No comments: