PriceActionSwing discussion - NinjaTrader | futures io social day trading
futures io futures trading

PriceActionSwing discussion
Updated: Views / Replies:548,079 / 1,761
Created: by dorschden Attachments:542

Welcome to futures io.

(If you already have an account, login at the top of the page)

futures io is the largest futures trading community on the planet, with over 100,000 members. At futures io, our goal has always been and always will be to create a friendly, positive, forward-thinking community where members can openly share and discuss everything the world of trading has to offer. The community is one of the friendliest you will find on any subject, with members going out of their way to help others. Some of the primary differences between futures io and other trading sites revolve around the standards of our community. Those standards include a code of conduct for our members, as well as extremely high standards that govern which partners we do business with, and which products or services we recommend to our members.

At futures io, our focus is on quality education. No hype, gimmicks, or secret sauce. The truth is: trading is hard. To succeed, you need to surround yourself with the right support system, educational content, and trading mentors – all of which you can find on futures io, utilizing our social trading environment.

With futures io, you can find honest trading reviews on brokers, trading rooms, indicator packages, trading strategies, and much more. Our trading review process is highly moderated to ensure that only genuine users are allowed, so you don’t need to worry about fake reviews.

We are fundamentally different than most other trading sites:
  • We are here to help. Just let us know what you need.
  • We work extremely hard to keep things positive in our community.
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts.
  • We firmly believe in and encourage sharing. The holy grail is within you, we can help you find it.
  • We expect our members to participate and become a part of the community. Help yourself by helping others.

You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

Thread Tools

PriceActionSwing discussion

Elite Member
Germany (Meck-Pomm)
Trading Experience: Advanced
Platform: NinjaTrader
Posts: 110 since Jun 2009
Thanks: 54 given, 1,033 received

PriceActionSwing Information

Any comments and suggestions are welcome!

Please discuss the PriceActionSwing (PAS) indicator in this thread. Any comments or suggestions are more than welcome here. If you have a more private issue send me a PM or better an Email (you'll find the address in the top of the PriceActionSwing.cs script). Discussion about the newest version started here (last update 05.06.2014).

Download PriceActionSwing

Market analyzer template
You can download a market analyzer template in this post. It contains ABC signals, swing trend direction and divergence signals.

Strategy development
In this post you find a strategy sample code snippet which shows how to use the swing trend in a strategy. Start reading at "strategy development".


The PriceActionSwing calculates swings in different ways and displays all kind of information about the swings above and below them. If you just want to visualize swings then you should use this version.

There is also a PriceActionSwingPro version that contains in addition to the normal version some features which are all off at default. The features are:
- Draw automatically Fibonacci extensions and retracements
- Calculate a swing statistic
- Calculate and visualize ABC patterns
- Risk management (automatically for ABC patterns)
- Calculate and visualize divergence based on an indicator
- Use @gomi's most outstanding cumulative delta work for swings


Every setting in the NinjaTrades's indicator menu has a short description. Here is a short list of the more important ones.


Double top/-bottom strength:
Represents the double top/-bottom strength. Increase the value to get more double tops and -bottoms.

Swing size:
Represents the swing size. e.g. 1 = small swings and 5 = bigger swings. Which size you use depends on your trading style. There is no best setting for everybody.

Swing type:
Represents the swing type. In the "Standard" swing type a new swing is found when price is above or below the high or low of the last N bars and N = Swing size. The "Gann" type is calculated based on Gann's rules for swings.

Swing values:

Here you can choose which information the swings should display.
- Duration (in bars)
- Labels (HH, HL,…)
- Length (in ticks, points,…)
- Percentage (in relation to the last swing. e.g. 100% = DT/DB)
- Time
- Volume (Absolute and relative. Relative is the average volume per bar)

Swing visualization type:
Represents the swing visualization type. Dots | Zig-Zag lines | Dots and lines | Gann style. E.g. if you want only dots to visualize the swings choose "Dots".

Visualize swings/patterns:

Here you can choose your own look and feel for the visualization of the swings and the patterns.

Swing features:

Here you can turn the features on and off.

Swing Length shows the up and down swing length in ticks. The "Last Length" column is the average of the last N swings and N = "Statistic number of swings".

Swing relation for a specific swing (first column) the percentage amount of swings that follow this specific swing. E.g. the values of the first row (Higher High) are:
Swing Count Higher High Lower High Higher Low Lower Low
48 47,9% 52,1% 72,9% 22,9
Then you can interpret this as a Higher High is followed in 72,9% of all cases by a Higher Low and only in 22,9% by a Lower Low. 72,9% + 22,9 % = 95,8%. The remaining amount is for a double bottom.

Risk management:
You can use this feature for to calculate the your trade quantity and see the risk reward ratio and/or you can use it to trade the ABC pattern. Set your trading capital in "Account size" and your risk in "Account risk per trade".


Here you can set all settings to display a divergence in the chart.

Div indicator:
Represents the indicator for the divergence calculations. You can add one or more indicators in the source code under the value "custom". Here you find instructions how to create divergence signals based on a freely chosen indicator.

Param1, Param2, Param3
Represents the first parameter for the indicator you choose. E.g. the standard MACD(12,26,9) would be
Param1 = 12
Param2 = 26
Param3 = 9.


To use cumulative delta for the swings or divergence you have to uncomment all GomCD regions in the source code. Press "ctrl + F" or the "Find/Replace" button and search for "region GomCD" and uncomment all the regions and compile it. Of course you have to install the Gom package before.

The PAS indicator is very useful to see and trade pure price action with HH, HL in up trends and LL, LH in down trends and you can easily identify swing patterns like M, W, wedged, HS,…

New NT7 statistic panel
Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).

Swing labels
Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).

Any comments and suggestions are welcome!




PriceActionSwing was nominated for the Best Indicator Of The Year for 2011, and won 1st place (Gold).

Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).



PriceActionSwing was nominated for the Best Indicator Of The Year for 2010, and won 3rd place (Bronze).

Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).

You can see all the results here: Best Of Trading 2010 - Big Mike Trading

Attached Thumbnails
PriceActionSwing discussion-6e-06-10-6-range-04.05.2010.png   PriceActionSwing discussion-aapl-13_09_2007-07_05_2010-daily-.png   PriceActionSwing discussion-parameterlist.png  

Last edited by dorschden; June 4th, 2014 at 09:07 PM. Reason: updated the PAS description
The following 327 users say Thank You to dorschden for this post:
2bwize, 4xmaster, ab456, Abde, adamt, adewes, adrianjm, Aegis, Alexander Savin, alexc, alshir827, Anatta, Angel, anituchka, anniebee321, ap29680, ArbTrader, arbuthnot, asherrizwan, Ashtreegambler, astra, augusta, autotrader8, aventeren, Barrosco, bdd069, Bengaltiger, Bernd, bernoulli, BetMore, beursindex, Big Mike, Blackburn, bluecrow, Bondi9999, Boomerang, br8080, Braulio, brwdbill, bsternfeld, Buscador, Cachevary, cal1152, Camdo, Cancer0s, capsmart, carlitus1234, cazimi, cclsys, cejstrup, chakspin, charleyfarley, cheapboy, Cheech, ClausZ1, Corman, crisscross, d1david, dakine, dalebru, DarrenH, DaveTrading, day61, Daytrader999, DAYTRADERPROFESIONAL, Daza73, deachne, dee50, deepakmadan, deflee, deltason, Denny2009, devdas, djkiwi, djoyce854, dnkhoward2, don10, Donald, drmartell, dstrader, DWCJ, dwntik5454, dwt51, easyeasy, ebtrader008, edepa, EdgeExecution, Elite Trader, elyt, emerson, emily28, Enki, ericson, Eris, EssDigs, EvgenyK, facudb, fastpalo, Fat Tails, Fatfish, Felix trader, fish, Flatman, Forito, fskhan, Fu510n, fusion, fxmen, ganamide, Ganymed, GAP180, gary9, Genshin, glory110, goldenriver, grahamg, grahamp, Greendomer95, greentree, gtichauer, Gzalazar, hadamkov, hallem, harry737, hautetoddy, Hayles76, Heph333, hizu, hoolio, icelandicstorm, iceman4248, icog, IequalsS, ignacio90, indianbuckeye, Jaap8242, Jaba, jackm, jacters, jastrade, jceg1110, Jeff Castille, jeremy3s, jethro, JK1970, jlwade123, jmsUK, Jo Moreau, joe888, JohnGump, JohnnyCash, joobeng, jordis, jossfx, Joules360, jtrade, judokamak, jwhtrades, kabott1, kajasp, kaltrax, kareem40, KennyK, kingfish88, kmac, konsistencia, kvankuren, LA Trader, LaissezFaire, lavender, Lee77, Lejcus, leonex, lincor, LoanShark, lonestarAK, Lorien73, loschle, luisf, madLyfe, maggtrading, marker, MarkG, master trader, matthew1182, matthoffman, Maxie, Maza, md1933, MetalTrade, mgregor, micprice, mikky182, MKaiser, Momozo, monsieur, mosafer, mrblaze, Mtype, Muratello, MurphyCZek, mystiq, nanobiotech, Nero00, NEXUS851, Nicolas11, nightshift, NJAMC, NoMagic, noobforlyfe, Obelixtrader, olobay, omaha786, onenonly, OpalDragon, Optiondreamer, outerspace, panama, PandaWarrior, panjm, papamo44, Patrick17, PDQuig, pedrobraz, pepbosch, Pepperdog, Peresai, Pharmakon, photog53, pip29, pipandrun, PipBandit, pktrader, Popsicle, Portland, prby78, project belgrade, psb1967, puma, rainbowchaser, raj20in, redratsal, resirca52009, resist, rfiske, rickr, rimartin, Roberto Bnvdz, Ruffcut, Rui S, S trader, sabrinavvv, sairamss, samironthemove, sandptrader, ScottyA, sdat, sebolek1978, seeker, Serninja, sethbutrue, Sezor, shaft5150, ShatteredX, Shivaya, Silvester17, SirNicolaus, skann, snakedoctor, snegovik, sola, Sonofapip, Srq1, stealth38, StefanoR, steveg, steven2, stoicbuddha, sudhirc, Sunil P, Swizzle, Target, tbird, tbondtrader, tct0909, texastodd, TheStyg, thevfutio, thomasblake, timendaGain, titusmaniera, tony2604, tonybertoni, tornadoatc, toughiee, Trad3r, trade65, TradeAction, trademe1, trader2012, traderhas, tradernikki, TradingVictor, trendfly, Turtrend, UnknownKnown, urghan2, uzzo, Vajce18, Vasilis, vevelo, vicky2005, VictorK, Victory Trader, wahn, warlock, wavestrader, welly192, wgreenie, whatnext, williamkao, wwlacey, wwwingman, xtrader111, Zen Trader, zt379, ztekinos
Trading Experience: Advanced
Platform: Market Delta
Broker/Data: Velocity /TT
Favorite Futures: ES
benbrooke's Avatar
Posts: 430 since Aug 2009
Thanks: 216 given, 490 received

Great Job!

I really like it !

i dont know if its possible but can you add the ABCD pattern and fibs to this indicator?


The following 2 users say Thank You to benbrooke for this post:
Elite Member
Perdido Beach, AL
Trading Experience: Intermediate
Platform: graph paper
Favorite Futures: Guitar
websouth's Avatar
Posts: 1,150 since Jul 2009
Thanks: 1,094 given, 1,305 received

Nice dorschden
Look here if you are an elite member...

a combination of the two might be interesting. I cross linked them.

The following 4 users say Thank You to websouth for this post:
VIP Member
Vancouver, BC
Trading Experience: Intermediate
Platform: Ninjatrader
Posts: 19 since Aug 2009
Thanks: 7 given, 7 received

Very nice! I have been trying to program an improved swing indicator myself, but this one looks great! How have you been using this in your trading strategy?

The following user says Thank You to Dusty909 for this post:
Elite Member
Germany (Meck-Pomm)
Trading Experience: Advanced
Platform: NinjaTrader
Posts: 110 since Jun 2009
Thanks: 54 given, 1,033 received

I uploaded a new version in the download section with Fibonacci retracements, Fibonacci extensions and an visual entry area for the AB=CD pattern.

With NinjaTrader 7 it's easy to set draw objects in the future and with this feature it's possible to visualize the AB=CD pattern in a better way. But for now the Fibonacci tools must reach.

Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).

Please register on to view futures trading content such as post attachment(s), image(s), and screenshot(s).

websouth View Post
Look here if you are an elite member...

a combination of the two might be interesting. I cross linked them.

I'm not an elite member. When I should add some stuff to PriceActionSwing write this in this thread and I'll see what I can do. Otherwise you can use my code (many comments, I think easy to read) and add some snippets in the other swing indicator.

Dusty909 View Post
How have you been using this in your trading strategy?

For my trading style a good swing indicator is essential. Because I often trade price pattern. Next step is to automate the pattern recognition.

I also create a strategy that trades double bottoms/tops with this indicator. As entry trigger you can use almost everthiny: a stochastic cross, MA cross, 3 bar reversal,... the stop is 2 ticks below the double bottom and profit target is the last swing high or let it run with an atr stop, PSAR, TSSuperTrend. Short vice versa. The results are good, but not extraordinary.

Attached Thumbnails
PriceActionSwing discussion-priceactionswing_fibext_picture.png   PriceActionSwing discussion-priceactionswing_fibret_picture.png  
The following 4 users say Thank You to dorschden for this post:
VIP Member
Trading Experience: Intermediate
Platform: NinjaTrader
Favorite Futures: NQ
Posts: 32 since Aug 2009
Thanks: 12 given, 57 received


First off, thanks for this wonderful indicator. I've been working with ZigZagUTC to use in my strategies with little luck (due to my poor c# skills). Your indicator would seem to do exactly what I need with the PriceSwingRelation dataseries.

This is probably a very basic C# question, so pardon my lack of coding knowledge. Can you provide an example of calling this indicator by a strategy to determine the values held in the PriceSwingRelation dataseries?

i.e. if (PriceActionSwing(SwingMode, dtbStrength, span).PriceSwingRelation == #
&& ...
&& ... )
{ do something }

What is the required syntax for the "SwingMode" variable when calling the indicator? I've tried many variations such as "SwingMode.Standard", but no luck yet.


The following 2 users say Thank You to Pepperdog for this post:
Elite Member
Germany (Meck-Pomm)
Trading Experience: Advanced
Platform: NinjaTrader
Posts: 110 since Jun 2009
Thanks: 54 given, 1,033 received


you have to add this lines in your strategy

#region Using declarations
using PriceActionSwing.Utility;

#region Variables
private SwingMode pAS_SwingMode = SwingMode.Standard; 
private int pAS_DtbStrength = 15; 
private int pAS_Span = 8; 

protected override void Initialize()
   // Add the indicator to the chart - not necessary
   Add(PriceActionSwing(pAS_SwingMode, pAS_DtbStrength, pAS_Span));

protected override void OnBarUpdate()
   // If the last high and  low was higher high and higher low and a short sma cross above the long sma enter long
   if (PriceActionSwing(pAS_SwingMode, pAS_DtbStrength, pAS_Span).PriceSwingRelation[0] == 1 && CrossAbove(SMA(3), SMA(7), 1))
      EnterLong(DefaultQuantity, "");

#region Properties
public SwingMode PAS_SwingMode
   get { return pAS_SwingMode; }
   set { pAS_SwingMode = value; }

public int PAS_DtbStrength
   get { return pAS_DtbStrength; }
   set { pAS_DtbStrength = Math.Max(1, value); }

public int PAS_Span
   get { return pAS_Span; }
   set { pAS_Span = Math.Max(1, value); }
For the 1 in "PriceSwingRelation[0] == 1" you can set the following values
-2 for double top
-1 for lower high and lower low
0 nothing
1 for higher high and higher low
2 for double bottom

Hope this helps.

The following 10 users say Thank You to dorschden for this post:
Elite Member
Sydney, NS
Trading Experience: Intermediate
Platform: Ninja
Broker/Data: Zen-Fire
Favorite Futures: TF,S,GC
cclsys's Avatar
Posts: 607 since Nov 2009
Thanks: 248 given, 387 received

Very good. As to enhancement suggestions (!):

wouldn't it be nice to be able to keep a running average of upswings and downswings and either simply print that out in a stats panel or actually project it onto the chart once a new swing has formed. It would also be nice to keep track of the av number of bars and project the same - esp. good with minute charts.

A further embellishment to the above would be to track upswings in bull markets, downswings in bull mkts, downswings in bear, downswings in bull to better hone the anticipated swings. When the market falls short of a projection it indicates weakness, when greatly exceeds indicates strength, but also helps to provide context of what is likely once a new swing has formed.

Only problem is that with this method of calculating swings there might often be considerable 'lag' between when the swing/high/low formed and the code recognises it as such. But I for one would love to be able to see this on a chart and I think you are more than halfway there with the underlying code.

The following 4 users say Thank You to cclsys for this post:
Elite Member
Germany (Meck-Pomm)
Trading Experience: Advanced
Platform: NinjaTrader
Posts: 110 since Jun 2009
Thanks: 54 given, 1,033 received

Good suggestions and I'm already working on a statistic add on with almost the same stuff you mention. There is the average up-/down swing length and duration in bars and the same for the last x swings. Furthermore I differ this in up trends with higher high/low and down trends. An with this values I plan to visualize an exit area, so it should be possible to enhance the exits.

It is not so much work, but at this moment I'm very busy and next week I'm on vacation. So I can release the statistic primary in some days.

The following 3 users say Thank You to dorschden for this post:
VIP Member
Trading Experience: Intermediate
Platform: NinjaTrader
Favorite Futures: NQ
Posts: 32 since Aug 2009
Thanks: 12 given, 57 received


Thank you very much for the code snippet. I am working on a strategy/dot/bar painter very similar to what you have in your code. It is basically a combination of the triple EMA dots along with PriceSwingRelation from your indicator to further qualify the MA signals (although I have been moving towards using a Jurik MA versus the triple EMA). Only paint/draw a "long" signal after a HH/HL or DB, and "short" signal after LH/LL or DT when the MA changes slope in the direction of PriceSwingRelation. But I have run into an issue, in that sometimes it will paint, sometimes it does not. Attached is a quick example from today's YM. It most certainly could be a problem with my "dots" code, and I will be working with it tonight to try and sort it out. Any suggestions? (I will run some replays and have my code Print the PriceSwingRelation dataseries as the bars and swings form.)

My basic code logic for longs is (opposite for shorts):

if (MA slope changes from falling to rising)
and (PriceSwingRelation > 0)
{ Paint blue Dot / Go Long }

Also, I see an isTrend() around line 426 of your indicator. Can you shed some light on this?

Attached Thumbnails
PriceActionSwing discussion-ym-12-09-12_1_2009-800-volume-.png  
The following 5 users say Thank You to Pepperdog for this post:


futures io > > > > PriceActionSwing discussion
Thread Tools

Upcoming Webinars and Events (4:30PM ET unless noted)

Day Trading Oil Futures: Reducing Risk & Increasing Profits w/DTN IQFeed

Mar 26

Trading In The Final Hour w/Al Brooks

Elite only

Similar Threads
Thread Thread Starter Forum Replies Last Post
Murray Math Discussion? jwhtrades Traders Hideout 5 July 27th, 2011 09:06 PM
Looking for general discussion thread. jctrader Traders Hideout 2 May 2nd, 2011 02:23 PM
PriceActionSwing jeff92887 NinjaTrader 2 March 1st, 2011 06:15 AM

1440, 2 data, abc, abcd, account size, ai, alerts, algo, amp, analytics, ats, automatically, average, barcount, barsinprogress, buy, c++, cancelled, chat, code, coding, comparison, confluence, crossabove, crossbelow, cumulative delta, data, dataseries, delete, delta, delta volume, developer, discretionary trading, divergence, double bottom, double top, dow, downloading, el, elite, email, est, feedback, fibonacci, futures, gann, gomcd, gomfolder, gomi, guru, harmonic, harmonic_patterns, hotkey, how to, imbalance, indicator, indicators, information, jigsaw, journal, list, london, loss, mac, macd, margin, market analyzer, marketposition, newbie, news, ninja, ninjatrader, ninjatrader 7, ninjatrader 8, nt7, ohlc, options, orders, oscillator, pairs, patterns, people, platform, price action, priceactionswing, profit target, programming, properties, pure price action, quant, range charts, recognition, reno, retracements, reversals, reward, risk management, risk reward, sample, scan, search, setprofittarget, short, signals, size, snippets, source code, sp, split, standing, statistics, stc, stochastics, stocks, strategies, strategy, strategy development, strength, support, swing, switch, systems, templates, tick, trading, trading strategy, training, trend, trends, trial, type, update, values, velocity, volume, xav, zig-zag, zigzagutcswing

All times are GMT -4. The time now is 04:35 PM. (this page content is cached, log in for real-time version)

Copyright © 2019 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432 WhatsApp Business,
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts
Page generated 2019-03-26 in 0.20 seconds with 14 queries on phoenix