Archive for July, 2011

Download Link For Crescendo Version 1.4

Salve a tutti,

I got many email asking where to download Crescendo v1.4.

Well the link to download it is in the announcement post (http://www.pimpmyea.com/crescendo-1-4-free-update-available/) but for those who missed that post here’s the link:

http://www.forexcrescendo.com/downloads/Crescendo_v1dot4.zip

I’m about to put it also in the download are along with the automatic installer.

A presto.

To Martingale Or Not To Martingale?

Salve a tutti,

with version 1.4 I did introduce a linear martingale approach as default.

That means that the lot size for additional orders will be increased following a mathematical rule. As for everything this is optional, and you can come back to a “no martingale” approach by setting “martingale_strategy” to 0 (no martingale).

But let’s look at the different rules and then discuss the pros and cons of using them.

Read more

7 Important Things To Know About Crescendo v1.4

As you know we just released version 1.4 of Crescendo.

What are the most important features in it?

  1. More currencies
    Crescendo now runs on 5 currency pairs: the original GBPUSD, GBPJPY plus EURUSD, USDCHF and USDJPY. This will help you depend less on performances of a single pair. But that also requires a more conservative approach to lot size specially if you are intentioned to use them all.
  2. Trailing
    Trailing is meant to try to try take advantage of strong trend by letting the profits go until there’s a retracement large enough to close the trades in profit. This is a very important feature that usually leads to more stable performances.
  3. New Trend Score algos
    This is one of the aspects I worked more on. I tried many different approaches and the ones that are released with this new version are really new and powerful. So much that they are becoming more and more the real core of the strategy. The new algos range from using speed and acceleration indicators applied to the same timeframe but with different periods, to use the well known Parabolic SAR to score the trend on 5 different timeframes. There’s no “better” algo than other. They all proofed to be good but some work better with lower frequency values, other with certain pairs, etc. So there’s no “absolute winner” for now :)
  4. Check of Trend Score for additional entries
    This simple option is a really important change to the strategy. While until now, we were just checking at trend score for the first trade, with that option set to true Crescendo will only open optional additional positions only if the trend is coming back to the original entry one.
    An example: let’s say that we entered long with a trend score of +3. Then the price goes against us and starts to go down. So much that the trend score falls below 0 and goes negative. The EA will open additional long trades only when the trend score comes back positive (by default from +1 and above, but you can choose the minimum “magnitude”).
    This is made to avoid opening positions in the “wrong” direction when the trend is clearly against the original one. That helps keeping the draw down low and helps us in using some sort of martingale strategy to speed up the recovery. We can use martingales quite safely as we are opening new orders only when the trend is back to what it should.
  5. Entries filtering
    To avoid entering when the trend is over or not yet strong enough, we can use OB/OS indicators. There are 4 different approaches to that. Again, no absolute winner here as well. Depends on frequency and on the currency pair. You can also filter additional entries as well, not only the initial one.
  6. Automatic avoiding trading in low volume periods
    I decided to add that option and set it by default to true after I saw so many max DD reached last Christmas. There are periods of the year when there’s not enough volume to guarantee that the price moves as usual… “breathing” as I say or more commonly in “waves”. During those periods of the year prices go in apnoea and can go only in one direction for weeks. This can lead to large DDs if you are in the wrong direction and can take weeks or months to come back to normal. Crescendo now can automatically stop trading (opening additional sets of trades, but it’ll manage existing ones if any) from about the end of July to beginning of September and from around mid December to mid January. Dates are hard coded into the EA.
  7. Compounding
    This option has been one of the most requested and I can easily understand why. But Crescendo is not a normal EA so I had to find a way to develop a compounding strategy that won’t rise the risk of trading. We should use the money earned with it to build safety. So the compounding strategy that I developed works in steps. When Crescendo reaches a certain level of gain it’ll start rising the initial lot size by a part of the potential. That way you’ll compound by increasing the lot size, but also you’ll reduce the risk of your trades the more and more you trade with it.

That’s it. This is a general overview of the most important changes and improvements made with this new version. I hope you’ll like them and will help you in being profitable.

A Few Words Of Caution And FAQs

Salve a tutti,

I already have a set of FAQs that I want to answer to to clear a few very important things.

ONE IMPORTANT THING: this version has been tested for a long time BUT as always RUN IT ON A DEMO ACCOUNT first and THEN move it to a real account. We can’t cover all the possible brokers, MT4 versions, settings, etc.

Here’s the “first” list of FAQs:

Default money management settings are made for running all the 5 pairs together?
Default use $1000 as initial balance and 0.01 lots for a target profit of 4$. This is a quite safe setting that can let you manage 2 or 3 pairs without great problems. If you plan to use all 5 pairs I suggest you to rise the minimum amount of your account to at least $2000.
But that also means that if you want you can run it starting with one pair only (GBPUSD is the best for now) with around $300/$500.

Does the maximum draw down (default 30%) refer to all the open orders of all the pairs?
No, starting from this version the DD is calculated per pair. So it is important to keep that in mind when calculating the maximum loss you can reach. What I suggest you to do is “partition” your account. So if for example you have a $1000 account use 2 pairs each one with an initial balance setting of $500 and the rest as default. That way each pair will risk max $150 (30% of $500). “Partitioning” is the safest approach when using multiple pairs. It is better if you don’t go lower than $500 initial balance for each pair (using 0.01 lots and $4 target).

Does the new version take care of the previous trades?
Actually the new version works with just one magic number (130907) and that is the magic number used for GBPUSD trades in the previous version. So it’ll be able to manage GBPUSD trades. If you want it to manage GBPJPY trades as well you have to change the “magic number” to 300610 that is the one used by the previous version for GBPJPY.

Do I have to run it on all the 5 pairs?
No. It depends on how much money you have in your account. As written before, use 1 pair for each $500 in your account. So to run them all you should have at least a $2000/$2500 account. Start with GBPUSD that is the one giving better results. In the next days I’ll publish tick by tick backtest performances so that you can then evaluate the other pairs.

Are those setting good for every pair?
The default settings are made to be good for every pair but we’ll publish some “optimized” setting in the next days with “set” files so that it’ll be very easy to apply them.

That’s all for now. If you have more questions we are here to answer them.

Remember, the main goal is not to loose money. If you are conservative in your settings then you’ll have more opportunities to be profitable. Don’t rush. The EA has some nice compounding feature that works pretty well and can bring nice profits if you are patient enough and wait for it to do its job ;)

With Paolo, we just setup a new server specifically meant for tick by tick backtesting and optimization. It is very fast and we’ll use if mainly for Crescendo and for all the others EAs we are using.

In the weekend I’ll write more detailed post about the improvements in the strategy and the direction I’m taking for version 2.0 Ultimate.

Crescendo 1.4 Free Update Available!

Salve a tutti,

I just uploaded the free update of Crescendo: version 1.4.

Here are the instructions to install it and the list of options available:

INSTALLATION

To install copy Crescendo_v1dot4.ex4 into your “MT4/Experts” folder and copy HullMA.ex4 and HMAcceleration.ex4 into “MT4/Experts/Indicators” folder.

You can apply Crescendo_v1dot4.ex4 to 1H charts of GBPUSD, EURUSD, GBPJPY, USDCHF and USDJPY.

OPTIONS LIST

AUTHENTICATION OPTIONS
username =”";
password =”";

those are the username and password used to login to the download area

STRATEGY SETTINGS
initial_balance = 1000;
this is the initial balance or the balance that the EA should use to trade.

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

target_profit = 4;
this is the target profit in US dollars (!) that all the orders must reach to close them.

trailing_note = “0 – none; 1 – by profit;”;
trailing_strategy = 0;
trail_start = 4;
trail_step = 2;

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 $4, if the profit come back to $2 all the orders are closed. But in case the profit continue to increase and reach for example a maximum value of $10, the orders will be closed when the total profit value retraces to $8 (10-2). 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. I suggest you to leave that option to false (as is by default) as it needs more work to find the “optimum” setting.

trend_threshold = 3;
check_TrendScore_add_trades = true;

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.

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.

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 = 24;
trend_period_2 = 48;
trend_period_3 = 72;
trend_period_4 = 96;
trend_period_5 = 120;

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.

bar_0 = 1;
bar_1 = 2;

bars used to evaluate if the trend is going up or down.
0 – actual bar (not yet closed); 1 – first closed bar; 2 – second closed bar … etc.

trend_algo_note = “0 – Simple HMA Trend Score; 2 – Simple HMA average”;
trend_algo_note2 = “3 – Speed HMA Trend Score; 4 – Acceleration HMA Trend Score”;
trend_algo_note3 = “5 – Average of Speed HMA and Acceleration HMA Trend Scores”;
trend_algo_note4 = “6 – ParabolicSAR Trend Scores”;
trend_algo_note5 = “-1 – Manual Trend SELL; +1 – Manual Trend BUY”;
trend_algo = 4;

determines the trend algorithm used.
0 is the one actually used based on a score given by the direction of 5 Hull MAs
2 summs up the 5 HullMAs and divide the value by 5 to have a composite “hullMA”
if set to -1 or +1 it’ll manually set the trend direction.
3 uses a HullMA smoothed Speed indicator to determine the trend (instead of a simple HullMA)
4 uses a HullMA smoothed Acceleration indicator to determine the trend (instead of a simple HullMA)
6 uses the Parabolic SAR applied to multiple timeframes to calculate the trend
More informations on that here: http://www.pimpmyea.com/the-art-of-trend-scoring/

check_for_minimum_bars = false;
Checks if the platform has the minimum amount of bars to calculate the trend score correctly. We suggest you to set that to true at least at the beginning if you want to check if you have enough bars in your history data to have trend score calculated correctly.

check_BullBear_1st_trade = true;
check_BullBear_add_trades = false;

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

filter_strategy_note = “0 – Simple Stochastic; 1 – Multiple Stochastics”;
filter_strategy_note2 = “2 – Simple RSI; 3 – Multiple RSIs”;
filter_strategy = 3;

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

Bullish_threshold = 60;
Bearish_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 overbough/oversold values (!!).

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.

use_stop_loss = false;
stop_loss = 500;

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

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

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.

MONEY MANAGEMENT OPTIONS
max_open_orders = 10;

this is the maximum number of total open orders.

lot_size = 0.01;
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.

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

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!).

martingales_note = “0 – No Martingale; 1 – Linear”;
martingales_note2 = “2 – Fibonacci; 3 – Exponential; 4 – Logarithmic”;
martingale_strategy = 1;
exponential_factor = 2;
logarithm_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 logarithmic one uses the natural log multipled by the log_multiplier to increase the lot_size.

GMT_time_shift = 7;
GMT shift used to determine the “virtual midnight” of the EA

Magic_Number = 130907;
magic number used by the EA

randomize_entry_minute = False;
adds a random amount of minutes for opening a new order

comment = “Crescendo_1.4″;
sets the comment sent with every order

hide_comment = false;
sends orders without any comment

verbose = true;
set it to false to speed up backtests

The link to download it is:

http://www.forexcrescendo.com/downloads/Crescendo_v1dot4.zip

If you have problems write to support@forexcrescendo.com

In the next days I’ll publish a set of post that will describe in great details the new strategies and how to use them at best.

Cheers,

Andrea