The concept here is I believe that our brains are designed to deal more with spacial / color relation than trying to distinctly interpret lines all saying different things. My goal is to be able to glance at my chart and immediately get a feel for the movement of the security (in my case, forex pair). When all colors agree, odds are statistics are in your favor and it is reasonable to enter in agreement with the color.
The GMMA_Cloud consists of two clouds, the difference between the 3 and 15 ema is one cloud, and the difference between the 30 and 60 ema is the other.
I don't have a distinct strategy built up for this setup, as there are a lot of places for trader discretion that every trader will handle differently. The main idea is to use the GMMA clouds, combined with the RSI and DMI to determine trend and use the Stochastics to determine pinpointed entries. I'm leaning toward exits being targeted at daily pivot point levels unless the trend breaks sooner.
#Name: GMMA_CLOUD
#Programmed By: Chris Ball (chris.m.ball@gmail.com) on 1/31/09
#Posted At: http://chartingwithchris.blogspot.com
#Description: This is a cloud representation of the Guppy Multiple Moving Average system using only the exterior EMA's for the two groups.
declare upper;
input price = close;
input displace = 0;
def length3ema = 3;
def length15ema = 15;
def length30ema = 30;
def length60ema = 60;
plot avgexp3 = ExpAverage(data = price[-displace], length = length3ema);
avgexp3.SetDefaultColor(Color.Gray);
plot avgexp15 = ExpAverage(data = price[-displace], length = length15ema);
avgexp15.SetDefaultColor(Color.Gray);
AddCloud(avgexp3, avgexp15);
plot avgexp30 = ExpAverage(data = price[-displace], length = length30ema);
avgexp30.SetDefaultColor(Color.Gray);
plot avgexp60 = ExpAverage(data = price[-displace], length = length60ema);
avgexp60.SetDefaultColor(Color.Gray);
AddCloud(avgexp30, avgexp60);
#Name: ChrisStoplight
#Programmed By: Chris Ball (chris.m.ball@gmail.com) on 1/31/09
#Posted At: http://chartingwithchris.blogspot.com
#Description: This indicator is truly a representation of 3 indicators (RSI, DMI and the StochasticsMomentumIndex).
declare lower;
plot rsi1 = if RSIWilder(length = 14)."RSI" >= 50 then 10 else 9;
plot rsi2 = if RSIWilder(length = 14)."RSI" < 50 then 10 else 9;
AddCloud(rsi1, rsi2);
plot dmi1 = if DMI(length = 14)."DI+" >= DMI(length = 14)."DI-" then 8 else 7;
plot dmi2 = if DMI(length = 14)."DI+" < DMI(length = 14)."DI-" then 8 else 7;
AddCloud(dmi1, dmi2);
plot sto1 = if StochasticMomentumIndex()."SMI" >= StochasticMomentumIndex()."AvgSMI" then 6 else 5;
plot sto2 = if StochasticMomentumIndex()."SMI" < StochasticMomentumIndex()."AvgSMI" then 6 else 5;
AddCloud(sto1, sto2);
rsi1.setDefaultColor(Color.Gray);
rsi2.setDefaultColor(Color.Gray);
dmi1.setDefaultColor(Color.Gray);
dmi2.setDefaultColor(Color.Gray);
sto1.setDefaultColor(Color.Gray);
sto2.setDefaultColor(Color.Gray);

As can be seen in the above picture, there are usually several trading opportunities, depending on the time frame you're analyzing. I've been focusing on the 30 and 15 minute time frames. The idea is to trade when all colors are in agreement and get out when 1 or 2 start to go against your position. Due to the vast amount of trader discretion involved, I'd say my system is something to toy with and use as a starting base for creating your own strict rules. Without rules and money management, there's no way to consistently make money! Hopefully this will spark some inspiration with my fellow swimmers.
Cheers,
Chris
20 comments:
Your chart is fascinating, however, useless! I will commission you to perform a new study: "Cats are better than Humans, at everything." Your test subjects shall be me, and a hobo that I recently mauled in a back ally. I imagine that your results should be obvious and completely unbiased.
I have to admit, your comments made me laugh. Humor aside, if you aren't a believer of technical analysis systems, that is certainly a very valid stance and shared by probably half of the trading community. I do however ponder why you would be lurking on a technical analysis blog then? ;)
Impressive work! Thanks for sharing the idea - were you planning on releasing any code samples like your other posts?
Nice to also see another TOS user on a Mac as well!
Cheers
Hi Dan,
You'll notice the code is now present on the posting for both GMMA_CLOUD and ChrisStoplight. Enjoy! :)
Very nice Chris. Seems you taken the Ichimoku idea and ran with it. Have you seen the changes in the newest update to thinkscript? I'm not sure I do.
Hi MYB120,
There's actually no relation to Ichimoku trading in this post. You might say that the coloring reminds you of the kumo concept, however the construction for Ichimoku is quite different. If you don't already know what Guppy Multiple Moving Averages (GMMA) are, that trading concept is what part of the graph is based on.
I remember reading the release notes for the latest TOS release, and I wasn't terribly impressed with the Thinkscript additions. I recall only seeing a single sentence mentioning something fairly trivial. Thinkscript has a long way to go in my opinion. It's still a fairly weak programming API.
Glad you enjoy the blog! See you around my friend.
'Chris
Got to hand it to you.... Your stop light is quite good.
Could you expand on the thought process going on under the hood?
And just one more question.... Have you experimented with neural networks? I too am on a mac and have been doing a little research on programs but haven't yet figured out the best way to approach the task.
Hi MYB120,
The ChrisStopLight indicator is merely a collection of commonly used trading indicators, all bundled together so that their interpretations are more binary rather than subjective. Regarding the number of periods chosen, I believe I used 14 as the defaults, since that is an arbitrarily useful setting on many indicators, but I would recommend playing with the number of periods and finding what works best for your trading timeframe preference.
In your second post you asked about neural networks, in what sense or application are you referencing them? Feel free to shoot me an email if you'd like.
Nice to see more stuff posted on thinkscript, really enjoy your work! Now if you ever get around to reading John Carters book "Mastering the Trade" the TTMSQUEEZE indicator looks real interesting.
Thank You,
Alex
Chris,
could you and are you willing to code other indicators in TOS?
David
drtrades@pacbell.net
Genius ... great work Chris!
Chris,
Great work. I am intrigued at the possibilities with Thinkscript.
I'm an avid technical trader and have some indicators that you might find useful. Are you available for hire to code them in Thinkscript?
Gil
gil.t.yee@gmail.com
Hi Gil,
Unfortunately my time is rather limited these days but I appreciate the offer and am glad you've found value in my blog.
Best of luck,
Chris
Chris,
This guy liked your code so much he copied it, stripped out your header, and then posted it as if he wrote it:
http://freethinkscript.blogspot.com/2009/05/honest-to-goodness-trindicator.html
Watch out, the guy has a screw loose.
Anonymous,
Thanks for bringing that to my attention. It is a sad state of affairs that people find the need to steal the work of others. Since what I offer is free with no strings attached, it is a shame that they don't do the honorable thing to either show my work in its original form (with my header information), or simply link to my blog.
Follow up to my readers:
The blog author that stole my content apparently took it upon himself to edit my comment on his blog calling him out, as it now reads:
"Awesome original blog and programmer. It's refreshing to see honesty and generosity in this world of greed."
Funny how the subject still says "Be honest with your posts" (as of the time of this comment at least).
For those of you who care about real content from real blogs, any help you could lend to getting his blog reported would be appreciated, as I do enjoy providing original content to those in need, but this kind of blatant disrespect certainly makes me question whether it's worth sharing what I do.
Stealing Content . . . a quick background. I've been a ToSwimmer for 'bout 2 years. Chose them for all of the reasons we all did. A week or so ago I started investigating ThinkScript possibilities. On my own. And, like most, found the documentation from ToS less than, well, complete! Then I looked on the good 'ol www. Surprise! I find you, and ThinkScripter (TSr) and, a hand full more doing this 'cause they like it, accepting donations rather than charging for their hard work. I use TSr "STUDIES" and "STRATEGIES". I donated to do so, 'cause that's the way it's done. And, I leave the credits intact, even if I've "tweaked" the original source. If I use your "scripts", a donation there will be, as will respectful use and treatment. That's a long, long way around to saying, "I appreciate the work that you do. Please proceed on course." Every once in a while a Mr. (or Ms.) Stealer comes along. It's happened to me. I dismiss them with extreme prejudice, knowing that behavioral retribution is imminent. I hope that you can do the same and keep doing the good work for the benefit of the appreciative many. Gotta get back to checking out the Chris Ball buffet!
Chris, as always thanks for your excellent work.
I was wondering if you know if it's possible to change the cloud colors. I'm on a black background and don't care much for the pea-soup green color of the cloud.
But I can't really use SetDefaultColor or AssignColorValue to it.
Any ideas?
Hi EmoRiot,
I haven't been doing much with TOS lately, but unless one of their latest API updates included this ability, it did not exist at the time of this original posting. It was an irritation to me as well.
Post a Comment