1 (edited by dfumagalli 2016-05-04 20:14:07)

Topic: Migrating from Multicharts EasyLanguage

Hello,

I love how Multicharts is reliable and how easily you can put in conditions on trading periods and similar.

I am trying to learn how to do a number of tasks in FSB and would love to have some suggestions:

1) Some things done with 1-2 lines in EasyLanguage seem incredibly complex done in FSB.
I am especially in need to enable and disable strategies at certain days and hours. With EasyLanguage is a matter of writing a series of "if" statements,  In FSB I have tried a combo of Day Of Week + Entry Time logic conditions but even just using 1 day and 1 entry time create some odd situations, where I change in example 1 minute From / Until and the Balance / equity goes from "totally good equity curve" to "close to vertical to margin call".


2) In general FSB seems very sensitive. In Multicharts I can optimize parameters by 1, 2, 5 etc. and I see slight variations in the calculated equity going in example from 20 to 40 (EMA shift days etc). In FSB parameters seem to have huuuuuuuge effects. 20 could give perfect equity curve, 21 makes curve drop by 20%, 22 makes algo go totally bankrupt, 25 yields again a positive curve and so on.

I guess I have to learn to use FSB better, any ideas how to dampen these effects? Because they happen even on strategies composed by just 2 indicators.


3) In Multicharts I have a library of "signals" or patterns. Past daily (seldom, weekly) bars are compared, if they are engulfing etc. then on a 15 minutes chart I go long / short / flat.

In example one of those patters is a function whose logic is like this:

...
BegTime(0900),
EndTime(1855),
...

daily_bar_factor = absvalue(opend(1)-closed(1))<0.6*(highd(1)-lowd(1));


If daily_bar_factor and Time >= BegTime and Time <= EndTime and Dayofweek(date) <> SkipDay and EntriesToday(date) = 0 then begin

    If maxSetup = 0 then begin
        maxSetup = HighD(0) + RangeMultiplier * (HighD(0) - LowD(0));
        slLong = HighD(0);
    end;

...

It's so easy I don't think I need to explain how it works. How do I include all this kind of logic in FSB? I don't see ways to do this with a Logic Conditions.

I am especially interested about how to implement previous days bars calculations similar to the one you can see assigned to daily_bar_factor.


4) It's quite common to want Sharpe >= 0.7 and System Quality Number >= 2.0

However even setting the Generator run time to 1 hour+, such a system just won't come up.

Any ideas about what I should do? I am not going to run a "low zero dot" sharpe system or very low SQN system, I really care about my money at stake.

Re: Migrating from Multicharts EasyLanguage

How this can be "so easy":

daily_bar_factor = absvalue(opend(1)-closed(1))<0.6*(highd(1)-lowd(1));

but this to be "incredibly complex":

daily_bar_factor = Math.Abs(Open[1]-Close[1])<0.6*(High[1]-Low[1]);

?

Re: Migrating from Multicharts EasyLanguage

4) It's quite common to want Sharpe >= 0.7 and System Quality Number >= 2.0
However even setting the Generator run time to 1 hour+, such a system just won't come up.

How much time does it take you to find such strategy in Multicharts?

It took me 1 minute to find such one with FSB:

http://s32.postimg.org/pu90nfeo1/screenshot_1582.jpg

(System Quality Number = 100 because this strategy has only winning trades)

Re: Migrating from Multicharts EasyLanguage

Popov wrote:

How this can be "so easy":

daily_bar_factor = absvalue(opend(1)-closed(1))<0.6*(highd(1)-lowd(1));

but this to be "incredibly complex":

daily_bar_factor = Math.Abs(Open[1]-Close[1])<0.6*(High[1]-Low[1]);

?

Thank you, I as I said I am trying to learn the new program... I did not find a place to put this stuff in.

I mean, if in MC I can save my library in a file and call it from another EasyLanguage file, where do I do the same in FSB?

I have checked some demos like this, but I don't see somewhere to put my script into.

I have seen it's possible to write indicators, but not a software logic script facility to open and close trades.

Re: Migrating from Multicharts EasyLanguage

I suggest that you spend time learning about FSBPro, this is not a charting program with added facilities........ It is completely unrelated to a charting program.

You will harm yourself by trying to integrate the two of them.

Try reading the documentation to get a good idea as to what this program is for. it is far from MC or TS or ENSIGN.

I relate to your concerns because I use other softwares as well..

Enjoy

daveM

Re: Migrating from Multicharts EasyLanguage

Blaiserboy wrote:

I suggest that you spend time learning about FSBPro, this is not a charting program with added facilities........ It is completely unrelated to a charting program.

You will harm yourself by trying to integrate the two of them.

Try reading the documentation to get a good idea as to what this program is for. it is far from MC or TS or ENSIGN.

I relate to your concerns because I use other softwares as well..

Enjoy

daveM

Yes, I have seen the potential in FSB, in fact I am transitioning from MC, not to smile

7 (edited by dfumagalli 2016-05-05 01:17:19)

Re: Migrating from Multicharts EasyLanguage

Popov wrote:

4) It's quite common to want Sharpe >= 0.7 and System Quality Number >= 2.0
However even setting the Generator run time to 1 hour+, such a system just won't come up.

How much time does it take you to find such strategy in Multicharts?

Hello,

please don't take my questions as an "attack" to FSB, I am just trying to understand the proper "path" to create an intraday system.

Here's what I am doing and why, please tell me where it's wrong:

- I am running the generator on 15m charts, not 1D, because on 1D I already trade by hand with a discretionary method.

- I want to use a stop loss and in the beginning phase with FSB I'd like also to set an initial size of 0.05 lots. When I see the strategy works for 2 months then I increase.

- I am using 25% OOS data and 100k intraday bars.

- I am attaching the various settings screens and the one strategy that came up after 1 hour (a second was not automatically added, it's equity curve is a big whipsaw).

- The last screen is after optimization. Even then, it's not so profitable and does not show so brilliant on the OOS data portion, to entice me to play with parameters like you do in the tutorial videos (the Youtube series).

http://i.imgur.com/2FPAtdS.png

http://i.imgur.com/YEjGVc6.png

Re: Migrating from Multicharts EasyLanguage

http://i.imgur.com/fmDc2Yh.png

http://i.imgur.com/6A0d2Ys.png

Re: Migrating from Multicharts EasyLanguage

http://i.imgur.com/CvNmliY.png

http://i.imgur.com/yrFxAFL.png

Re: Migrating from Multicharts EasyLanguage

Your settings are correct and it looks like you are doing well.

However, no one guarantees that a strategy that covers all requirements on the specific settings, market and historical data set exists.
We are searching strategies all the time. Finding good ones is a long process and requires hard work and dedication.
FSB is a great tool for that purpose. You set the settings and run it and you have strategy in an hour. Even if you don't like it, it is a starting point for further development.

11 (edited by dfumagalli 2016-05-05 12:58:51)

Re: Migrating from Multicharts EasyLanguage

Thank you for your great support and even patience!

I have 3 more newbie questions, that I believe are useful to know for everyone:

1) My best strategies of the past (as you also demonstrated with your own "1 minute => high quality setup") rely on specific "event patterns" identified on the daily charts, then they open a position in intraday and do simple stuff like checking moving averages and similar. How does FSB deal with those multi-time-frame situations, in its backtests calculation?

Example: in a 15 minutes strategy, for some reason I implement a filter that compares two past daily bars and then opens a position based on two EMAs crossing each other in the 15 minutes time frame.

I guess I have to create such strategy selecting the "15 minutes" as its time-frame for the backtest.

Shall the opend(1) / closed(1) etc. functions take the exact values from the saved daily bars history (usually available)? Or will they get "real time built" from the 15m bars history? Or maybe from the available 1m bars history?
I know in theory it should not matter, but in practice it does for some brokers. I use several, with wildly different 1m bars.

This is very important to me.


2) How does the FSB + MT4 combination behave, in case it's in the middle of a trade and Windows crashes / power goes off / internet goes off and then the situation gets fixed? Does it store some kind of "status" somewhere and resumes? Does it send an alarm? I am especially interested about how it'd deal with traling stops and added positions.

I know I should use a VPS and I will do that (later), but even those can and will crash / drop connection.


3) What kinds of benefits, if any, do I get by setting a longer timeout on the Generator? I mean, is it the same setting it to 1 hour or is it the same if I set it to 15 minutes and restart Generator 4 times? Or is there some "genetic / AI" algo that the more I let it go, the better it refines the strategies?

Re: Migrating from Multicharts EasyLanguage

How does FSB deal with those multi-time-frame situations, in its backtests calculation?

It works fine. You can set individual (longer) time frame for each indicator. Indicator Advanced Properties
When you use LTF, the program loads the corresponding historical file. FSB doesn't compile bars from lower time frame when backtests.

2) How does the FSB + MT4 combination behave, in case it's in the middle of a trade and Windows crashes

See this video: Preparing the Trading Environment

3) What kinds of benefits, if any, do I get by setting a longer timeout on the Generator?

This topic is discussed many times in the forum. It uses a machine study algorithm and finds strategies faster with the time. This algorithm is used only with the first several found strategies and its influence reduces with the number of collected strategies. It doesn't mater if it works continuously or on a short intervals.

I personally use it with 3 minutes setting when I'm on the comp and 10000 when I'm away. Sometimes I leave several Generators running during the night. If you do so, it is advisable to set proper collection names before starting the generators.

Re: Migrating from Multicharts EasyLanguage

Thank you, you are A-WE-SO-ME!

There's one sentence of yours that prompts me some questions, I apologize if they are really greenhorn.

Popov wrote:

I personally use it with 3 minutes setting when I'm on the comp and 10000 when I'm away. Sometimes I leave several Generators running during the night. If you do so, it is advisable to set proper collection names before starting the generators.


Apparently you develop a lot of strategies.

Does it mean algo strategies are short lived?
Or is it to develop a portfolio with dozens of strategies?
In your huge experience, what's an healthy amount and mix of strategies to have? 5 based on the daily, 8 on hourly, 6 on 15 minutes? Or should they be 3? Or 50? Or 20?
Do similar quality daily bar strategies last longer than intraday?

Re: Migrating from Multicharts EasyLanguage

Does it mean algo strategies are short lived?

We cannot generalize that. I have examples for strategies that work for almost a decade without a change. These are not suitable for live trading but can be used as a starting point for further development.

You can search the forum for my Fractal strategy and also you can see the "Demo MACD Reversal" included in the program. The interesting here is that I developed these 10 years ago and now they work at 100% unknown data.

Or is it to develop a portfolio with dozens of strategies?

This is the way I think gives a better chance on the market. A good portfolio consists of at least two strategies for each major symbol. You can develop replacement strategies during the time the portfolio strategies trade.

My personal opinion is that the best time frame for auto-trading is 30 min to 4 hour charts. Some traders use 1 or 5 min charts but I think it is risky since the trading cost is higher including spread and slippage. On the other hand the longer periods reduce the weight of the charges and give more time to the market to develop but increase the chance of unpredictable events to influence the trade (in both directions).

Do similar quality daily bar strategies last longer than intraday?

For sure. The strategies I mentioned prove that, but it comes with a price - higher drawdown. You my think for the D1 strategies as a long term investment.

The best is if your experts use the same trading style as your manual trading. The benefit of the auto-trading is the portfolio that works 24-5.