× Search
Tuesday, October 4, 2022

Archived Discussions

Recent member discussions

The Algorithmic Traders' Association prides itself on providing a forum for the publication and dissemination of its members' white papers, research, reflections, works in progress, and other contributions. Please Note that archive searches and some of our members' publications are reserved for members only, so please log in or sign up to gain the most from our members' contributions.

Are we all being "Fooled by Randomness"?


 Jim Hunt, Owner, V2G Limited

 Friday, September 13, 2013

Summer is over. After a long absence I'm back browsing LinkedIn for a different reason, but I couldn't help but notice that the hoary old topics of Van Tharp, position sizing in general and Mr. Martingale in particular are back on the menu once again. Might I take this opportunity to point out to the assembled throng that earlier this year Ray the Random Robot finally committed his much anticipated financial suicide? He prevaricated for well over 2 years!


3 comments on article "Are we all being "Fooled by Randomness"?"


 Jim Hunt, Owner, V2G Limited

 Wednesday, October 23, 2013

Direction is determined by comparing the open of a new one minute bar with the open of the previous one minute bar. If the two should happen to be equal enter in the same direction as last time. Ray has (or should that be had?) an irrational fear of being out of the market for much longer than a minute!

Bear in mind this is MT4, so the decision is made when the first tick of a new bar is received, and the "price" is the latest bid rather than the last trade.


 Jon Grah, Trading Systems Automation Expert @

 Friday, October 25, 2013

So, to summarize my understanding of the rules (reordered from a trade lifecycle perspective):


1a) Market "direction" is determined by comparing the open of a new one minute bar with the open of the previous one min bar. NewOpen > PrevOpen = Up (BUY); NewOpen < PrevOpen = Down (SELL). If NewOpen = PrevOpen, enter in the same direction as the last entry for the currency pair if available, OR wait for a new bar and repeat the checks.

1b) When the EA first starts for a currency pair or is restarted flat, we need at least 2 bars and one of those bars have to be AFTER Ray is [re]initialize to begin trading.


2a) If a currency pair is flat, enter at market in the "direction" of last one minute bar.

2b) Size of trade is determined by 2x "Martingale" multiplier, always starting with the broker minimum trade size if not specified in input (usually 0.1 or 0.01 for mt4; I noticed 0.1 minimum used in the Alpari acct until the very end). No limit or cap on the multiplier levels.

The multiplier is only used on a NEW trade if the PREVIOUS trade of the SAME direction and SAME currency pair hit the stop loss.

2c) If insufficient margin exists to use multiplier, Ray widens TP/SL [some random increment] instead of increase lot size.


3a) Exits per order ticket via fixed OCO stop/limit with a 1:1 ratio: Take Profit is 50.0 and Stop Loss is 50.0 pips.

3b) If TP is reached, loop back to ENTRY DETECTION step 1a)

3c) If SL is reached, re-enter immediately [or next bar open?] in the same direction as previous trade using lot size in ENTRY step 2b).


3 Improvements I see are:

1) get rid of step 2c (changing TP/SL with insufficient margin).

2) place a cap on the martingale levels to between 6-8. If you only pick one, 8 would probably be best. then reset the levels back to the 1st level and start over.

3a) Use a different TP/SL ratio. 1:1 is still ok for baseline depending on the volatility and typical ranges of the pair. 1.5:1, 2:1, 3:1, 4:1, 5:1; 1:1.5: 1:2, 1:3, 1:4, 1:5

3b) test different TP sizes 10, 20, 30, 40, 50; especially if you are using 1:1 ratio. Different markets have different typical ranges, but that's a little complex for now.

You could actually forward test (or backtest) ALL of these varieties to get a better idea of which ones would improve Ray. Definitely suggestions 1, and 2 so that Ray still stays simple, but much less reckless. Suggestion #3a and 3b are more for simple optimization. But not too many options for over-optimization.

I gotta get back to my own systems :D. Keep us posted on what you come up with.


 Jim Hunt, Owner, V2G Limited

 Wednesday, October 30, 2013

@Guy - Jon's mod #2 should at least ensure an ultimately less precipitous demise?

@Jon - Forgive me, but this is starting to sound rather like an exercise in curve fitting, and hence "over-optimization"? A possible complication not mentioned thus far is that Ray traded multiple currencies. You seem to be suggesting that Ray should be (over?) optimized for each "pair". Have I got that straight, or are "currencies" a single "market" in your terminology?

As a supplementary question, how do you recommend backtesting a 10 pip TP @ 1:1? I assume MetaTrader won't be involved?

Please login or register to post comments.

Terms Of UsePrivacy StatementCopyright 2018 Algorithmic Traders Association