NexusFi: Find Your Edge


Home Menu

 





PriceActionSwing discussion


Discussion in NinjaTrader

Updated
      Top Posters
    1. looks_one Silvester17 with 177 posts (570 thanks)
    2. looks_two dorschden with 99 posts (1,124 thanks)
    3. looks_3 Big Mike with 52 posts (90 thanks)
    4. looks_4 jmont1 with 51 posts (23 thanks)
      Best Posters
    1. looks_one dorschden with 11.4 thanks per post
    2. looks_two Silvester17 with 3.2 thanks per post
    3. looks_3 Big Mike with 1.7 thanks per post
    4. looks_4 sudhirc with 1.7 thanks per post
    1. trending_up 960,412 views
    2. thumb_up 2,947 thanks given
    3. group 613 followers
    1. forum 2,093 posts
    2. attach_file 615 attachments




 
Search this Thread

PriceActionSwing discussion

  #1 (permalink)
 dorschden 
Germany
 
Experience: Master
Platform: NinjaTrader
Posts: 112 since Jun 2009
Thanks Given: 59
Thanks Received: 1,143

I welcome any feedback, comments and suggestions for improvement.

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 PriceActionSwingPro.cs script). Discussion about the newest version starts here (last update 31.08.2022).

Download PriceActionSwing

Market analyzer template
You can download a market analyzer template in this post. It contains ABC and divergence signals as well as swing trends and relations.

Versions

The PriceActionSwingPro indicator calculates swings in different ways and displays all kind of information about the swings above and below them. PriceActionSwingPro contains also some features:
- Draw automatically Fibonacci extensions and retracements
- naked swing lines
- Calculate a swing statistic
- Calculate and visualize ABC patterns
- Calculate and visualize divergence based on an indicator

Settings

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

Parameter:

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.
Information:
- 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".

Visualization:

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

Features:

Here you can turn the features on and off.

Statistics:
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.

Divergence:

Here you can set all settings to display divergences 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.

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,…

NT7 statistic panel
[img]https://nexusfi.com/attachment.php?attachmentid=34431&stc=1&d=1300730439[/img]

Swing labels
[img]https://nexusfi.com/attachment.php?attachmentid=15050&d=1275941399[/img]


Any comments and suggestions are welcome!

Dorschden

Tip

BEST OF TRADING 2011 AWARD

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





Tip

BEST OF TRADING 2010 AWARD

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




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

Attached Thumbnails
Click image for larger version

Name:	6E 06-10 (6 Range) 04.05.2010.png
Views:	7238
Size:	172.9 KB
ID:	12991   Click image for larger version

Name:	AAPL 13_09_2007 - 07_05_2010 (Daily).png
Views:	8472
Size:	115.4 KB
ID:	12992   Click image for larger version

Name:	ParameterList.png
Views:	10235
Size:	97.9 KB
ID:	12993  
Started this thread Reply With Quote
The following 387 users say Thank You to dorschden for this post:
2bwize, 4X77, 4xmaster, ab456, Abde, adamt, adewes, adrianjm, Aegis, AheadLoan29, akwash, alberto, alejandr888, Alexander Savin, alexc, AlexSobol, Alpha2Omega007, alshir827, Anatta, Angel, anituchka, anniebee321, ap29680, ArbTrader, arbuthnot, arni, asherrizwan, Ashtreegambler, astra, augusta, autotrader8, aventeren, Barrosco, bdd069, Bengaltiger, bergenrain, Bernd, bernoulli, BetMore, beursindex, Big Mike, billgreen3, billy_housel, Blackburn, blackhud, Blonde, bluecrow, bms71, Bondi9999, Boomerang, br8080, Braulio, brwdbill, bsternfeld, Buscador, Cachevary, cal1152, Camdo, Cancer0s, capsmart, captainboom, carlitus1234, cazimi, cclsys, cejstrup, chakspin, charleyfarley, cheapboy, Cheech, chemmala, ChrisvanderBerg, CL19, ClausZ1, Corman, crisscross, d1david, dakine, dalebru, DarrenH, DaveTrading, day61, Daytrader999, DAYTRADERPROFESIONAL, Daza73, dbarno, deachne, deandavis, dee50, deepakmadan, Deetee, deflee, deltason, Denny2009, devdas, djkiwi, djoyce854, dnkhoward2, don10, Donald, drmartell, dstrader, DWCJ, dwntik5454, dwt51, easyeasy, ebtrader008, edepa, EdgeExecution, Elite Trader, ElMelor, elyt, emerson, emily28, Enki, Epistemophilic, ericson, Eris, EssDigs, everlover, EvgenyK, evolernet, facudb, famaTV, fastpalo, Fat Tails, Fatfish, Felix trader, fish, Flatman, Forito, fskhan, Fu510n, fusion, futurestradermark, fxmen, ganamide, Ganymed, GAP180, gary9, Genshin, glory110, goldenriver, grahamg, grahamp, Greendomer95, greentree, gtichauer, Gunk, GwaiZaiTrader, Gzalazar, hallem, harry737, hautetoddy, Hayles76, Heph333, hilo2525, hizu, hoolio, icelandicstorm, iceman4248, icog, IequalsS, indianbuckeye, Jaap8242, Jaba, jackm, jacters, jastrade, jceg1110, Jeff Castille, jeremy3s, jethro, jhudas88, JK1970, jlwade123, jmsUK, Jo Moreau, joe888, JohnGump, JohnnyCash, jonathan59, joobeng, jordis, jossfx, Joules360, jtrade, judokamak, jwhtrades, kabott1, Kaimu, kajasp, kaltrax, kareem40, KennyK, kingfish88, kmac, konsistencia, kvankuren, LA Trader, LaissezFaire, lavender, LearnToCode, Lee77, Lejcus, leonex, lincor, LoanShark, lonestarAK, Lorien73, loschle, Luigsosa, luisf, madLyfe, maggtrading, Mailmon, mariab, MarianoRA, marker, marketp, MarkG, master trader, matthew1182, matthoffman, Maxie, Maza, md1933, mehrshadspeed, MeowMeowy, MetalTrade, mgregor, micprice, mikky182, MKaiser, Momozo, monsieur, mosafer, mrblaze, Mtype, Muratello, MurphyCZek, mystiq, nanobiotech, Nero00, NEXUS851, NGtrader, Nicolas11, nightshift, NJAMC, NoMagic, noobforlyfe, Norbuilt, nothingbutprofits, Obelixtrader, olobay, omaha786, onenonly, OpalDragon, Optiondreamer, outerspace, panama, PandaWarrior, panjm, papaguena, papamo44, Patrick17, PDQuig, pedrobraz, pepbosch, Pepperdog, Peresai, Pharmakon, photog53, PiotrP, pip29, pipandrun, PipBandit, pktrader, Popsicle, Portland, prby78, project belgrade, psb1967, puma, rainbowchaser, raj20in, redratsal, resirca52009, resist, rfiske, richardrgayton, rickr, rimartin, robertchristi41, Roberto Bnvdz, rremoved, 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, spark22, spezicom, Srq1, stealth38, StefanoR, steveg, steven2, stocks29, stoicbuddha, sudhirc, Sunil P, sunshnpeg, Swizzle, Target, tbird, tbondtrader, tct0909, texastodd, TheStyg, thevfutio, thomasblake, TIFONTrader, timendaGain, tinytrader2010, titusmaniera, tony2604, tonybertoni, tornadoatc, toughiee, Trad3r, trade65, TradeAction, trademe1, trader2012, traderarg, traderhas, tradernikki, TradingVictor, trendfly, Turtrend, UnknownKnown, urghan2, uzzo, Vajce18, Vasilis, vickisb, vicky2005, VictorK, Victory Trader, vjsnews, vsicth12, wahn, warlock, wavestrader, welly192, wglsdzb, wgreenie, whatnext, williamkao, wwlacey, wwwingman, Xaviour, xtrader111, zakmic, Zen Trader, zt379, ztekinos, ZZ07

Can you help answer these questions
from other members on NexusFi?
ZombieSqueeze
Platforms and Indicators
My NT8 Volume Profile Split by Asian/Euro/Open
NinjaTrader
NexusFi Journal Challenge - April 2024
Feedback and Announcements
Request for MACD with option to use different MAs for fa …
NinjaTrader
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Retail Trading As An Industry
67 thanks
NexusFi site changelog and issues/problem reporting
48 thanks
Battlestations: Show us your trading desks!
43 thanks
GFIs1 1 DAX trade per day journal
32 thanks
What percentage per day is possible? [Poll]
31 thanks

  #2 (permalink)
 
benbrooke's Avatar
 benbrooke 
Dallas,tx
 
Experience: Advanced
Platform: Market Delta
Broker: Velocity /TT
Trading: ES
Posts: 430 since Aug 2009
Thanks Given: 216
Thanks Received: 490

Great Job!

I really like it !

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

Ban.

Visit my NexusFi Trade Journal Reply With Quote
  #3 (permalink)
 
websouth's Avatar
 websouth 
Perdido Beach, AL
Market Wizard
 
Experience: Intermediate
Platform: graph paper
Trading: The shiny stuff
Posts: 1,209 since Jul 2009
Thanks Given: 1,116
Thanks Received: 1,335


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

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

Visit my NexusFi Trade Journal Reply With Quote
The following 5 users say Thank You to websouth for this post:
  #4 (permalink)
 Dusty909 
Vancouver, BC
 
Experience: Intermediate
Platform: Ninjatrader
Posts: 19 since Aug 2009
Thanks Given: 7
Thanks Received: 7

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?

Reply With Quote
The following user says Thank You to Dusty909 for this post:
  #5 (permalink)
 dorschden 
Germany
 
Experience: Master
Platform: NinjaTrader
Posts: 112 since Jun 2009
Thanks Given: 59
Thanks Received: 1,143

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.






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.

Started this thread Reply With Quote
The following 5 users say Thank You to dorschden for this post:
  #6 (permalink)
 Pepperdog 
USA
 
Experience: Intermediate
Platform: NinjaTrader
Trading: NQ
Posts: 32 since Aug 2009
Thanks Given: 12
Thanks Received: 58

Dorschden,

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.

Thanks!

Reply With Quote
The following 3 users say Thank You to Pepperdog for this post:
  #7 (permalink)
 dorschden 
Germany
 
Experience: Master
Platform: NinjaTrader
Posts: 112 since Jun 2009
Thanks Given: 59
Thanks Received: 1,143

Pepperdog,

you have to add this lines in your strategy

 
Code
#region Using declarations
...
using PriceActionSwing.Utility;
#endregion 

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

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
[Category("Parameters")]
public SwingMode PAS_SwingMode
{
   get { return pAS_SwingMode; }
   set { pAS_SwingMode = value; }
}

[Category("Parameters")]
public int PAS_DtbStrength
{
   get { return pAS_DtbStrength; }
   set { pAS_DtbStrength = Math.Max(1, value); }
}

[Category("Parameters")]
public int PAS_Span
{
   get { return pAS_Span; }
   set { pAS_Span = Math.Max(1, value); }
}
#endregion
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.

Started this thread Reply With Quote
The following 11 users say Thank You to dorschden for this post:
  #8 (permalink)
 
cclsys's Avatar
 cclsys 
Sydney, NS
 
Experience: Intermediate
Platform: Ninja
Broker: Zen-Fire
Trading: TF,S,GC
Posts: 605 since Nov 2009
Thanks Given: 248
Thanks Received: 393

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.

Visit my NexusFi Trade Journal Reply With Quote
The following 4 users say Thank You to cclsys for this post:
  #9 (permalink)
 dorschden 
Germany
 
Experience: Master
Platform: NinjaTrader
Posts: 112 since Jun 2009
Thanks Given: 59
Thanks Received: 1,143

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.

Started this thread Reply With Quote
The following 3 users say Thank You to dorschden for this post:
  #10 (permalink)
 Pepperdog 
USA
 
Experience: Intermediate
Platform: NinjaTrader
Trading: NQ
Posts: 32 since Aug 2009
Thanks Given: 12
Thanks Received: 58


Dorschden,

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
Click image for larger version

Name:	YM 12-09  12_1_2009 (800 Volume).png
Views:	4595
Size:	81.6 KB
ID:	5129  
Reply With Quote
The following 5 users say Thank You to Pepperdog for this post:





Last Updated on January 7, 2024


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
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.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts