Archive for February, 2011

More Bug Fixes On Crescendo 1.4 Beta

Salve a tutti,

I’m working on more bug fixes thanks to the many beta testers feedback.

I’ll release an updated version to beta tester later today. The main problems are related to the average daily range calculation :)

Starting from today or tomorrow, I’ll also explain more in details the new strategies writing detailed articles on them so that beta testers know more about them and you as well before it is out.

In the weekend I’ll also do some more backtests with the new version.

I’m also adding the automatic support for EUR/GBP/JPY based accounts.

So stay tuned as always, because the best has still to come!

New Crescendo v1.4 Unlimited Beta Version Sent to Beta Tester

Salve a tutti,

I just sent an email to all the beta testers with the new Crescendo v1.4 Unlimited BETA.

The default settings don’t use the new features so it’ll work as the “regular” Crescendo v1.4 BETA.

Also it isn’t limited to run on GBPUSD and GBPJPY, but can be applied to any instrument.

In the next few days I’ll give you more information on performances also thanks to beta testers feedback.

Forex Crescendo Evolution Update

Salve a tutti,

it’s a long time since I post something new but that’s been because of two things: first I’ve been sick for a few days (now I’m fine) and second I’ve been working on Crescendo v1.4 code to fix a few minor issues and add to improve the strategy.

The trend score algorithm seems to be the crucial point and that’s what I’m mainly working.

I wanted to release an updated version to beta tester a couple of days ago but then I had an idea for the trailing procedure and I worked on that. I just finished coding it and now I’m backtesting it to see how it performs.

The first trailing procedure I coded was a quite standard one: when the price reaches a certain $ gain, the EA starts trailing it until it retraces of another amount of $. By default on a $10.000 account the trail starts when the trades are in profit of $40 and the distance for the retracement is 20$.

But I wasn’t satisfied by the perfomances given by it, as the improvement was not what I expected to be. So I was wondering if I could use any other trailing solution. And I think I’ve found a very original one that is specific for Crescendo.

The new trailing strategy is based on the trend score (again!).

The idea is very simple. Let’s say we enter LONG with a trend score of 1 (or more, but 1 is perfect), we keep the trade open until it reverses to -1. If the price goes below the brekeven point (so it’s in loss) it’ll continue to open new trades to lower the breakeven (as it’s doign now) but it wont close it when the total values of the open trades is a fixed profit (default $40) but it’ll close only when the trades are in profit (important!!!) and the trend score reversed to -1 or less.

I also added a feature that I always wanted to add: pyramiding. Always based on trend score. When the trades are in profit (so above the breakeven level) and the trend score increase (in case of a long), Crescendo adds a new long trade. So let’s say the EA enters long with a trend score of 1, when in profit if the trend score goes to 3 it opens another long, if in profit it goes to 5 it opens another long (so we can have potentially 2 more trades opened for pyramiding).

In reality it’s not exactly that way as the exit is made in a little different way but it’d be too long to explain now.

But what’s important to know now is that the new strategy puts trailing and pyramiding together, always using the trend score.

That’s why the trend algo is so crucial and needs even more attention than before. And that’s why I’m taking a litte more time to work on the above procedures and on the trend algo, as everything needs to be very reliable.

For that reason I’ve been working hard on the trend algo and I have developed 3 other ways to calculate it: an average HMA based one, a price speed based one, and a price acceleration based one.

The average HMA creates and HMA made by the sum of all the 5 HullMA values divided by 5.

The price speed and the price acceleration ones are based on my smoothed Speed&Acceleration indicator. It always uses 5 of them, applied to the same timeframe but different periods and use them to give a “score” to the trend. They both have very very interesting results.

I coded also a procedure to calculate the average maximum DD and eventually adjust the order step based on it. That way if recent orders created a higher max DD, the EA will adapt automatically widening the order step.

I also modified the set of options to make them easier to be understood and just started working on the new colored text interface that can be moved anywhere in the chart so that it doesn’t overlap the price.

The new trailing, the new trend score based on speed and acceleration, new trailing procedure with pyramiding, along with the order step automatically adjusted based on the average maximal draw dows will probably be part of a more “advanced” version of Crescendo that will be released with v1.4 update, that won’t be limited to run on GBPUSD and GBPJPY only but will run on any currency pair (and not only). I’ll call it “Crecendo Unlimited”.

I deciding to go with a separate version of Crescendo because the new features are a huge evolution of the actual strategy and I’m spending a lot of time developing and testing them.

Beta testing will continue at least for all the coming week and I’m taking a few hours more for preparing the latest beta to be send over today or tomorrow to beta tester (and putted live on the Live EA section).

Follow Crescendo V1.4 Beta Live Trading!

Salve a tutti,

great news! I just opened a new section in PimpMyEA.com blog: Live EAs.

In this section of the blog you can LIVE(!!) follow EAs trading.

And the first EA in that section is Crescendo v1.4 beta.

More EAs will come in the next days, as well as a leaderboard to compare EAs performances.

The technology is made available thanks to Gallant VPS.
I have to thank them all as this is such a great VPS solution and they worked a lot to make it available.
No other website can offer you a service like that and I’m very proud of it.

Crescendo v1.4 Beta – GBPUSD 2009-2010 Backtests Results And Options Description

Salve a tutti,

here are the links for the first backtests of Crescendo 1.4 beta version that the beta testers are using.

The tests are made on a $10.000 account starting with 0.3 lots.

They are made using Dukascopy tick by tick data (so backtesting quality is 99%) for the years 2009 and 2010. I’m doing them for 2007-2008. Can get back more than that as Dukascopy doesn’t have tick by tick data before 2007. The spread used is 2.5 pips and the EA automatically stops trading in low volume periods (read more in the options description section).

The first backtest is made WITHOUT compouding (GAIN: +244% with a Max floating draw down reached of 19%):

The second one is made WITH compounding (GAIN: +475% with a Max floating draw down reached of 25%):

Remember that we are starting with 0.3 lots on a $10.000 account (the equivalent of 0.03 lots on a $1.000) that is 3 times (!!!) more that the actual suggested maximum lot size and we are keeping the floating DD below the 20% (no compounding) and below the 30% (with compounding).

Here follows a description of the main options of the new version. Remember is still a beta and something can change in the final version, also the default settings here are those for GBPUSD pair:

AUTHENTICATION OPTIONS
username =”";
password =”";
those are the username and password used to login to the download area

STRATEGY SETTINGS
initial_balance = 10000;
this is the initial balance or the balance that the EA should use to trade. By default is $10.000 (and not $1.000) for this beta version only.

order_step= 60;
this is the minimum amount of pips of distance from the last open order.

daily_range_order_step = false;
dros_days = 20;
dros_factor = 3;

this options let the order step be based on the average daily range (difference between the highest high and the lowest low) of the last “dros_days” days. So by default it’ll calculate the average daily range of the last 20 days and divide it by “dros_factor” (by default 3). This will be used as the order step. That way the order step is automatically adapted to the volatility of the period. Be careful when using this options in backtests as it requires you to download the historic daily data to work well.

target_profit = 120;
this is the target profit in US dollars (!) that all the orders must reach to close them. By default now it is $120 and not $40 as by default on a $10.000 the maximum suggested lot size is 0.3 lots (see below) and not 0.1 lots. That means that with this settings the EA is expected to be 3 times safer than the previous versions. That also means that the minimum requirement to trade it should be $300 (using 0.01 lots) and no longer $1.000.

profit_trailing = false;
trail_start = 120;
trail_step = 60;

if “profit_trailing” is set to true, the target profit is not used and a profit trailing procedure is used instead. The trailing will start when the “trail_start” value is reached and the orders will be closed if the profit “retrace” of “trail_step” value from the highest profit value. So by default when the profit reach $120, if the profit come back to $60 all the orders are closed. But in case the profit continue to increase and reach for example a maximum value of $200, the orders will be closed when the total profit value retraces to $140 (200-60). All the values are in US dollars (!).

frequency_note = “0 – always; 1 – every hour; 2 – every 3 hours”;
frequency_noteb = “3 – every 6 hours; 4 – every 12 hours; 5 – every 24 hours”;
frequency = 3;

this is the frequency used for the market check. The default frequency now is 3 (every 6 hours) and no longer 4 as the filters we are applying to orders opening will lower the number of orders.

dd_based_frequency = False;
dd_step = 1;

this option will make the frequency to be “automatic” and increase/reduce based on the value of the draw down percent. The “dd_step” will decide the step used to calculate the frequency value.

use_mtf_trend = True;
trend_threshold = 3;

This will let the EA trade by using the trend score coming from the direction of 5 Hull Moving Averages. The “trend_threshold” is the minimum magnitude score to enter a trade. By default it is 3 meaning that a trend score of +3 or +5 is needed to open long trades, while a trend score of -3 or -5. Remember that there are only 3 levels of magnitude (from the weaker to the stronger): 1, 3 and 5.

trend_timeframe_1 = PERIOD_H1;
trend_timeframe_2 = PERIOD_H1;
trend_timeframe_3 = PERIOD_H1;
trend_timeframe_4 = PERIOD_H1;
trend_timeframe_5 = PERIOD_H1;

those are the timeframe of each of the Hull Moving Averages. With version 1.4, by default we’ll use not a multi TIMEFRAME, but a multi PERIOD approach. So the timeframes will be all the same for all 5 the Hull MAs. This is because of some “fault” of Metatrader 4 in managing multi timeframe data both in backtests and when trading live. The multi period approach will avoid that kind of problem giving a much more “stable” trend score.

trend_period_1 = 9;
trend_period_2 = 36;
trend_period_3 = 225;
trend_period_4 = 1225;
trend_period_5 = 4900;
those are the periods of the 5 Hull MAs. With version 1.4 by default we’ll work with different periods instead of the previous default of 10 applied to different timeframes. The value of each period is the power of some number (Ex 9 = 3×3, 36 = 6×6, 225 = 15×15, 1225 = 35×35, 4900 = 70×70) as they are the best to be used with HullMA because of its formula. So if you want to play with them, always use “squared” numbers.

check_for_OBOS_first_trade = true;
check_for_OBOS_additional_trade = false;

those option let you select the oscillators filters for the first trade of a set and/or for the additional traders.

use_stochastic1 = false;
use_stochastic3 = false;
use_rsi1 = false;
use_rsi3 = true;

those are the 4 filter available: the stochastic one is a 5,3,3 stochastic applied to 1H timframe, the stochastic3 is the average of the stochastics using the trend_timeframe1/2/3 and trend_period1/2/3. The rsi1 is the RSI of the trend_timeframe1/trend_period1. The rsi3 is the average of the trend_timeframe1-2-3/trend_period1-2-3

OB_threshold = 60;
OS_threshold = 40;

OB_threshold is the level used as a filter for a buy. If the value of the oscillator is > OB_treshold than it is good for a BUY.
OS_threshold is the level used as a filter for a sell. If the value of the oscillator is < OS_treshold than it is good for a SELL.
I use the oscillators as “momentum” indicators and not really overbought/oversold values (!!).

filter_additional_entries = false;
additional_entries_threshold = 1;

this option give you the possibility to filter additional orders also based on the trend score. If the magnitude of the trend is equal or more that the “additional_entries_threshold” than the additional order is issued. So if for example the first order is a BUY entered with a trend score of +3, the additional orders can be sent only if the trend score of +1 or more.
This is made to issue additional orders when the trend direction of the initial order is resumed.

max_open_orders = 3;
this is the maximum number of total open orders.

close_on_counter_trend = false;
counter_trend_threshold = 5;

if set to true then the EA will close the trade if the trend score reverses in the opposite direction of the initial order with a magnitude of “counter_trend_treshold” value or more.

manual_trend = false;
trendnote = “1 – long; -1 short”;
trend_direction = 0;

those options let you manually set the trend direction.

trend_following = false;
if set to true then a new order is issued as soon as a previous one is closed without waiting for the next check time (based on the “frequency” value).

use_stop_loss = false;
stop_loss = 500;

those options let you set a fixed stop loss to every order issued.

MONEY MANAGEMENT OPTIONS

compounding = false;
compounding_factor = 0.5;
fine_compounding = true;

those options let you set the automatic compounding option. It’ll use the “initial_balance” to calculate the minimum amount of gain to increase the initial “lot_size”.
The “compoundig_factor” tells the EA how fast it’ll have to start compounding. With a value of 0.5 it means that when the gain will be equal to the initial_balance, the compounded lot_size will be only 50% more of the initial lot_size.
The increase of the lot size is made gradually and if the “fine_compouding” is set to true the it’ll use microlots (0.01 steps) to increase the lot_size for every order as the EA starts gaining.
So, the higher the number of the “compouding_factor” (defaul is 0.5 but can be 1 or 2 or any number) the faster the increase of the lot_size. I suggest you not to increase it too fast as otherwise you risk to hit the “max_DD” (see below). A value of 0.5 is in my opinion the best balance (max 1). But if you don’t worry too much about the DD and want to aggressively increase the lot_size, you can set to values higher than 1.
The fine compounding (if microlots steps are allowed by your account/broker) it is surely the best choise as it’ll give you the smoothest increase of the lot_size value.
Note that the target profit is AUTOMATICALLY adapted as the lot_size increases (even if the target profit is set to trailing!).

lot_size = 0.3;
this is the lot size used to open the inital order and the additional ones if no martingale is used. If it a martingale is used then the additional orders lots sizes will be calculated based on the martingale strategy.

risk_percent = 0;
calculated the initial lot size based on a percentage of the initial balance.

max_total_DD = 30;
this is maximum total draw down before closing all the orders.

slippage = 5;
this is the maximum slippage (difference between the price level sent by the EA and the one offered by the

linear_martingale = true;
fibonacci_martingale = False;
exponential_martingale = False;
exponential_factor = 2;
logaritmic_martingale = False;
log_multiplier = 4;

those are are a set of 4 different martingale strategies.
The linear one uses that sequence 1, 2, 3, 4, 5, 6, etc multiplied by the lot_size.
The Fibonaccy uses the sequence 1, 2, 3, 5, 8, 13 etc multiplied by the lot_size.
The exponential uses the classical exponential increase, so with a factor of 2 the sequence is 1, 2, 4, 8, 16 etc.
The logaritmic one uses the natural log multipled by the log_multiplier to increase the lot_size.

avoid_low_volume_periods = true;
when set to true, the EA will stop from opening new positions around August and mid December to mid January. This is to avoid the EA to get caught in periods with low trading volumes that are very unstable. The periods are “hard coded” inside the EA code.

Crescendo v1.4 Out To Beta Tester

Salve a tutti,

I can confirm you that Crecendo v1.4 beta has been just sent to beta testers.

Later tonight I’ll publish the first two backtest of it.

Monday Crescendo v1.4 MMaXI Will Be Available To Beta Testers

Salve a tutti,

Crecendo v1.4 MMaXI beta is almost ready to be sent to the beta tester.

Monday I should send them and start testing it for a couple of weeks, after having fixed all the possible issues with it.

I’m planning to release the definitive version February 22nd after one year from the start of the live account. I’ll also start a new live account (or use the old one but with the new version… I still have to decide).

A recap of what’s new in version 1.4:

  • updated trend algorithm to work with multi period and not multi timeframe (but you’ll have the option to set the timeframe and/or the period for each of the 5 hullMAs used to determine the trend score);
  • added profit trailing (you can set the start of the trailing and the distance used to trail the profits)
  • added filtering for first order entries based on oscillator;
  • added filtering for additional orders based on oscillator and/or on trend score;
  • added max total open orders and max open orders per bar;
  • added fully automatic and customizable compounding strategy (it adapts lot size and target profit based on it);
  • added logartmic martingale (a martingale system that increases the lot size more at the beginning and less as more orders are added);
  • added version 1.2 compatibility mode so that all the settings are made as in the actual live account (for good old things lovers :D )

That’s the list of already coded new features. Maybe in the next two weeks some more will come.

I found that there maybe very different approaches to trading with it. The EA will come out with a default settings that has proofed to be the most stable one… meaning the best in terms of balance between risks and profits. But with time we’ll publish more settings with backtests. I’ll also ask beta testers first and then those of you that are more advanced in automatic trading, to “play” with settings a find different trading approaches.

PimpMyEA And Crescendo On Twitter

Salve a tutti,

now you can also use Twitter to be always updated on PimpMyEA.com and Crescendo‘s blog posts.

Simply subscribe to PimpMyEA.com Twitter feed here:

http://twitter.com/pimpmyea

And to Crescendo’s Twitter feed here:

http://twitter.com/crescendoea

Rover North Launch Postponed To Tomorrow

Salve a tutti,

Thank for your patience. Rover North website server is back up and they also have a second server ready to go.

Despite that they are not 100% happy with the feedback they are getting from the technical department of the host as it seems that resources may not be enough to handle the load. They’ll be adding more resources during the night.

For that reason they decided to postpone the launch until tomorrow at 9 am EST.

P.S. Crescendo’s blog and PimpMyEA has been affected as well. We recovered a yesterday backup, so some of the comments (mine and yours) are probably lost. Sorry about that but unfortunately there’s not much I can do for that.

Melted Servers!

The server that Rover North Forex System is hosted on just had a melt down.

Unfortunately is the same server ForexCrescendo.com and PimpMyEA.com are hosted :(

That’s why we were down as well along with many other websites.

It seems that there are so many people trying to get to the website that they just couldn’t cope.

The situation is solved now, but it took some time to redirect traffic to the backup servers.

So right now the release has been postponed. It should only be by a few tens of minutes.

I remind you the link for Rover North trading system, that is:

http://www.pimpmyea.com/rover_north.html