PriceActionSwing discussion
 Updated: July 23rd, 2017 (02:10 AM) Views / Replies: 440,801 / 1,503 Created: November 23rd, 2009 (10:23 AM) by dorschden Attachments: 472

 Welcome to futures io.

472

# PriceActionSwing discussion

Banned: trolling
Russia,Khabarovsk

Futures Experience: Beginner
Platform: NT
Favorite Futures: Gold

Posts: 407 since Feb 2014

dorschden
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).

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

Versions

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

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

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.

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.

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

Divergence:

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.

GomCD:

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 futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).

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

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). Please register on futures.io to view futures trading content such as post attachment(s), image(s), and screenshot(s).

Tip
 BEST OF TRADING 2010 AWARD PriceActionSwing was nominated for the Best Indicator Of The Year for 2010, and won 3rd place (Bronze). Please register on futures.io 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

Hi Dorschden,just out of curiosity,why didn`t you code up just these sequences,when you developed the code:

HH>>HL>>LH>>LL;

LL>>LH>>HL>>HH?

Thanks

 The following user says Thank You to Cachevary for this post:

Elite Member
Columbus, OH

Futures Experience: None
Platform: NT 8, TOS
Favorite Futures: ES

Posts: 3,317 since Aug 2009

Cachevary
 Either the latest updated version of the PAS has error(the same text for the swings with different lables) in the Visualization list,in the lines #8 and #11,or i have paranoia.The line # 12 contains typo.

no, those little typos were already in previous version. not really a big deal. it's only the display name anyway. if you check the description at the bottom, everything is correct.

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

but in case it's really bothering you that bad, you could always change it yourself

pas pro here:

Code
 ```[Category("03. Visualization")] [Description("Represents the color of the swing value output for higher lows.")] [Gui.Design.DisplayName("10. Text color higher low")] public Color TextColorHigherLow { get { return textColorHigherLow; } set { textColorHigherLow = value; } } [Browsable(false)] public string TextColorHigherLowSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorHigherLow); } set { textColorHigherLow = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } } [Category("03. Visualization")] [Description("Represents the color of the swing value output for lower lows.")] [Gui.Design.DisplayName("11. Text color lower low")] public Color TextColorLowerLow { get { return textColorLowerLow; } set { textColorLowerLow = value; } } [Browsable(false)] public string TextColorLowerLowSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorLowerLow); } set { textColorLowerLow = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } } [Category("03. Visualization")] [Description("Represents the color of the swing value output for double bottoms.")] [Gui.Design.DisplayName("12. Text color double bottom")] public Color TextColorDoubleBottom { get { return textColorDoubleBottom; } set { textColorDoubleBottom = value; } } [Browsable(false)] public string TextColorDoubleBottomSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorDoubleBottom); } set { textColorDoubleBottom = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } }```
pas here:

Code
 ```[Category("Visualize swings")] [Description("Represents the color of the swing value output for higher lows.")] [Gui.Design.DisplayName("06. Text color higher low")] public Color TextColorHigherLow { get { return textColorHigherLow; } set { textColorHigherLow = value; } } [Browsable(false)] public string TextColorHigherLowSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorHigherLow); } set { textColorHigherLow = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } } [Category("Visualize swings")] [Description("Represents the color of the swing value output for lower lows.")] [Gui.Design.DisplayName("07. Text color lower low")] public Color TextColorLowerLow { get { return textColorLowerLow; } set { textColorLowerLow = value; } } [Browsable(false)] public string TextColorLowerLowSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorLowerLow); } set { textColorLowerLow = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } } [Category("Visualize swings")] [Description("Represents the color of the swing value output for double bottoms.")] [Gui.Design.DisplayName("08. Text color double bottom")] public Color TextColorDoubleBottom { get { return textColorDoubleBottom; } set { textColorDoubleBottom = value; } } [Browsable(false)] public string TextColorDoubleBottomSerialize { get { return NinjaTrader.Gui.Design.SerializableColor.ToString(textColorDoubleBottom); } set { textColorDoubleBottom = NinjaTrader.Gui.Design.SerializableColor.FromString(value); } }```

Last edited by Silvester17; June 19th, 2014 at 07:59 AM.
 The following 9 users say Thank You to Silvester17 for this post:

 June 20th, 2014, 08:40 AM #1003 (permalink) Banned: trolling Russia,Khabarovsk   Futures Experience: Beginner Platform: NT Favorite Futures: Gold     Posts: 407 since Feb 2014 Thanks: 138 given, 78 received It would be great to have no-repaint feature in it,as well.

Elite Member
Columbus, OH

Futures Experience: None
Platform: NT 8, TOS
Favorite Futures: ES

Posts: 3,317 since Aug 2009

Cachevary
 It would be great to have no-repaint feature in it,as well.

this indicator does NOT repaint.

it will only adjust if there is a hh, hl, ll, lh in the same swing. this has absolutely nothing to do with repainting. btw if it wouldn't need to adjust, then that certainly would qualify as the holy grail. and we all would be billionaires, at least.

 The following 4 users say Thank You to Silvester17 for this post:

Banned: trolling
Russia,Khabarovsk

Futures Experience: Beginner
Platform: NT
Favorite Futures: Gold

Posts: 407 since Feb 2014

Silvester17
 this indicator does NOT repaint. it will only adjust if there is a hh, hl, ll, lh in the same swing. this has absolutely nothing to do with repainting. btw if it wouldn't need to adjust, then that certainly would qualify as the holy grail. and we all would be billionaires, at least.

Becoming billionair takes alot of time,even with the holy grail.I see it does re-paint for the failed ABC pattern.There is no need for adjustment as hh,hl,ll,lh in the same swing is viable information.

Elite Member
Columbus, OH

Futures Experience: None
Platform: NT 8, TOS
Favorite Futures: ES

Posts: 3,317 since Aug 2009

Cachevary
 Becoming billionair takes alot of time,even with the holy grail.I see it does re-paint for the failed ABC pattern.There is no need for adjustment as hh,hl,ll,lh in the same swing is viable information.

again, this indicator does NOT repaint. not even the failed abc pattern. same reasons as mentioned before.

the only thing that repaints is the volume in the pas oscillator. quote from @dorschden:

dorschden
 The only thing that is re-painting is the PasOsc volume part. Because every time we get a new bar that doesn't make a new swing high/low we don't know whether this bar belongs to the current swing or to the next swing that will come in the future. To highlight this situation the PasOsc volume draws the volume histogram according to the current swing direction and the plot line draws the volume to what the swing volume will change if the bars belong to the next swing which will change the swing direction.

 The following 5 users say Thank You to Silvester17 for this post:

Banned: trolling
Russia,Khabarovsk

Futures Experience: Beginner
Platform: NT
Favorite Futures: Gold

Posts: 407 since Feb 2014

Silvester17
 again, this indicator does NOT repaint. not even the failed abc pattern. same reasons as mentioned before. the only thing that repaints is the volume in the pas oscillator. quote from @dorschden:

Okay,what is the reason for the ABC pattern to appear/dissapear at times when i reload it using F5 button?

Elite Member
Columbus, OH

Futures Experience: None
Platform: NT 8, TOS
Favorite Futures: ES

Posts: 3,317 since Aug 2009

Cachevary
 Okay,what is the reason for the ABC pattern to appear/dissapear at times when i reload it using F5 button?

aha, now we're getting to the point what repainting really is. when you reload your charts (f5), NOTHING will change (except the swing volume). and that includes the abc pattern as well.

and before you reply: but when I go back on my chart and hit f5, the abc pattern appears. then keep in mind, at that point in time, the abc pattern was valid and that's why it has to "appear". but later it failed and therefore had to "disappear".

I hope this makes sense to you

 The following 3 users say Thank You to Silvester17 for this post:

Banned: trolling
Russia,Khabarovsk

Futures Experience: Beginner
Platform: NT
Favorite Futures: Gold

Posts: 407 since Feb 2014

Silvester17
 aha, now we're getting to the point what repainting really is. when you reload your charts (f5), NOTHING will change (except the swing volume). and that includes the abc pattern as well. and before you reply: but when I go back on my chart and hit f5, the abc pattern appears. then keep in mind, at that point in time, the abc pattern was valid and that's why it has to "appear". but later it failed and therefore had to "disappear". I hope this makes sense to you

Do i have to reload it then,with each new bar,for e.g.,to confirm its validity?

Elite Member
Columbus, OH

Futures Experience: None
Platform: NT 8, TOS
Favorite Futures: ES

Posts: 3,317 since Aug 2009

Cachevary
 Do i have to reload it then,with each new bar,for e.g.,to confirm its validity?

now, are you trying to be funny?

many things become clearer now. so I'll respectfully say good bye

 The following 4 users say Thank You to Silvester17 for this post:

 futures io > PriceActionSwing discussion

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

July

Elite only

August

Elite only

Elite only

Elite only

Aug TBD