stevehopwoodforex.com
https://www.stevehopwoodforex.com/phpBB3/
Print view

Shelley's multi-pair basket trader
https://www.stevehopwoodforex.com/phpBB3/viewtopic.php?t=583
Page 65 of 87
Author:  SteveHopwood [ Fri Jun 01, 2012 10:49 pm ]
Post subject:  Re: Shelley's multi-pair basket trader

Zypip wrote:I have tested Shelley today again with the following setup and results:

- Original Shelly : +500 pips ish
- Shelley with TMATRUETF 60M : +250pips ish
- Shelley with slope conf TF 60M : +100pips ish

If I could be allowed one wish it would be to have the slopeconf TF trigger at 0.4/-0.4 instead of the current 0.8/-0.8 (actually user definable would be fantastic for fine tuning). From my preliminary analysis it would increase the number of trades without too much impairing on the retracement filtering.
Still using v1r with Gary's setfile with jsl disabled.
Will keep my comparison settings running to see which one will fail first and if one can survive future significant retracements. I may add another Empty4 session using SCTF and TMATRUETF set at 30M.

-
I have added this and V 1u is attached. The inputs are SlopeConfirmationBuy/Sell.

This also includes Gary's JSL fix. I attach it here for the coders and for anyone who has found a way to play with this in weekend backtesting. I shall upload it (with anything else that comes up) to post 1 in time for Sunday/Monday opening.

:D
Author:  garyfritz [ Fri Jun 01, 2012 11:25 pm ]
Post subject:  Re: Shelley's multi-pair basket trader

SteveHopwood wrote:How do you do it? You are able to put your finger on the most inefficient of code and instantly spot the bloop.
I said, "The JSL isn't being updated properly. That's JslPips." So I searched for "JslPips =" and there were only a few choices. Elementary, my dear Watson!
FYI, my limited understanding is that mql4 evaluates all conditionals in an if (a && b && c) even if a fails. Placing these conditionals separately is my own way of trying to cut down on 'overhead'. Limited, I know, but that is me.
That is indeed the way MQL4 works.

However my time and brain cells, and those of the readers of my code, are vastly more valuable than saving a microsecond or three when the code executes. For simple tests like this example, the inefficient MQL4 code is literally just a couple of extra machine instructions. (Assuming they do actually compile it, otherwise it's a few more.) It's an insignificant savings, and it's really not worth bothering with. It will not make ANY noticeable difference in the execution time -- even if you analyzed it with a code profiler -- yet for this non-benefit you have IMHO sacrificed the readability of your code, and that's always a grave error. Clearly readable and understandable code will pay back FAR more benefits than saving a nanosecond here or there.

Unless there is a very good reason -- like one of the conditions being tested is actually a function call that is expensive or makes an undesirable change -- then I write the code the way I consider clearest for HUMANS to understand. And I find "if (A && B && C)," all in one place visually with the logic spelled out explicitly, much clearer than spreading A, B, and C across extra lines of if's and {}'s, with implied but invisible "and" behavior &etc. If I want to separate them visually I might do something like

Code: Select all

if (Acondition > Avalue
      && !Bcondition
      && (Ccondition > 0 || Dcondition < 0)
...which, to me, is much clearer than

Code: Select all

if (Acondition > Avalue)
{
   if (!Bcondition)
   {
      if (Ccondition > 0 || Dcondition < 0)
      {
       ...
      }
   }
}
It's in one compact unit instead of being scattered across many lines of code, and I find that easier to see and "grok."

Always do what's best and easiest for you and other readers of your code. You're a much more precious and limited resource than a few CPU instructions.
Author:  SteveHopwood [ Fri Jun 01, 2012 11:39 pm ]
Post subject:  Re: Shelley's multi-pair basket trader

garyfritz wrote:
SteveHopwood wrote:How do you do it? You are able to put your finger on the most inefficient of code and instantly spot the bloop.
I said, "The JSL isn't being updated properly. That's JslPips." So I searched for "JslPips =" and there were only a few choices. Elementary, my dear Watson!
So is giving a professional-standard piano recital, when you know how. Not many people here know how, but it is pretty damn obvious to me. Spotting bloops in squiggly code may be elementary to you, but it ain't to most of us. Including me, and I wrote the blasted stuff. :lol:
FYI, my limited understanding is that mql4 evaluates all conditionals in an if (a && b && c) even if a fails. Placing these conditionals separately is my own way of trying to cut down on 'overhead'. Limited, I know, but that is me.
That is indeed the way MQL4 works.

However my time and brain cells, and those of the readers of my code, are vastly more valuable than saving a microsecond or three when the code executes. For simple tests like this example, the inefficient MQL4 code is literally just a couple of extra machine instructions. (Assuming they do actually compile it, otherwise it's a few more.) It's an insignificant savings, and it's really not worth bothering with. It will not make ANY noticeable difference in the execution time -- even if you analyzed with a code profiler -- yet for this non-benefit you have IMHO sacrificed the readability of your code, and that's always a grave error. Clearly readable and understandable code will pay back FAR more benefits than saving a nanosecond here or there.

Unless there is a very good reason -- like one of the conditions being tested is actually a function call that is expensive or makes an undesirable change -- then I write the code the way I consider clearest for HUMANS to understand. And I find "if (A && B && C)," all in one place visually with the logic spelled out explicitly, much clearer than spreading A, B, and C across extra lines of if's and {}'s, with implied but invisible "and" behavior &etc. If I want to separate them visually I might do something like

Code: Select all

if (Acondition > Avalue
      && !Bcondition
      && (Ccondition > 0 || Dcondition < 0)
...which, to me, is much clearer than

Code: Select all

if (Acondition > Avalue)
{
   if (!Bcondition)
   {
      if (Ccondition > 0 || Dcondition < 0)
      {
       ...
      }
   }
}
It's in one compact unit instead of being scattered across many lines of code, and I find that easier to see and "grok."

Always do what's best and easiest for you and other readers of your code. You're a much more precious and limited resource than a few CPU instructions.
Thanks Gary. You will see me acting on this advice in future code.

:D
Author:  garyfritz [ Fri Jun 01, 2012 11:46 pm ]
Post subject:  Re: Shelley's multi-pair basket trader

Glad you didn't mind being lectured at and preached to. :D This is one of my soap-box issues...
Author:  SteveHopwood [ Fri Jun 01, 2012 11:54 pm ]
Post subject:  Re: Shelley's multi-pair basket trader

garyfritz wrote:Glad you didn't mind being lectured at and preached to. :D This is one of my soap-box issues...
I only hate soap-boxers when they have nothing useful to say.

Mind, there will be times when I continue on my sweet, merry way because I have found a method that works for me, whatever the experts think.

Mostly though, I love learning about this stuff.

:D
Author:  Lifesys [ Sat Jun 02, 2012 12:56 am ]
Post subject:  Re: Shelley's multi-pair basket trader

I agree with Steve, jumping on the tail of this and hoping it works is unwise. I read NB10.2 & Shelley here and FF. Success with 'Shelley' is amazing but not accidental. Our account went up 23% last week using 'Shelley' v.L, AdaptivePipsTakeProfit at 25pip/trade (15pip if uneasy). MPTM does ALL other managing as did Shelley originally.
Have 'Shelley' on 3 charts, each set to fire 10mins prior to a major session.
From my own research and experience trend trading, I set up MPTM with -
- BE at 25pips, jumping stop at 40pip
& for safety reasons, 4000ms after Shelley starts :
- MPTM adds (missing) SL at 0.5 of ATR(10) @ 1440 &
- & (missing) TP at 1.2 ATR(10) @ 1440
This gives set SL/TP should computer/connections/else fail.
For strong trends simply pull off Shelley & let MPTM manage.
My confidence in NB TMA Slope Display increases when checked with ADX MTF(M15 to W1) I adapted and use at the bottom of normal charts.
TMA & ADX are not always the same but a joint very solid trend filter.
I found concordant TF ADX on pairs, SL at 0.5 ATR and TP at 1.2 ATR produces 500-750 pips/week across pairs. With TMA & 'Shelley' firing it, is awesome. Just keeps hitting 200-400 pips per session before retracement.
Author:  fxozgirl [ Sat Jun 02, 2012 12:56 am ]
Post subject:  Re: Shelley's multi-pair basket trader

maudur wrote:
maudur wrote:
fxozgirl wrote:...
5. Obviously the question of drawdown is an age old forex conundrum and everyone has a different risk profile. I think it's highly unlikely that any strategy/system/EA will ever be able to perform without drawdown...we each need to manage this as best we can for our own personal risk profile, by ensuring our lot sizes are proportionate to our balance and that we stick to trading by the rules (whichever they may be) and that we trade on demo until we are absolutely certain & confident in the system.

Cheers

Shelley


ps. sorry for my ramblings :oops:
Shelley,

I read all your post in this thread and understand that you do not select any SL, is that correct?

In case such that the drawdown grow to a certain level that you consider, then you will close all orders assuming the loss or how you do it?

Thank you very much.
Shelley,

Please answer my questions.

Thank you.
Apologies Maudur, I must have missed your original post...please understand the heaviest posting activity on this forum is while I am sleeping and then I try to catch up on 5 or 6 pgs of posting before I go to work in the morning and I don't usually have time to post then, so sometimes I miss things.

To answer your question:

No, I do not use SL!
I trade small enough sizes that even if there is a massive move against me in the market I will not even come close to blowing my account. This was something I learnt some time ago from Bob and in doing so I can still grow my account anywhere from 5 - 10% per month. I regularly have trades open overnight and sleep quite comfortably.

In regards to this system, I am trading on demo and I like to demo trade as I would trade live - that is with similar account $ size, same lot sizes etc and I try to manage each trade as if it was a live trade to try as best I can to simulate what my reactions/responses would be in a live scenario...

that is how I learn and I don't/won't take it live (even as tempting as it may be, & a painful lesson learnt some time ago) until it has experienced the good & bad. ie strong trends at the moment are awesome, we have yet to see a full blown reversal or significant retrace. When/If that occurs, I will monitor how the EA performs and if there is considerable drawdown I will obviously try to identify any potential solutions. To date the EA has handled some small retracements very well.

Unfortunately forward testing takes time & most often one month is nowhere near enough time to decide how stable a strategy is.

Edit: I forgot to mention, I do use mptm to set breakeven +5 at 25 pips, this does provide some level of protection as well.
Author:  fxozgirl [ Sat Jun 02, 2012 1:10 am ]
Post subject:  Re: Shelley's multi-pair basket trader

My NB 10.2 results for this week are:

Shelley EA (version 1j) 1636 pips - I did not trade NY session on Friday, but did trade the Asian session last 2 days for positive pips both days

NB 10.2 EA (version 1v)1647 pips - I currently have trades open down approx 400 pips.

Shelley Manual trading - 1220 pips this week (4647 pips since 8th May)

I intend to set up a 2nd & 2rd demo of Shelley EA on Monday using the LTF confirmation and the TMA confirmation for comparison.
Author:  Lifesys [ Sat Jun 02, 2012 1:25 am ]
Post subject:  Re: Shelley's multi-pair basket trader

I neglected to mention I also have MPTM 'ShirtProtectionEnabled' which I vary according to expected risk. e.g. for NFP last night I set 'Shirt' protection to $200 and set AdaptivePipsTakeProfit to 15pip. The 12 Shelley pairs which fired before NY open went 650 pips (we got 200) before reversing ~1800 pips total in 30mins.
Good protection and being satisfied with the middle 1/3 will hold Shelley well.
Author:  maudur [ Sat Jun 02, 2012 3:18 am ]
Post subject:  Re: Shelley's multi-pair basket trader

fxozgirl wrote:...
Apologies Maudur, ...
To answer your question:

No, I do not use SL!
I trade small enough sizes that even if there is a massive move against me in the market I will not even come close to blowing my account. This was something I learnt some time ago from Bob and in doing so I can still grow my account anywhere from 5 - 10% per month. I regularly have trades open overnight and sleep quite comfortably.

...
Thank you very much Shelley.

When do you will close your negative trades? At some negative percent of account? Or do you use recovery?

Thanks
All times are UTC Page 65 of 87