Trend Template by Mark Minervini

Trend Template by Mark Minervini

The Trend Template stock screener is a set of selection criteria by Market Wizard Mark Minervini. Here are the rules:

  1. The current stock price is above both the 150-day (30-week) and the 200-day (40-week) moving average price lines.
  2. The 150-day moving average is above the 200-day moving average.
  3. The 200-day moving average line is trending up for at least 1 month (preferably 4–5 months minimum in most cases).
  4. The 50-day (10-week) moving average is above both the 150-day and 200-day moving averages.
  5. The current stock price is trading above the 50-day moving average.
  6. The current stock price is at least 30 percent above its 52-week low. (Many of the best selections will be 100 percent, 300 percent, or greater above their 52-week low before they emerge from a solid consolidation period and mount a large scale advance.)
  7. The current stock price is within at least 25 percent of its 52-week high (the closer to a new high the better).


Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

New! PRC is also now on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Djfromsweden • 04/13/2017 #

    Hello Nicolas! I wonder if you would like to help me.  I have a very good (and simple) signal (formation) that I am trying to program in the market scanner, but I must be doing something wrong.
    It has a hitrate of 82% (very big backtesting in Multicharts) , so very useful, and I am sure that you will like it, if you try it.
    I Think for someone as  proffesional as you in programming, you could help me out in 1-2 minutes or so. Would you like to try? If yes, Maybe we can make a screensharing, and I can show explain
    what a I mean. I have teamviewer.  If yes, maybe you can start sending me in e-mail
    I would appreciate your help.  🙂

    • Nicolas • 04/13/2017 #

      Sure, please send me a message through the programming services form, we’ll see together how I can help you the best way. Thanks.

  2. luckyhaa • 04/13/2017 #

    thanks Nicolas, this is what i am looking long time !!!!

  3. Stenozar • 04/13/2017 #

    Hi Nicolas, it’s very interesting. Do I have to apply it to any particular list?

    • Nicolas • 04/13/2017 #

      Any group of shares you like!

  4. mal • 04/13/2017 #

    Hi Nicolas,
    whar for a broker do you use for Future-Tarading with pro real time?

    • Nicolas • 04/13/2017 #

      Prorealtime trading with interactive broker, more information follow this link:

  5. Stenozar • 363 days ago #

    Buon pomeriggio Nicolas, sono riuscito ad importare lo screener ma non mi evidenzia alcun titolo, mi riporta solo tutta la lista dei titoli azionari. Come dovrebbe essere visualizzato il titolo selezionato dallo screener? in modo evidenziato o come per distinguerlo? Grazie!

    • Nicolas • 363 days ago #

      Sì, potrebbe visualizzare molte scorte nella finestra dei risultati. È un “template” per trovare le scorte di tendenza.

  6. Frank Wilson • 352 days ago #

    thanks for the screener mate cheers

  7. Merls • 345 days ago #

    Hi Nicholas, Is it possible to add the Mansfield RS criteria in also? I have been trying to put that into my screener. Also, can ‘resources’ companies be excluded easily in the screener?
    Cheers Merls

  8. Onythan • 333 days ago #

    Hello Nicolas,
    Thanks for this screener. I was wondering if I could add a criteria in order to get the whole list in this screener ? Cause PRT is only displaying 50 results at once.

    • Nicolas • 332 days ago #

      50 results is the limit, but you can get more with PRT-CFD premium :

  9. Raspoutine • 304 days ago #

    Hi Nicolas,The results are not identical
    ma200 = Arevage(200)

    //c4 = summation[20](ma200 > ma200[1]) = 20
    c4 = summation[20](Average[200] > Average[200](1)) = 20
    My interpretation:
    // Trend Template by Mark Minervini Opti ?

    ma50 = Average[50]
    ma150 = Average[150]
    ma200 = Average[200]

    c1 = Close > ma200
    c2 = Close > ma150
    c3 = ma150 > ma200

    //c4 = summation[20](Average[200] > Average[200](1)) = 20
    c4 = ma200/ma200[25] > 0.025

    c5 = ma50 > ma200
    c6 = ma50 > ma150
    c7 = Close > ma50

    c8 = Close / Lowest[252](low) > 1.3 //dochian
    c9 = Close / Highest[252](high) > 0.75 //dochian

    IF c1 AND c2 AND c3 AND c4 AND c5 AND c6 AND c7 AND c8 AND c9 THEN

    Trend = 1


    Trend = 0


    Return Trend

    Earlier in the thread, cfro mentioned :
    LO, Andrew W. and HASANHODZIC, Jasmina (2010) The Heretics of Finance : Conversations with Leading Practitioners of Technical Analysis. (New York : Bloomberg).
    There is a great chapter in the book comprising an interview with Stan Weinstein. It offers some terrific insights relevant to the “Stage 2”. Among these are the following :

    Weinstein explains that he does in fact base his trading on the use of three moving averages : 50-day, 150-day and 200-day : exactly as described by Minervini. This was not revealed in his book Secrets for Profiting in Bull and Bear Markets. Perhaps he just wanted to keep it as simple as possible in the book by only referencing the 150-day MA.

    What I think is potentially the most important new point : Weinstein goes on to explain how he uses the three moving averages as a mechanical exit rule, which he says he never ever deviates from.

    If price falls below the 50-day MA he will sell one third of his position, unquestionably – as risk management.

    If price rises back above the 50-day MA, he will consider buying back the third he sold (but would not necessarily do so). 

    However, if price continues to weaken and goes below the 150-day MA he will sell another third.

    Finally, if price falls below the 200-day MA he exits the remainder of his position.

    Essentially, while he does not say it in exactly these words, Weinstein believes that any volatility that occurs while the price remains above its 50-day MA, is ‘volatility to ignore’. However, if the 50-day MA is breached : start to use the rules described above.
    Not mentioned by Weinstein, a further “warning signal” that could/should demand defensive action, is when the 50-day MA crosses below the 150-day MA.
    A mantra of Weinstein and so many other gurus is KEEP YOUR LOSSES SMALL !
    Weinstein’s system seems a sound one for helping to do this. The thread has offered insights from both Weinstein and Minervini on when to BUY Stage 2 stocks.
    Weinstein’s system offers objective criteria for when to SELL, which is often one of the hardest investment decisions to make.
    We all know we should run our winners. While the 50-day, 150-day and 200-day moving averages are all rising and all in the correct “traffic light” order, and last but not least, price remains above all three moving averages : the technicals, according to Weinstein, say : “stay in the stock”.
    Source:h**p://**p:// ^^

  10. Magela01 • 296 days ago #

    is this ok with AMibroker?

    • Nicolas • 296 days ago #

      Prorealcode is a website about prorealtime trading platform programming, this code will not work in any other software 🙂

  11. gabri • 209 days ago #

    Great screener!! I would like to add only the fact that Minervini is a growth investor and so he picks stocks based on fundamentals AND technical analysis. I suggest to use periods of 254 instead of 300, 66 instead of 50 and 130 instead of 150 to reflect the trimester/semester/annual reports normally released by companies if trading the stock market. 200/150/50 is perfect for everything else.

  12. Hayden • 186 days ago #

    Hi Nicolas, thanks for the Minervini screener, I’m finding it really useful.
    I am a big fan of pocket pivots and am wondering if coding to detect pocket pivots could be added to this screener to make it more sensitive to an impending move?
    Essentially adding in some coding to detect when the day’s volume is larger than the highest down volume day over the prior 10 days.
    Can I send you a message through the programming services form for this?

    • Nicolas • 186 days ago #

      Private personal assistance is possible through the programming services. Otherwise, you could ask for free code in the dedicated forum of course.

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+1 more likes

Related users ' posts
Nicolas You can also test values of indicator. Equal or not to 1 for example.
Nicolas No, but if you are able to code, you can use any of the codes around here and improve them f...
Inertia Thank you Nicolas. Nice one ;)
winnie37 Merci Nicolas. J'ai un bug d'affichage quand j'utilise ton indicateur. La bougie en cours ...
Toto le Heros Thanks Nicolas. I read somewhere that in the calculation, we should round the value of the A...
Nicolas aADX = round(adx[10])
1 month ago
Rainbow Oscillator
Rainbow Oscillator
Maxime Baudin Interesting, thanks! Combine this indicator with the bollinger bands there is enough to make...
Daniel da Costa Thanks Doc! Where can you find a service for Dax with a 1 point spread?
Doctrading Hello. I suggest you : ProRealTime CFD, or IG. Best regards,
3 months ago
supertiti Bonsoir à tous For those who like me want to calibrate this indicator on a scale of 0 to ...
verdi55 You can find me at Ahh. So i got it ? 4 different supertrends without th...
juanj What? This has nothing to do with the website. The site is simply a service to help people ...
Nicolas Advertising is allowed,as long as people are helping others and if provided services are abo...
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...
Genotik Thank you for your important contribution this week which is much appreciated! Happy New Yea...
Vonasi No problem. I hope they are useful to someone. Happy and hopefully prosperous New Year to y...
DarioMazza Hi Vonasi, i have a question for you, the comand "pricetype" where did you found it in the ...
Vonasi PriceType is just a variable that I use. The value decides what type of price is used in the...
Vonasi I noticed a couple of typo errors in the code. The list of variables lines 4 to 11 should be...
swapping merci gabri, on va le mettre à l'essai ;)
4 months ago
Trinity Impulse
Trinity Impulse
ribou bonjour Nicolas Bravo pour l'ensemble de ton oeuvre très riche en informations de qualité ...
Nicolas Cet indicateur nécessite que l'instrument possède des Volumes. Sinon il ne pourra pas se cal...
ribou ah d'accord merci beaucoup
6 months ago
Genotik Merci !
Nicolas Sure, please add a new topic for this query in the automatic trading forum.
edgar degas Bonjour Nicolas, et encore bravo pour VOTRE œuvre ! Avec les vicissitudes de la vie, pas eu ...
Nicolas Super ! Merci pour le retour, à très prochainement dans le forum Anglais dans ce cas :)
6 months ago
Marcel For those who are interested, I post trade opportunities with this indicator on Twitter. (@M...
swapping Thank you for sharing, best regards
Tellie2015 tack ska du ha för dina delningar både här o twitter
Genotik Merci de votre contribution !
Leo Hi all, I posted a new version of this indicator ( I just add arrows to spot the local maxi...
Trading_En_El_Ibex35 Muchas Gracias por compartir este interesante indicador. Un saludo
6 months ago
primo1 Bonjour Nicolas, sur quelle échelle de temps minimum tu utilises l indicateur je pense...
primo1 Bonjour Nicolas Pour créer la strategie comment peux tu traduire l"apparition des points....
Nicolas Exemple dans ce sujet du forum ProOrder :