<![CDATA[KJ Trading Systems - Best Of Blog]]>Wed, 22 Nov 2017 06:01:38 -0800Weebly<![CDATA[Top 5 Reasons NOT To Automate Your Trading]]>Tue, 21 Nov 2017 13:12:16 GMThttp://kjtradingsystems.com/best-of-blog/top-5-reasons-not-to-automate-your-tradingIf you've followed me for any length of time, you no doubt know that I am a HUGE fan of automated trading.  I view it as having a bunch of robots working for me in the markets 24/7, which frees me up to do other things (like sleep!).

BUT, it is not a cure-all.

Automated trading (or algo trading, mechanical trading, rule based training, bot trading or whatever you want to call it) can be very enticing and it may just make money for you. But, there is a downside to this type of trading, and that is what I want to discuss right now.

Five Reasons Why Automated Trading is Not Good

1.  Garbage In, Garbage Out

Many people think automated trading is a solution to all their trading problems.  "Well, my discretionary trading is awful, so automated trading must be how people make money.  I'll try that I guess."  That is a very common way of thinking.  The problem, of course, it is wrong.  Any type of trading can be good, just as any can be bad. 

Don't assume that just because you automate a strategy that it will produce profits.  Developing a solid strategy takes a lot of time and effort (heck, I even wrote a best selling book on it).  Remember, the result you get in trading is usually a direct result of the effort you put in.  


2.  Automated Trading Does Not Lead to Discipline

I was talking to a newbie trader a while back and he told me he was trying automated trading because he needed discipline in taking the trades his strategy demanded.  I told him automation would not solve that,  He, of course, ignored my sage advice (maybe I need to work on my advice delivery?  I tend to be pretty upfront and blunt with advice seekers).  A few weeks later he went live and told me he made $500 the first week.  Great, I thought, maybe he has discipline.  But then he dropped the bomb…he turned automation on and off during the week.  If he had kept it on, he confided, he would have made $2,600.

The lesson: you need discipline to trade, regardless of how you trade.  Automation does not instill discipline.  You need to find discipline from outside and bring it to your trading.  Not the other way around.  Discipline ultimately comes from within.

3.  Unattended Trading Can Lead to Big Trouble

Many traders with full-time careers can't check on trades during the day, so they mistakenly turn to automation as their solution.  I can tell you from experience that letting automation run without monitoring can be very expensive.  One runaway rogue trade can cost months of profits.  If you automate, you must check-in on your strategies often.  I usually check my swing strategies a few times a day and my intraday systems even more frequently.

So, what is the solution for people wanting to trade, but who cannot check positions during the day?  It is actually quite simple - just design strategies that fit your lifestyle.  It could be as simple as only entering and exiting trades at market open, and not taking any trades during the day.  Attendees of my award winning Strategy Factory workshop learn that exact approach - they build strategies from the ground up, to their exact needs and specifications.

4.  Automation Doesn't Mean You Can Play in HFT World

Many inexperienced traders think they can develop a scalping bot that will trade 50-100 times per day and that they can run it automated through their retail account.  If there is someone doing this successfully, please let me know, because I have never heard of such a person.  "Dream scalpers," as I call them, are playing against the big boys: high frequency trading (HFT) firms with tons of infrastructure, speed, and precision.  To think a little scalping bot can compete with HFTs is pretty much insane. 

The lesson here is if you are automating because you think you have a printing press money machine, think again.  If you don't believe me, test it live.  I bet you'll find out your scalping strategy is really just a dream.  And automating a bad strategy just leads to the poorhouse quicker.

5.  Automated Trading Still Is Emotional

A lot of people think that the emotions of trading can be eliminated by automating.  Wrong.  As long as you are playing with real money, there will be emotions, regardless of your method.  Don't let anyone tell you differently. 

My experience is that "educators" who say "automated trading eliminates emotions" typically don't trade at all!   

The emotions, and the triggers, might be different from automation, but there is still plenty of stress, anger, greed, and disappointment in automated trading.


Conclusion

Automated trading can be a great way to trade, but it is not nirvana.  There are definitely drawbacks to it.  Think carefully before jumping into this arena, and make sure you learn to develop automated strategies the right way!

]]>
<![CDATA[READER'S CHOICE: TOP 6 TRADING PLATFORMS]]>Wed, 19 Jul 2017 15:37:36 GMThttp://kjtradingsystems.com/best-of-blog/readers-choice-top-6-trading-platformsIn my last blog post, I gave you my choice of the top 5 trading platforms.  I also asked readers to list their trading platform of choice.  Thanks for voting!!!  So, here are the top 6:

1.  Tradestation - www.tradestation.com 

2.  NinjaTrader -  www.ninjatrader.com 

3.  Multicharts - www.multicharts.com 

4. Metatrader 4 - www.metatrader4.com 

5.(tie)  Amibroker - www.amibroker.com 

5.(tie) Think Or Swim - www.thinkorswim.com​ 

Thanks for voting!
****************************************************

Remember, if you are interested in my Strategy Factory Workshop (http://kjtradingsystems.com/strategy-workshop.html) my course can be 100% free if you open an account with Tradestation (I am happy to provide details)


]]>
<![CDATA[5 Best Trading Platforms For A Retail Trader]]>Fri, 07 Jul 2017 19:14:19 GMThttp://kjtradingsystems.com/best-of-blog/5-best-trading-platforms-for-a-retail-traderThis is by no means an exhaustive list, but this is based on my experience and input from other traders I talk to...

Here are the best trading platforms, in my humble opinion:

1.  Tradestation - www.tradestation.com - This is my workhorse.  I use it to develop almost every system I trade.  It is not perfect, but it is pretty reliable, has a lot of historical data, and is easy to program in (that is why they call it Easy Language!).  If you are looking for trading code, you are in luck - the Internet has a ton of Tradestation code in various places, all ready for you to download, modify and test with.  Most of the attendees of my Strategy factory workshop (http://kjtradingsystems.com/strategy-workshop.html) use Tradestation, and that course can be free through a program I have with them: http://kjtradingsystems.com/tradestation.html

2.  NinjaTrader -  www.ninjatrader.com - Many people like this platform, mainly because it is free until you start trading.  I personally found it hard to program in, but maybe once you learn it is easier.  It also costs $1000 or so, which is a turn off.  I do not do any development work with it, but I do use Ninja to help port signals from Tradestation to another broker.  It works great for that, and the support is terrific. I am happy with what I use Ninja for.

3. Metatrader 4 - www.metatrader4.com - If Forex is your game, MT4 is a great tool.  I use this to run Expert Advisors, do some backtesting etc.  I don't create my own EAs (yet!), but I do find that automated EA trading is pretty easy with MT4.  I am happy with it.

4.  Multicharts - www.multicharts.com - I have tested Multicharts, and it is my back up plan if Tradestation ceases to exist.  Most strategies in Tradestation would also run on Multicharts, although performance will be different because of rollover data differences.  If I used MC live for trading, it would have a higher ranking.

5.  Trade Navigator - www.tradenavigator.com - I have never used this, but some very good trader friends do, and they like it.  I have seen it in action a few times, and I like the portfolio testing feature.  It may be worth checking out

6.  Others - Many people use other software, or languages, like Python, R, Matlab, even Excel.  I think you can be successful with these, it just may take more work than with other platforms listed above.  But they also have computational power that typical retail platforms just cannot match.  So, if the platforms above don't fufill your needs, then give these products a try.


My question for you: which trading platform do you use?  Take the 1 question survey:  https://www.surveymonkey.com/r/B8RX9SG


By the way, if you have a favorite platform, feel free to mention it in the comments.  I'd love to hear from you!

]]>
<![CDATA[7 Best Steps to Start Algo Trading]]>Thu, 06 Apr 2017 12:48:25 GMThttp://kjtradingsystems.com/best-of-blog/7-best-steps-to-start-algo-tradingSo, congratulations, you've decided to investigate the world of algorithmic trading.  I use algos for swing trading strategies primarily, but with a little work you can also create intraday strategies, hedging strategies, long term strategies, basically any kind of strategy you want!  You can create algos for stocks, forex, futures (my preferred choice) and more.  If you can program your strategy, then you can create an algo.  Once you create some algos, you can automate them - that way you won't be glued to a screen 24/7.

Here are some steps I recommend to get going (most of these cost you no money, which is a great way "test" if algo trading is for you):  

1.  Learn Basics.   Here are some basics of algo trading:

http://www.investopedia.com/articles/active-trading/101014/basics-algorithmic-trading-concepts-and-examples.asp

https://en.wikipedia.org/wiki/Algorithmic_trading

If algo trading still sounds appealing, then continue down this list...


2.  Do You Measure Up?  See if you are ready for Algo Trading with a simple 5 question quiz:

https://freeonlinesurveys.com/s/UG5df4ou#/0


3.  Get Educated.  Learn about how I do algo trading with my free toolkit and tons of free videos:

 http://www.futures.guru/AlgoTraderToolkit.pdf

https://www.youtube.com/playlist?list=PL3Jd92exRxKTYpk9UIffmPR9y7mkOX3FO


4.  Read Some Books.

Pardo, Tomasini, Carver, Penfold and Garner all have good books on trading in general, and also algorithmic trading.

Consider buying my award winning book (or better yet, get it from the library).  This is more in-depth on algo trading, and shows you my process:  https://kjtradingsystems.com/my-book.html


5.  Learn a Trading Platform.

With algo trading, you are going to have to create lots of strategies, because most will stink!  So, you need to program and learn a trading platform.  I use Tradestation, and I think it is the best package for retail traders out there: https://kjtradingsystems.com/tradestation.html


6. Get Started!

Once you've made it this far, you should be able to develop some simple strategies, and test them in a proper way.  If you still need help...


7.  Join My Strategy Factory® Workshop.

If you are happy with my book and free information, then you will probably really enjoy my Strategy Factory workshop.  It is a big commitment though, of both time and money.  I’ll work with you to help get you going.  It could be the key to getting algo trading to really work for you!  http://kjtradingsystems.com/strategy-workshop.html]]>
<![CDATA[BEST WAYS TO TAKE ADVANTAGE OF THE STRATEGY FACTORY® CLUB]]>Mon, 20 Mar 2017 12:34:33 GMThttp://kjtradingsystems.com/best-of-blog/best-ways-to-take-advantage-of-the-strategy-factoryr-clubOver and over, Strategy Factory® traders tell me that one of the best features of the workshop is the Strategy Factory Club.  This is a strategy sharing club, where members can automatically swap REAL TIME PERFORMANCE VERIFIED strategies with each other.  Of course, everyone understands that strategy results must all be recognized as hypothetical (see disclaimer at bottom), but it is nice knowing that strategies you receive will have 6 months of profitable real time performance.

Here is how the Strategy Factory® Club works:

A.  You create a strategy to the performance requirements of the Club
B.  You verify the performance is acceptable, submit it to Kevin.
C.  Kevin verifies that it is a "legit" strategy, enters you into Club for that month.
D.  Kevin monitors performance over next 6 months.
E.  After 6 months, if your strategy reaches certain performance goals, your strategy will be shared with everyone else who had a passing strategy that month.  Some months, we have over 10 strategies passing - that means you'll receive a bunch of strategies in return for yours!


****************************************************************************************************************
****************************************************************************************************************
Most Strategy Factory workshops sell out early.  My March 2017 workshop sold out 2 weeks in advance, and I had to turn wait listed people away.  Sign up early for the next class (there may even be an Early Bird discount still available!)....  http://www.kjtradingsystems.com/strategy-workshop.html
****************************************************************************************************************
***************************************************************************************************************


So, the Club is a great way to build up the number of strategies you have, and the number of ideas you have to test.

Of course, current and prospective traders both want to know: "How do I best take advantage of the Strategy Factory Club benefits?"  Here are some tips:

1.  Realize that any strategy you receive as part of the Club has passed a 6 month real time performance test.  In other words, it did well with unseen data!  This is important, and it should give you confidence in either trading it, or using the components of the strategy to build your own strategy.

2.  Enter a strategy every month.  By Club rules, you can enter one new strategy every month. Intraday strategies, a swing trading strategies, basically any algorithmic trading strategies are all welcome here, in most major US futures markets.  

​Smart traders develop at least one strategy per month.  One trader does this faithfully, and last time I checked, had received 47 strategies in return from the Club!  So, he builds good strategies, and gets many more good ones in return!!!

If you want tips on passing strategies, check out the Club Member Only interviews I did with other traders.  Also, check out the Club Member webinar I did on how to improve you passing odds. (Only workshop attendees have access to this bonus material - nearly 3 hours of tips, tricks and advice on how to better develop strategies using the Strategy Factory process.)
 
3.  For each strategy you receive: Take a look at the code, make sure you feel comfortable with what it is doing.  If you see something and say “oh, I do not like that” chances are you should not trade it.  Why not, especially since it has proven to be profitable?  Simply put, the strategy, like any other strategy, will have a painful drawdown at some point.  If you already are uneasy about the strategy, and significant drawdown will put you over the edge.  You’ll quit trading it, and if you have luck like mine (!), you’ll quit right before the strategy recovers.
 
4.  Take a look at the trades, especially the biggest win, biggest loss and win percentage.  While none of these items should be a deal killer (after all, the strategy already has been shown to have positive expectancy), psychologically it might be a tough strategy to trade.  Maybe it does not have a stop loss, and holds overnight.  You have to ask yourself if you feel comfortable with such an approach.
 
5.  If the strategy passes step 3 and 4, then you should run the walkforward optimization and Monte Carlo steps of the Strategy Factory® process.  Does it still pass the criteria given to you during the workshop?  Sometimes, different walkforward analysis tools/methods/software will yield different results.  You want to make sure you can replicate successful results with your walkforward tool.  Many times, this analysis will be very close to the original analysis.  The goal here is to make a strategy version that you completely understand where all parameters came from, just like you would with a strategy you created from scratch.
 
6.  If everything looks good, perform the final step of the process – incubation (as taught in the class).  Also, run correlation checks with other strategies (you can use the method taught in the workshop), to make sure that the new strategy adds to a diversified portfolio.
 
7.  If the strategy fails at any point, maybe you can still take bits and pieces of the strategy, and use it to create your own unique strategy.  Maybe the entry, or the exit, paired with something new, will give you a brand new strategy.
 
8.  Also, try the strategy with other timeframes and markets.  You might be able to create multiple strategies out of the original! >> This is a GREAT way to get a whole bunch of strategies.  I use this approach myself.

There you have it - some great ways to take advantage of a strategy sharing group one Club trader called the "unexpected best part of the workshop!"

The Strategy Factory Club is open only to traders who have attended the Strategy Factory Workshop. http://www.kjtradingsystems.com/strategy-workshop.html

Your comments and questions, as always, are appreciated!

(Thanks to trader Faete F. for asking the question that produced this post)
]]>
<![CDATA[BEST DAY OF THE WEEk TO TRADE]]>Fri, 19 Aug 2016 13:32:23 GMThttp://kjtradingsystems.com/best-of-blog/best-day-of-the-week-to-tradeWhat is the best day of the week to trade?  Actually, this is a trick question - let me explain...

Part of my normal routine is developing new trading strategies.  I am always testing new ideas, creating new strategies and adding the successful ones to my live portfolio.   That is what most of my Strategy Factory students do, too – producing new strategies is really the lifeblood of any serious systems trader.

Anyhow, the other day I was looking at a strategy I developed.  It had a pretty nice walkforward (out of sample) equity curve, and it was profitable most years, and even most months.  Then I looked at results for each day of the week, and I was shocked.  If my strategy did not trade on Thursdays, my backtest profit would increase by over 60%!  WOW!

My first reaction was to then adjust my strategy code, and prevent trades on Thursday.  My second reaction was to admire the greatly improved non-Thursday equity curve.  I was ecstatic!
My third reaction was to throw away those results, and stick with the original strategy.

Why?

Simply put, I realized I was just optimizing for day of the week.  It did not seem like optimization – after all, I did not run my trading software through any kind of computerized optimization – but it was optimization just the same.  I took existing results, and then when I found something better, I accepted the improved results.  That is optimization.  And that is bad.

****************************************************************************************************************
****************************************************************************************************************
If you want to learn the RIGHT way to develop trading strategies that actually work, join me at my next Strategy Factory workshop.  http://www.kjtradingsystems.com/strategy-workshop.html
****************************************************************************************************************
****************************************************************************************************************


Many people do things like this, with either day of the week, time of day, or even certain months of the year.  They will look at results, and then decide what to keep, and what to eliminate.  Then they’ll go back with their filtered strategy, and bask in the glory of the improved results.
Wrong, wrong, wrong…

Could there be some significance to certain times of the day, days of the week or months of the year?  Absolutely!  I am not saying that you can’t develop a strategy that takes advantage of these situations.  You just have to do the development correctly.

So, what is the correct way to frame this problem? 

Here is what I do…

BEFORE I do any testing, if I think time/day/month matters for my strategy, I’ll develop a hypothesis or guidelines.  For example, I might be developing a natural gas system, and I don’t want to get bounced around by the weekly US Gov't energy report (usually on Thursdays), so I’ll just eliminate that from the strategy – no Thursday trading.  Or, maybe I’ll make sure all Fridays end flat, to eliminate weekend risk.  Maybe I’ll even exclude certain months for stock index futures (the old “go away in May” adage).

The point is I develop the idea before I test it, not after.  It is easy to look at results, and then develop a reason why certain periods should be excluded.  But that is just hindsight bias – Monday morning quarterbacking.

It is much, much harder to come up with the reason before you test.  But it is the right way to do things.

So, there may be a best or worst time, or day or month to trade your system.  But don’t look for that after you test.  If you instead come up with your filtering/exclusion approach before you test, you’ll probably get worse results (no more cherry picked results), but those results might just work better going forward.
 
 Do you do things differently?  I'd love to hear your comments!
 

]]>
<![CDATA[4 Best Ways To Deal With A Drawdown]]>Fri, 29 Apr 2016 13:22:22 GMThttp://kjtradingsystems.com/best-of-blog/4-best-ways-to-deal-with-a-drawdown
Many people ask me "how do you deal with drawdowns?"  While I have no magic wand that can make a drawdown go away, here are some tips and tricks I use to get me through my trading drawdowns.  Maybe these tips will help you, too.


1.  Realize that Drawdowns are Normal

A major aspect of trading is that there are ups and downs.  For me, it seems like I always remember the downs, and never the ups.  Maybe that is just human nature, I don't know.  For example, in 2014 and 2015, both years I had very good annual returns (>60% each year).  Yet, looking at my weekly results, 41% of the weeks I lost money!  In other words, over that 2 year span, I spent 43 weekends enduring a drawdown of some type.  That is a lot of losing weekends!  That can be depressing, especially for people who think every week should be a winning week.  But, at least for the way I trade, this is pretty normal. I think it is true for most traders, except the market makers and the high frequency guys.  So, you really have to accept the fact that drawdowns are just part of the game.


2.  Continue To Follow The Plan

Once you realize that drawdowns come with the trading territory, there is really only one thing to do: FOLLOW YOUR TRADING PLAN!  If you have a well thought out plan, one that accepts the inevitability of drawdowns, you just need to follow the plan.  It will help you endure and survive the drawdown.  If you don't have a plan, though, all bets are off.  It is very easy to panic during even a minor drawdown, if you have no plan for dealing with it.

**************************************************************************************************************
**************************************************************************************************************

Learn how to develop strategies correctly, and learn how to minimize drawdowns, at my Strategy Factory Workshop.  

**************************************************************************************************************
**************************************************************************************************************


3.  Look at Past Drawdowns - Did You Survive?

When most people look at an equity curve, they only see the end profits, and tend to ignore the drawdown periods.  I tend to do the opposite - I look a lot at the drawdowns.  I try to imagine myself living through the equity curve - could I handle the depth and length of those drawdowns? (One trick is imagine you are a mountain climber, and you have to climb that equity curve.  Could you do it, or would you die falling into a drawdown chasm?)  If I can't stomach the climb, I won't trade it.  But if I do think I can handle it, I realize that I'll likely survive any drawdown, since historically each one has ended in a new equity high at some future point.  I find a lot of comfort in knowing that, based on historical backtesting, my trading system eventually overcomes the drawdowns.  Of course, you have to have faith in your backtest, which is really only possible when you develop strategies properly.  If you have a garbage backtest, imagining yourself climbing the equity curve is a waste of time.



4.  Stop Looking At Your Net Equity

For me, it seems like I look at my equity more often when I am in a drawdown.  I wonder how long the drawdown will last, and how much deeper it will get.  But does that help me at all?  NO!!!  I can stare at my equity 100 times a day, and I'm still not going to influence what it does.  So, why even bother looking?  If it causes you stress, just look at your equity once per week (that is what I try to do, but I'll admit I cheat occasionally during the week).  The less you look, the less stressed you'll be.  But again, it all goes back to having a plan that encompasses drawdowns, and having trading strategies that have been proven to work in the past.  If you don't have those things to rely on, you eventually will get into deep trouble - a drawdown you can't recover from.



Do you have tips on how you handle drawdowns?  Feel free to add them below...
]]>
<![CDATA[FACTORY STUDENT BEST PRACTICE]]>Mon, 04 Apr 2016 11:27:59 GMThttp://kjtradingsystems.com/best-of-blog/factory-student-best-practiceI really enjoy seeing how students take the material from the Strategy Factory class, and use it successfully in their own trading.  Here is one such example...

Hi Kevin, just wanted to share something with you from my monthly trading reviews, it contains a few key lessons using your approach to monitoring.
 
See the attached file (shown below), it’s the equity curve for one of my Mean Reversion strategies for the ASX.
 
All live trades, from April 2015. The big drop in equity is Dec 2015, 2 large losses that were both bigger than any in the 10+ years of backtest history. At the time I was thinking the strategy was starting to break down.
 
On Jan 1st 2016 I decided to put my trade history into your spreadsheets from the workshop and boy did I learn a whole bunch of stuff, it was very eye-opening:


  • I didn’t realise this strategy had actually been performing much better than expected initially (those numbers are correct – I triple checked them!) so I could have expected at some stage it would revert to the mean rather than expecting it to continue how it was,
  • Those big losses in Dec brought the performance back to expected average so may not necessarily be a cause for concern, and after a few months the strategy has recovered to average expected,
  • The gap between actual and perfect performance is widening, in some cases slippage is much higher than expected, some trades no longer show up in my backtests due to data adjustments plus my broker may have execution issues I’m still investigating so it’s interesting to notice those problems and try to resolve,
  • My previous monitoring approach was very basic and didn’t give me any context in relation to expected average, personally I think looking at this stuff in context is huge!
 
Anyway, I thought it was really interesting and your worksheets have taken my performance monitoring to the next level, so thanks!




If you have comments, please send them via e-mail to me.  Right now, all blog comments are stuck in approval, until my web host gets the issue solved...

]]>
<![CDATA[Comments allowed (or not)]]>Wed, 30 Mar 2016 00:26:28 GMThttp://kjtradingsystems.com/best-of-blog/comments-allowed-or-notIf you've left a comment to any blog post here the past few weeks, you probably are wondering why it never showed up.  

No, I am not censoring you...

Turns out why web hosting service has some kind of issue with allowing me to approve comments.  They say "our engineers are working on it, but we have no completion date."

So, sorry if your comments are in "limbo" for a while...


]]>
<![CDATA[BEST FUTURES BROKERS]]>Fri, 04 Mar 2016 01:30:13 GMThttp://kjtradingsystems.com/best-of-blog/best-futures-brokersBased on my personal experience, here are what I believe are the best futures brokers out there.  But first, remember: There is a substantial risk of loss in futures trading. Past performance is not indicative of futures results. 

Optimus Futures
Optimus Futures (OF), LLC. OF has a direct relationship with TradeStation  and they could help you with account opening.  Also, they are familiar with my programs, and will assist you technically with any issues.  I have talked to Matt Zimberg, the person in charge there, many times over the years.  He is a wealth of knowledge, and a generally good guy.  He really wants traders to succeed!
You can reach the main broker, Matt, who will help you with all the necessary paperwork to establish an account. You can start your process here: Open Your Futures Trading Account 

Tradestation
I use Tradestation for all my development work, and a lot of my trading.  They are very good.  Best of all, if you open an account with them, you can take my Strategy Factory course for free (after rebates).  You can find out more about Tradestation and the rebate program here: http://www.kjtradingsystems.com/tradestation.html


Striker
I offer my KJ Diversified and KJ Diversified II programs through Striker.com, where you can auto trade them.  I have been impressed with their service, their support and their ability to run my strategies for people to autotrade.  You can find out more about them here: www.striker.com


DeCarley Trading
You've probably seen Carley on Mad Money.  She is a well respected trading figure, and a great broker also.  I usually trade options through DeCarley, and I am glad I do.  She is a true professional.  She can be reached here: www.DeCarleyTrading.com

OptionXpress

I use them mainly for some manual trading I do.  Generally, they are very good. No real issues to speak of, and good customer service.  Worth checking out, especially for options trading.  www.optionsxpress.com


]]>