Sethi Extended Darvas Box Plotter (Java Applet Beta), ver. 0.2.0

Nota Bene: Thank you for all the inquiries via email/form below. Unfortunately, the sheer volume of email makes it impossible for us to respond to each of them in a timely manner. Please allow us a few weeks to catch up with the email as there's an immense backlog of inquiries and requests after the mention of our plotter calling the market bottom.

Free vs. Paid: This free site will always remain free. The paid version, The Sethi Investments Advisory Newsletter, has been in a private, limited distribution with a frozen membership since 2007. On a semi-annual basis, its extension into a wider, public distribution is re-evaluated. We keep a list of those interested in being added to the membership and, when it opens up, will be adding members in chronological order from that list until the limit is reached.

Also, please use the (anonymous) submission form below if you receive repeated errors as that will help us fix any new problems quicker. If the free site seems slow, it's likely because the classes pages are being inundated with requests temporarily. The paid site should always be fast, though, and if you notice a slow-down, please do email us asap.

Ricky J. Sethi, PhD

Sethi Extended Darvas Box Plotter (Java Applet Beta)

Please enter a valid stock symbol and click "Get Chart Now!" to get its chart (click here to try the non-Java version).

Click here to see the original, out-dated (but absolutely free for unlimited uses) version: old, basic Sethi Family's Darvas Box Plotter.

Note: you may open as many charts simultaneously as you like. In order to open multiple charts, simply leave the old chart open, enter a new symbol, and click the button again. You should end up with something like the following screenshot (click to see larger version):


How to use this applet

This applet requires the latest version of Java. If you don't already have it, please click over to Sun's Official Java Download Page in order to get the latest (FREE) software.

If you see an image like the following, you're in business:

Image of applet

Usage: Using the applet should be relatively straightforward.

  1. Enter a (valid) Stock Symbol in the text field
  2. Click the button that says "Get Chart Now!" (do not just press enter as that will be supported in ver 0.0.7)
  3. Repeat Steps 1 & 2 for as many stocks as you like...

How to read the chart

The chart produced by the Sethi Box Plotter is very similar to the free Darvas Box Plotter, with a few additions/subtleties that are explained below:

Explanation of chart


Please send any suggestions, bugs, or comments you might have to darvas at We'll review each comment personally and, if appropriate, respond asap.

The original, out-dated old, basic Sethi Family's Darvas Box Plotter will always remain up (and remain free... heck, we won't even require registration! :). The Sethi Extended Darvas Box Plotter (including the application, applet, and non-Java/regular HTML versions), however, will be part of the Sethi Investments Advisory Newsletter, which will also include the results of the stock scanner derived from these applications, either on a subscription or purchase basis.

— Dr. Sethi

Darvas Method Explanation

Nota Bene: These are rough notes... I'll polish them later

A lot of people have been asking about just how we implement the Darvas method and how to use it. Enough, at least, to warrant a general explanation. The best reference for the Darvas method, not surprisingly, is Nicolas Darvas' original book, How I Made $2,000,000 in the Stock Market. And, of course, we also provide more information about Nicolas Darvas

However, a careful reading of his classic tome can lead to wildly differing interpretations on how to best implement his system. I'm not sure if Nicholas was purposefully ambiguous in detailing the exact method of computation but the end result has been nothing but confusion.

And so it comes as no surprise that our little Sethi Darvas Box plotter has gone through many iterations. In its current incarnation, I've made it as close to Darvas' original method as I could. Which isn't to say this is the canonical Darvas plotter; just my best guess on exactly how the Darvas boxes should be constructed.

That being said, what my program does is always look for a top first. Once a top is firmly in place (currently, a three-day period), only then does it look for a low. The only other note is that a breakout can occur to the upside or the downside. In either case, we always look for a new top first, and then the subsequent low.

In previous iterations, I did draw the boxes in dramatically different fashions. But, after a careful re-reading of Darvas' account, I thought I should stick with his original directive in the public version, which states that you find the top, make sure the top doesn't get violated for three days (including that day), and then look for a bottom (this is the source of many discrepancies in different versions; e.g., if you achieve a new low within that three-day buffer period, you might expect the low to be lower). As you investigate the Darvas method further, I'm sure you'll find a variety of approaches.

In its original incarnation, my program bowed to symmetry and would look for the bottom first on a downside breakout. In this version, however, I've setup the program to always find a top first and then look for a bottom. This version sticks to the original Darvas dictate (and thus ignores the promptings of symmetry) and always looks for the top of the box first (I suppose that might be called the "traditional" Darvas approach).

That is, the program, as it's currently configured, always looks for the box top first, even if the breakout is to the downside. If that top is penetrated before the bottom was firmly established, it looks to establish a new top again (this seems to be what Darvas meant, at least according to my interpretation of the appendix). It's trivial to set it to find the bottom first; in fact, I used it like that much earlier. But I remembered commenting out those lines because they seemed to give better results and were more in line with the Darvas method. So , the program, as it's currently configured, always looks for the box top first and then searches for the bottom. About the periods: it currently uses a period of 3 days for both the top and the bottom. And it does, indeed, use the highs and lows (in an earlier version, I used the closing prices but upon re-reading Darvas' classic tome, I thought the highs and lows should be given their fair due).

So, in summary: We store the top and then see if it remains unpenetrated for three days (including that day). If it does, then we look for a low, repeating this process in reverse (and wait for three days, including that day). If the top gets penetrated before the low is firmly established, we scrap the previous numbers and repeat the whole process from scratch. This will probably require a minimum of five days. Then, we wait for a bar to penetrate the high (a buy signal) or the low (a sell signal).

How to use the boxes...

The placement of the stop loss (and, actually, the decision to buy or sell) really varies from implementation to implementation. I believe Darvas' original interpretation was to only buy when there was a pattern of boxes stacking on top of each other and to place the stop loss at the top of the previous box. My program uses the low that's not penetrated for three days (after the top has definitively been formed and remains unpenetrated (the high of the box is always drawn first; the bottom is set only once the top has been formed (and remains unpenetrated throughout the establishment of the bottom)).

In its strictest interpretation, I'd look for at least three boxes, with each subsequent box being higher than the one before and then place a buy order if it penetrates the latest box to the upside. In addition, I place the constraint that any penetration of the box is only to the upside (a penetration of the bottom, or to the downside, should automatically trigger a stop loss).

In summary: my personal requirements are much stricter than Darvas' original method. I require the breakouts to be to the upside and require at least three stacked boxes with upside breakouts. The sell signal would be whenever it broke through the bottom of the latest (or last) box.

Hope that helps,

Ricky J. Sethi
November 10, 2003

P.s., here is some MetaStock code available on the internet (along with the appropriate URL's for them). Please note, I didn't write the MetaStock code but I'm posting it here (along with attributions to their original URLs) for those that are interested:

Darvas Box I (

LowL:=If(Low=LLV(Low,5),Low,If(Ref(Low,-1)=LLV(Low,5),Ref(Low,-1), If(Ref(Low,-2)=LLV(Low,5),Ref(Low,-2),If(Ref(Low,-3)=LLV(Low,5),Ref(Low,-3), If(Ref(Low,-4)=LLV(Low,5),Ref(Low,-4),0)))));
box2:=ValueWhen(1,BarsSince(High>Ref(HHV(High,5),-1))=3 AND box1=true,NewH);
box3:=ValueWhen(1,BarsSince(High>Ref(HHV(High,5),-1))=3 AND box1=true,LowL);

Darvas Box II (


Old Archived Notes

Looking for the source code? I'm sorry to say that I've taken the source code down for now. I'm in talks about possibly commercializing the Sethi Darvas Box plotter as a Windows product (I should have a Beta version within a month or two). This site, however, will always remain up (and remain free... heck, I won't even require registration! :). If you're interested in the Windows version (or have suggestions), please feel free to drop me a line at rickys_at_sethi_dot_org.

In the interim, I'm compiling a wishlist that people have emailed me about (with apologies for missing out on any suggestions; please feel free to re-email them to me):

Also, quite a few people have been asking me to translate this into TradeStation or other proprietary formats. Unfortunately, being a small fish, I don't have access to any of those. If anyone would like to offer access to such resources, I'd be happy to look into it (although, again, it would probably have to wait till mid-March or, more likely, April to May).

Note: If the chart doesn't come up immediately, it just means that we've exceeded our daily historical quotes quota. Since this site seems to be getting very popular, I might temporarily take it down occasionally as I rely on the historical quotes for quite a bit of my personal investing computations. If anyone knows of a source for quotes data, I'll be happy to keep this free service up without any interruptions.

Announcements, Changes, and ToDo's:

Notes about the Pre-Beta Java version of the Sethi Box Plotter:


  1. Currently, this applet only works on US stocks and the dates are fixed. We'll be upgrading this functionality likely this very week.
  2. ToDo's: BUNCH of todo's are planned before the official release of the Beta (likely later this month), including the ability to customize every aspect of the chart and the methodology (from how many days are used to determine the top or bottom of the box to the size of the chart and the colours of all the elements).
  3. Both the Sethi Advisory Newsletter and the final beta version of this software should go live approximately by the end of this month. If you have any suggestions for ToDo's, please send an email using the above link.

  • 2006-08-11:
  • 2006-08-10: Add prompt to warn on over-write existing file on Save
  • 2006-08-10: Add ability to pick starting and ending dates (this will be put in immediately with some limitations; eventually, it should automatically switch view from Daily to Weekly or Monthly, depending on the interval chosen; will also let user decide if bigger chart should be produced or some candlesticks not displayed, etc.).
  • 2006-08-10: Allow manipulation of original settings (e.g., specify the Exchange (Australian, Indonesian, etc. — Thanks to Ram for that suggestion!); change Darvas period methods; etc.)
  • 2006-08-10: Add ability to export charts to JPG format
  • 2006-08-10: Fix server load issue (low priority since wrapper is in place)
  • 2006-08-01: In addition, the beta will have the ability to draw trendlines on the chart.

Fixed Issues/New Features/Changes:

  • 2006-08-15: FIXED: The server seems to need some optimizations and tends to become unresponsive under heavy load still (you'll likely receive error dialog boxes when you try to load charts during such periods). The issue should be resolved within a week but it will take a couple days' monitoring to track down the exact issue. It should be all sorted by 2006-08-19 (Sunday, Aug. 19, 2006) but please expect sporadic response (at certain peak times only) until then.
  • 2006-08-11: FIXED: Server still tends to get overloaded under heavy load; workaround in place now is to take it through a wrapper that allows it to timeout if the request hangs on the server end. Please comment in the box below if you experience repeated error messages as that will help us track down the server load and fix the error.
  • 2006-08-11: Added ability to save and load charts locally (you have to use the signed version of the applet for that and then choose RUN in order to accept the digital signature).
  • 2006-08-11: Added check for invalid symbol; now puts up an error warning on invalid symbol entry (or on server timeout error).
  • 2006-08-10: Upgraded from ver 0.0.5 to ver 0.0.7. Changes include:
    • Ability to adjust the timeout. If the charts don't come up and you keep seeing the error message dialog box saying you entered an invalid symbol or you should adjust the timeout, now you can adjust the timeout by making it longer to give the server more time to process your request.
    • It now shows the number of charts you have open simultaneously.
    • Also added the ability to close all charts from the main menu's File menu (by choosing "CloseAll").
  • 2006-08-03: Server overload issue should be fixed. If your Java applet freezes for more than 30-60secs, please comment so we can adjust the server settings. Please comment if you experience any freezing and we'll make this an active issue again.
  • 2006-08-03: Made font type face one size bigger (thanks to KC's suggestion). This (along with most other aspects of the charts) will be a user-definable field in version 0.1.0.
  • 2006-08-03: Thanks to everyone for the feedback, especially KC and Dave Z!
  • 2006-08-01: Fixed applet not loading for some browsers
  • 2006-08-01: Added explanation of Sethi Box Plotter chart
  • 2006-08-01: Added comment submission form

— Prof. Sethi.

Old Archived Announcements

Update, July 28 2006: The Java version of the Sethi Box Plotter is scheduled to be released in Beta within the next few days. We're putting the finishing touches on ver. 0.0.5, which will be released for free beta testing. The final Java version will be packaged with the advisory service, to be launched shortly thereafter.

Update, July 2006: The Java version of the Sethi Box Plotter is scheduled to be released in Beta around the end of the month. Please keep an eye out for it.

Update, March 2006: Instead of a Windows version, we will now be releasing a Sethi Investment Newsletter that gives the results of a proprietary, private Sethi Darvas Box Screener. The screener (which was, so far, under private development) has proved so effective that it would be counter-productive to disseminate it in a wider, public release. Private trials have shown it to be incredibly robust; I'm considering allowing subscribers to the Newsletter to have access to an initial version of the Screener's results, in addition to a more powerful Plotter that we've developed (and possibly allowing subscribers to save charts, preferences, etc.). This is slated for the Summer 2006 release now (but I am still not decided if I want to go public with it and dilute the efficacy of something that seems to be very successful, as of right now). The price is projected to be $395/semi-annually and will include a customizable version of the Plotter, that allows you to save settings, charts, etc. Irrespective of whether or not the Screener's results are taken public, this version of the Plotter will always remain free and available.

Please note that as of February 2005, I've put plans for the Windows Darvas method on hold till Summer 2006. I've gotten way too busy and won't have time till then. I should be able to get it done by about June 2006 and I'll also rework the code on this free version to accomodate longer time periods.

Ricky J. Sethi <rickys at>
Last modified: Sat Jun 30 02:19:30 PDT 2007

[Sethi Family HomePage] [Sethi Community] [Etymology] [Genealogy] [Investments] [Darvas] [Mpegs] [Recipes] [Dental Clinic] [Tools] [PhotoAlbum] [Guestbook]