Deadline June

Networking!!!! Arrgh uugg heeaaawwwssssnnnnnnggngngng

When I was at college they sectioned my neighbour and gave him electro-shock therapy. I think that's the same feeling as I have now. You have to bear in mind though that he had an obsession with sharp knives and said that voices were telling him to kill people (not me fortunately). I think the psychiatrists made what is known as a pre-emptive strike.

But psychos aside, the dismal failure of Interactive Brokers historical data servers continues. Interactive Brokers' first advice to me was that the number of hops in my traceroute was too large, although they didn't tell me how to reduce it. It's currently 22:

traceroute to mktgw1.ibllc.com (208.245.107.9), 30 hops max, 40 byte packets
1 217.32.146.168 (217.32.146.168) 4.723 ms
2 217.32.146.238 (217.32.146.238) 6.444 ms
3 213.120.177.58 (213.120.177.58) 5.504 ms
4 213.120.176.58 (213.120.176.58) 5.691 ms
5 213.120.176.182 (213.120.176.182) 5.943 ms
6 acc2-10GigE-0-1-0-4.l-far.21cn-ipp.bt.net (109.159.249.198) 5.820 ms
7 core2-te0-15-0-2.ealing.ukcore.bt.net (109.159.249.161) 7.055 ms
8 transit2-xe1-1-0.ealing.ukcore.bt.net (62.6.200.142) 6.090 ms
9 t2c2-ge13-0-0.uk-eal.eu.bt.net (166.49.168.53) 6.316 ms
10 195.50.91.153 (195.50.91.153) 6.639 ms
11 ae-32-52.ebr2.London2.Level3.net (4.68.117.62) 11.097 ms
12 ae-3-3.ebr1.London1.Level3.net (4.69.141.189) 6.955 ms
13 ae-100-100.ebr2.London1.Level3.net (4.69.141.166) 7.403 ms
14 ae-41-41.ebr1.NewYork1.Level3.net (4.69.137.66) 75.892 ms
15 ae-4-4.ebr1.NewYork2.Level3.net (4.69.141.18) 76.024 ms
16 ae-1-51.edge2.NewYork2.Level3.net (4.69.138.195) 75.763 ms
17 4.68.110.70 (4.68.110.70) 89.762 ms
18 0.ae3.XL3.NYC4.ALTER.NET (152.63.16.182) 74.413 ms
19 0.ge-7-0-0.XL3.BOS4.ALTER.NET (152.63.0.165) 82.597 ms
20 POS6-0-0.GW12.BOS4.ALTER.NET (152.63.22.177) 82.994 ms
21 interactivebrokers-gw.customer.alter.net (208.192.181.62) 90.656 ms
22 mktgw1.ibllc.com (208.245.107.9) 90.989 ms


It used to be 26 before I added OpenDNS and Google DNS servers to the DNS list.

A friend of mine who has Virgin cable ran the same traceroute and only has 9 hops. How does he manage that?!!?? Everyone says BT is **** but I never actually believed them until now.
 
The other killer bug

Meanwhile in other news on NinjaTrader's support forum about a dozen people have posted saying they have the same problem I do with loading data in charts. For some of these traders it completely disables them and they just have to shut down and try again a few hours later.

Chart stuck at "loading data"

I guess I'm lucky because I can work around it. Or maybe if I'd been locked out like that, I would have ditched NinjaTrader and started trading with Excel & TWS API.

At least now it's not just that grumpy beta tester who's got the bug, it's a customers who paid for the General Release.

My girlfriend laughs at me for paying to be on their beta programme.

I swear after NnjaTrader I am going back to Java and writing my own app to do this. No more flakey software. Linux + Java. Maybe even C++ because Java is going nowhere. That's a challenge :medieval:
 
Heart of the Matter

Now onto what I really do - or better said, what I am really meant to be doing when I'm not trying to give NinjaTrader the kiss of life or get IB to connect or BT not to be so bollox.

I'd almost forgotten, but I'm actually trying to morph the 3 Ducks into a profitable system across all the markets I point it at.

I had it working profitably on 10 forex pairs back in September which was a good month for trend following, although it got a bit hairy because my choice of markets was very dollar-centric - I ended up going into non-farm payrolls short 1.2 mega$.

Secondly there was a fearsome bug in the code with kept me in at least one trade by missing the exit signal - there may have been more - although in retrospect those losses are nothing compared to my own self-inflicted errors.

Plus it was hopeless going short. Made no money. I hadn't realised this in backtesting at all. I figure now I have to optimise long and short sides seperately and if I can't make money going short, I need to understand why.

Plus when I tried to diversify into non-dollar pairs, the results were rubbish.

So I pulled the system out of production and replaced it with another, and have spent the odd hour here and there since September trying to improve it.

I didn't realise I'd got so little done. I need a new deadline. How about June next year? Deadline June! Thanks for suggesting that MeanReversion. It gives me way too much leeway to faff around for six months or for my other trading system to blow up and sink the whole operation.

I do have some progress on it though - I've managed to make it work on most of the 20 forex pairs I have data for, but I haven't worked out why it doesn't like going short.

I played with every single imaginable combination of entry trigger and exit mechanism using 3 MAs and pivot points, but I ditched the pivot points because I don't think they work on the lesser crosses like AUDCAD. All the techies who make pivot points a self-fulfilling reality are too busy watching the Euro, the Yen and the Pound to bother seeing where today's pivots are for AUD and CHF.

I picked up a couple of tips bizarrely from a blog entry on a fraud prevention blog Catch-a-thief. The author promoted the Guppy MMA which is just a set of 30 MAs all drawn on the screen together and coloured differently. Pretty much like having 3 Ducks really, except 10 times as many.

The author also chucks in a volatility channel filter, a trend line slope indicator, MACD, RSI and if the 30 MAs wasn't enough, then a pair of exponential MAs as well.

But having said that, the backtest results without any optimising yet are a vast improvement on the rubbish results I was getting first up as I tried to use the pivot points as entry points, and secondly as I tried to tie in some indicator divergence to filter the entries when the 3 MAs were all in the same direction.

I've also had a constant stream of improvement ideas for the system that's in action right now. Some of the trades it takes are inspired, but some are absolute lunacy. It will be interesting to see at what point adding in improvements will turn into curve-fitting.

I can predict the outcome already - even if I find two different improvements to make to the system which backtest with significantly better results, I bet they will adversely affect each other when combined.
 
Last edited:
seeking a system that enters on strength

Trying to build a profitable system based on the 3 Ducks is not easy.

The 3 Ducks is only half a system anyway, with 3 simple moving averages that all have to be going in the same direction to trigger a trade.

What are the characteristics of this system that will allow me to categorise it?

It has 3 moving averages that must signal in the same direction, confirming each other.

So this is one type of trading system: multiple directional indicators confirm strength. So a move has got to be pretty strong already for the chosen indicators all to agree.

Secondly the exit strategy should reflect the entry strategy. If we're expecting a big move, we should use a trailing stop or stop/targets with much bigger reward than risk.

That's my brain dump right now. Probably missing a few key points but it is gone 3.
 
Last edited:
Forced to use my brain

The big problem I'm facing in constructing a system to trade 'strength', i.e. go in when there's just been a strong move, is that my results so far are always skewed heavily in favour of trading in the direction of the highest trend, i.e. the trend you see looking at the monthly bar chart for the test period.

My test period is Jan 2000 to Jun 2008 (carefully timed to exclude the credit crunch volatility that is so easy in comparison).

These are the rough % moves for each instrument over that time period:

AUDJPY +50%
AUDUSD +50%
CHFJPY +50%
EURCHF +/- 0
EURGBP +50%
EURJPY +60%
EURUSD +70%
GBPCHF -75%
GBPJPY -25%
GBPUSD +70%
USDCAD -80%
USDCHF -60%
USDJPY -50%

So far my PnL for the backtests correlate pretty much 100% with those numbers, i.e. for AUDJPY long trades make +45$ and short trade make -75$ per trade, but for USDCAD it's the opposite.

All my attempts so far at coming up with a short system have failed.

What do I need to look at? I guess the exit strategy is wrong - equidistant profit target and stop loss.

But the trailing stop mechanism didn't work either.

Neither does a close stop and a distant target.

All 3 stop mechanisms are fine for trading with the period's main trend, but catastrophic for fading it.
 
Last edited:
Well done & Triple MAs

Adamus,

Firstly, I’ve been following your thread for a while. I admire your courage to publishing your diary through developing your trading business.

Secondly, with regards to triple MAs. I’ve done some testing on this front myself without much success. I would suggest that, if you haven’t already done so, you might want to read Perry Kaufman’s New Trading Systems and Methods (http://www.amazon.co.uk/New-Trading...847X/ref=sr_1_1?ie=UTF8&qid=1292843504&sr=8-1). He actually analyses a triple MA system vs the classic double MA (p 914). He founds it does not improve performance much at all. He also provides some suggestions as to why the classic double MAs could be used to provide different signals than the usual crossover (p 335).

Kind regards

d
 
Re: Well done & Triple MAs

Firstly, I’ve been following your thread for a while. I admire your courage to publishing your diary through developing your trading business.

Hi D,
there are obviously moments when I pause before hitting the Submit button but I figure that the advantages of having people read this and then contribute outweigh the loss of face from openly declaring my errors and misfortunes. I think documenting it all in public actually interests a lot of people, whether they just want a laugh or whether they hope to avoid the same errors themselves. If they then chip in with their opinions it's often to my benefit.

The one downside I'm really not sure about is how much I discuss the mechanism of my systems and whether it "gives it away", i.e. whether there really is a trading bogeyman who will steal my system and trade it until all trace of my edge has disappeared.

Secondly, with regards to triple MAs. I’ve done some testing on this front myself without much success. I would suggest that, if you haven’t already done so, you might want to read Perry Kaufman’s New Trading Systems and Methods (http://www.amazon.co.uk/New-Trading...847X/ref=sr_1_1?ie=UTF8&qid=1292843504&sr=8-1). He actually analyses a triple MA system vs the classic double MA (p 914). He founds it does not improve performance much at all. He also provides some suggestions as to why the classic double MAs could be used to provide different signals than the usual crossover (p 335).

Shame that it's not on google books for reference since you give the page numbers.... unfortunately my copy is still in the bookstore.

I therefore didn't realise he didn't like triple MAs. No doubt it is well justified.

I found a way of bending the triple MAs to my will. At least in backtesting. I'm running tests now to work out now if I have curve-fitted / over-optimised it.

Instead of looking at MA cross-overs, I'm using a weird little indicator called Leguerre RSI to signal the entry, and use the MAs to filter it by whether they are starting to get closer together, something like this:

Code:
private bool risingTrend(Indicator.Indicator fastMA, Indicator.Indicator slowMA)
{
    // fast MA higher and increasing
    if ((fastMA[0] > slowMA[0] 
        && fastMA[0] - slowMA[0] >= fastMA[1] - slowMA[1]))
        return true;
    // fast MA lower, but gaining
    if (fastMA[0] <= slowMA[0]
         && slowMA[0] - fastMA[0] <= slowMA[1] - fastMA[1])
        return true;
    return false;
}

I'm not so happy with it since it filters a lot of trades and with the Leguerre RSI trigger there aren't so many anyway.

I will check out that book since you recommend it. I have about a grand's worth of trading books on my wishlist right now.
 
Triple MAs

It looks like I've finally cobbled something together that might work, although it still has some serious rough edges.

I was concentrating so much on the short side that I now have a system which makes good money going short but is unprofitable going long.

I'm still using the 3 MAs, although I've ditched the 3Ducks concept of a 60ma on 3 different time frames. I'm using a smoothed MA with 55, 144 and 377 bars respectively.

I have 3 filters, and two filters are based on the MAs, one is the 55ma vs 144ma and the other is the 144ma vs 377ma. I don't trigger on the cross-overs, I filter on whether the faster ma is catching up and then pulling away from the slower.

The other filter is ADX, which I tried out of exasperation and was surprised by how useful it is.

I'm using the NinjaTrader built-in trailing stop using 3 times the 55-period ATR.

Timescale 55 minutes. Just for the hell of it. It doesn't appear to make any difference in comparison with 60 mins.

My backtesting window & basket is my core 13 forex pairs from 2000 to 2008.

After seeing that I could get $40 per trade on the short side with this setup, I decided to test out-of-sample and on different datasets right away, rather than carry on and then find out afterwards I'd been wasting time polishing turds, so to speak. The system backtests just as well on my IB data and my FXCM data.

When I return after Christmas, I'll try some improvements.

I think I can do better than ADX for a filter.

I like to see how important it is to use all 3 MAs, and whether just 2 will be fine.

Obviously I'd like to make the long trades profitable over the backtest period.

I think the trailing stop might be inhibiting the system compared to fixed profit targets and stops. Also with a trailing stop, I'll always need to have NinjaTrader connected to IB and running, but with targets and stops I can set it all off and then go on holiday if I want - e.g. like now.

A couple of warning signals I noticed: the long trades were profitable in the out-of-sample tests, which is not good for the correlation between backtest and forwardtest. Also in out-of-sample some of the big currency pairs were big losers, e.g. GBP/USD, USD/CAD, EUR/GBP, EUR/JPY. I'll have to think about whether that's significant.

Also the profits are not good. In fact I should imagine a lot of people wouldn't get out of bed for that, once slippage and commission are accounted for. However since the system shows signs of robustness from backtest to out-of-sample, I'm optimistic that the profits will hold up well in live trading.

Here are the out-of-sample results from 2009-2010:

HTML:
Instrum	PF	Avg Trd	Net Prof	Max. Dd	Trds	% Wins	Avg Win	Avg Loss	Largest	Win/Loss	Avg MFE
$AUDCAD	0.00	-276.88	-2215.00	-2215.00	8	12.5%	00.00	-316.43	-495.00	0.00	198.12
$AUDCHF	1.25	63.85	830.00	-2565.00	13	30.8%	1035.00	-367.78	-685.00	2.81	727.69
$AUDJPY	4.16	375.00	4125.00	-590.00	11	72.7%	678.75	-435.00	-590.00	1.56	1108.18
$AUDUSD	2.61	343.00	1715.00	-1065.00	5	40.0%	1390.00	-355.00	-445.00	3.92	856.00
$CADCHF	1.98	151.25	1815.00	-845.00	12	58.3%	524.29	-371.00	-670.00	1.41	855.00
$CADJPY	2.43	212.33	3185.00	-1835.00	15	46.7%	773.57	-278.75	-620.00	2.78	865.00
$CHFJPY	0.43	-177.00	-2655.00	-3895.00	15	26.7%	491.25	-420.00	-770.00	1.17	435.00
$EURAUD	4.51	275.00	825.00	-235.00	3	66.7%	530.00	-235.00	-235.00	2.26	1201.67
$EURCAD	3.97	367.50	1470.00	-495.00	4	75.0%	655.00	-495.00	-495.00	1.32	1190.00
$EURCHF	4.71	211.25	1690.00	-245.00	8	62.5%	429.00	-151.67	-245.00	2.83	585.63
$EURGBP	0.43	-100.00	-500.00	-500.00	5	20.0%	380.00	-220.00	-490.00	1.73	358.00
$EURJPY	0.95	-17.00	-85.00	-1055.00	5	20.0%	1765.00	-462.50	-805.00	3.82	878.00
$EURUSD	1.44	180.00	1440.00	-1415.00	8	37.5%	1560.00	-648.00	-750.00	2.41	928.75
$GBPAUD	0.46	-255.00	-3060.00	-3820.00	12	41.7%	519.00	-807.86	-920.00	0.64	806.25
$GBPCAD	11.5	535.83	3215.00	-305.00	6	50.0%	1173.33	-101.67	-180.00	11.54	1426.67
$GBPCHF	1.17	52.00	260.00	-1085.00	5	60.0%	600.00	-770.00	-1085.00	0.78	814.00
$GBPJPY	0.43	-283.33	-2550.00	-4480.00	9	33.3%	643.33	-746.67	-1140.00	0.86	832.78
$GBPUSD	0.60	-83.33	-500.00	-805.00	6	33.3%	372.50	-311.25	-440.00	1.20	744.17
$USDCAD	0.72	-52.86	-370.00	-685.00	7	57.1%	240.00	-443.33	-645.00	0.54	650.00
$USDCHF	0.82	-41.11	-370.00	-785.00	9	33.3%	561.67	-342.50	-585.00	1.64	547.78
$USDJPY	2.11	125.00	1125.00	-530.00	9	55.6%	428.00	-253.75	-315.00	1.69	392.78
COMBINED	1.23	53.66	9390.00	-1700.49	175	43.4%	668.03	-417.98	-1140.00	1.60	749.80
 

Attachments

  • MyHTML1.gif
    MyHTML1.gif
    6 KB · Views: 150
Last edited:
Re: Triple MAs

Changing the time frame from 55 minutes to 45 minutes improves the profits by 25%. Quite a surprise. 60min time frame was also better but (also surprisingly) not as good as 45mins. Same applies to the 35min time frame.

Actually it's not profitable on a 2 hour time frame - that's slightly worrying in terms of its robustness. Nor on a daily time frame. Perhaps it's too simplistic on that time frame and has long been ineffective when I try to take it into the realm of the EOD traders who probably analysed this kind of system to death 20 years ago.

Note to self: check over the whole system again using the "Checklist for good systems"

I'm taking a hardly deserved break now for Christmas and the New Year, getting back on Jan 3rd.

Merry Christmas everyone and may 2011 be a good one for you. And for me.

My resolution for 2011 is to change my name by deed poll to Tharg the Almighty. My bank manager apparently won't have a problem with it, but my girlfriend is another matter entirely.

Have a good one!

:medieval:
 
Rough uncut Triple MAs system

I'm going to list here all the tasks I need to take the new triple MA system from its rough uncut state through optimisation, backtesting, forward testing, simulated trading to actual live deployment.

Just got back from Austria and I can safely say my brain is definitively not in trading mode.

First things first - what optimisations did I go through while inventing the system? i.e. how many degrees of freedom have I tied up in the system, and where and how am I going to document it all, obviously NinjaTrader exports in Excel, but with some semblance of order so I can work out what it all represents when I check up on it in the future.

More later. Still technically on holiday but going out this afternoon and this evening so I'll put the system as it is into simulated trading now, so as not to lose any more days in giving the system time to do crazy things or bring NinjaTrader to its knees.
 
Just another Torrid Friday

Here I am making up the same kind of ****e titles that the Sun uses to headline the articles that it puts forward as journalism.

What a pile of crap.

Anyway, fresh from telling Travis not to be emotional, I have decided that huge whinge is in order here on T2W to make up for the non-farm payrolls changing my +$1000 into -$2000 in the space of a couple of hours.

Admittedly it was kind of unlucky because I was long the swissie on 4 different pairs and had nothing else on.

It's my own fault for not getting the second system going yet, despite working on it ostensibly since October when I finalised the current only system.

The latest kick in the goolies on that front was this week, from NinjaTrader 7 of course - again, see that thread from Travis if you want to have a laugh at my rational approach to trading.

A weird bug had appeared, preventing me from deploying my latest system in simulated trading. Fortunately I have just found a work-around so hopefully I can put it into testing now. Just in time for the weekend.
 
Yeah, as I preached previously: I immediately ruled out ever using a software that is named like a box of cereals or like a cartoon.

Furthermore I looked for what was used by most people, and the best people, which lead me to IB and all its software, and nothing else. Besides, you're a programmer so you have a lot of possibilities, with IB and all the API languages it allows you to use (starting with excel, like I did).

As I preached to the world many months ago, from this journal, find the best thing and stick with it until you make it work. Instead of listening to the prophet, you have chosen to divide your energies between two things each time: two softwares, two data providers...

How many enemies can I fight at once and hope to defeat? One. So I pick the one enemy whom I can defeat and whose defeat will bring me the greatest reward: Vito. I don't fight two enemies at once. The same applies for the softwares and their bugs. You're going to get stung all over with bugs coming out of two platforms.

Better to do one thing perfectly than two things imperfectly.
 
Last edited:
Honey-Nut Ninja-Trader Loops

Yeah, as I preached previously: I immediately ruled out ever using a software that is named like a box of cereals or like a cartoon.

Furthermore I looked for what was used by most people, and the best people, which lead me to IB and all its software, and nothing else. Besides, you're a programmer so you have a lot of possibilities, with IB and all the API languages it allows you to use (starting with excel, like I did).

As I preached to the world many months ago, from this journal, find the best thing and stick with it until you make it work. Instead of listening to the prophet, you have chosen to divide your energies between two things each time: two softwares, two data providers...

How many enemies can I fight at once and hope to defeat? One. So I pick the one enemy whom I can defeat and whose defeat will bring me the greatest reward: Vito. I don't fight two enemies at once. The same applies for the softwares and their bugs. You're going to get stung all over with bugs coming out of two platforms.

Better to do one thing perfectly than two things imperfectly.

I decided not to ditch NinjaTrader immediately since it seemed the quickest solution despite the bugs and the limitations. Each time I started looking into other platforms to substitute it with, I found large grey areas where it seemed there may well be the same sort of problems lurking as with NinjaTrader.

I also realised that what I really want is my own software that has all the features of the different platforms that I really like, and no bugs. In other words, I will program it myself with the IB TWS-API, unless it kills me first.

So that's the fate in store for NinjaTrader. I plan to code a replacement. Obviously a big project.

Concerning the second data provider, at the moment that is absolutely necessary since I can't get anything running with only the data provided by IB - it just keeps giving me the pacing violation errors. I hope I can code a solution to it properly once I have my own platform established. That's something that NinjaTrader didn't want to do. I think it proves what a difficult interface TWS-API actually is to work with.

Plus I plan to collect IB data live uninterrupted to use for backtesting - which is different from the historical data they provide. I'll have to get a couple of screenshots to prove that, but it's considerable.
 
Yeah, that sounds like you have a big plan (but maybe too big). Regarding the data providers, a long time ago we were discussing Disktrading and the others, and back then you must have had 3 data providers, which is why i started my preaching. If you now only use 2 then it is the same as what I am doing: IB for trading and disktrading for back-testing. Guess what, I found out that IB historical data is almost identical to disktrading, so you might as well get it all from them.

I do have one big issue in tradestation: the end of sessions for my futures. Tradestation counts the EST midnight as the session, and there's no way to get it to count the actual close of the futures. No, wait - but that can be done, by ending the day earlier, but then you can't get the right values for the next session, such as the high and the low (which I use a lot), because it will only start measuring them on the next day, and often they're different.

So this is to say that i do have major bug problems, too, but since I don't change platforms, ever (still using ts2000i), I have learned to reduce their damage.
 
Of course since I got to know NinjaTrader so well I also got to know lots of tricks and short cuts to make it easier to deal with, which is the chain that binds you to the punishing piece of software. Surprisingly I know that NinjaTrader handles sessions really well. Not much help for you though.

I do use disktrading but I also use IQFeed/FXCM, so I have 3 data sets. I didn't find disktrading was as close to IB data. Another problem for me with disktrading is that I trade a few pairs which disktrading doesn't have.
 
I think Travis is a lot like how he describes his dad in that he preaches his **** and doesn't listen to a word you have to say. He seems to think he knows best since he has been doing the same thing for so long and the fact that he doesn't listen to guys like you means he will be in this rut for the rest of his life. I don't really understand why he flips at genuinely nice guys like you. Maybe i should post 4000 times and have 3 threads running, then maybe he will listen to me. The guy lives in his own stupid reality and he's been stuck in so long that he doesn't know what the real world is like anymore, like that film inception.
 
I think it's the classical internet paradox. I don't think I'll ever know what he's really like unless I meet him in the flesh. I expect he'll be quite different from my expectations, just like anyone else would be.

If they were going to execute Travis for instance, and they gave me the last chance to show him clemency, I'd spare him. There are some on this forum where I wouldn't bother.
 
Re: Rough uncut Triple MAs system: Saviour

First of all I need a new name for this system because it's not the 3Ducks anymore or really anything like it. Maybe I'll call it Saviour because I hope it's going to save my trading career from dropping off the cliff edge it's currently teetering along.

The first thing I had to do was to create a basic algorithm in NinjaTrader that showed a robust profit on the DTC data from 2000 to mid-2008. I chose to use this 8.5 year period since it stops a little after the beginning of the massive sub-prime mortgage-induced financial meltdown and volatility. I find 2008 and 2009 relatively easy to write systems for, so I didn't want any massive profits from those 2 years skewing the results. I'm pretty sure 2011 will bear more similarity to the period before that. Since I chose this period I am bound to use the DTC dataset since I don't have any IB data or FXCM data for those years.

Another slight glitch is that the DTC dataset only has 13 of the 21 instruments I plan to trade it on. I figure I can turn this to my advantage by testing with those 8 missing instruments using other datasets for further out-of-sample testing to complement the out-of-sample years that I'll test the system on.

What I want to do is nail down the profit and loss shown by the system on the backtest dataset to determine how robust the system is to changes in the different parameters and if-else clauses and conditions that I used in the algorithm.

Right, need to swap machines now since I can see the code on this one.
 
Last edited:
Top