StockFetcher Forums · General Discussion · Volume Price Confirmation Indicator (VPCI) | << >>Post Follow-up |
mystiq 650 posts msg #71046 - Ignore mystiq |
1/29/2009 4:35:36 AM TRADESTATION: Volume Price Confirmation Indicator (VPCI) Buff Dormeier's article in this issue, "Between Price And Volume," describes calculation of the volume price confirmation indicator (VPCI) and suggests a strategy for trading with it. The strategy consists of a moving average convergence-divergence (MACD) signal, which is confirmed based on readings of the VPCI. The article then compares the VPCI's value as a confirming indicator with on-balance volume (OBV) and average directional index (ADX). To perform this test, a strategy was created in EasyLanguage with "on-off" input switches, allowing the trader to select the desired confirming indicator. Code for a VPCI indicator and strategy are given here. The indicator plots the raw and smoothed VPCI. The strategy uses Macd to generate trading signals, but it trades only if the selected confirming indicator agrees. To download the code, go to the Support Center at TradeStation.com and search for the file "VPCI.Eld." FIGURE 1: TRADESTATION, VPCI RADARSCREEN WINDOW AND STRATEGY. The left-hand window shows the VPCI statistics in RadarScreen. The right-hand window shows the VPCI strategy applied to a chart. Below the price chart is the VCPI indicator (yellow line). TradeStation does not endorse or recommend any particular strategy. Indicator: VPCI inputs: Price( Close ), Length1( 5 ), Length2( 20 ), VPCIAvgLen( 20 ) ; variables: VolValue( 0 ), VolumeSum1( 0 ), VolumeSum2( 0 ), VWMA1( 0 ), VWMA2( 0 ), VP( 0 ), VPR( 0 ), VM( 0 ), VPCI( 0 ), AvgVPCI( 0 ) ; if BarType >= 2 then { not tick/minute data } VolValue = Volume else VolValue = Ticks ; VolumeSum1 = Summation( VolValue, Length1 ) ; if VolumeSum1 > 0 then VWMA1 = Summation( Price * VolValue , Length1 ) / VolumeSum1 ; VolumeSum2 = Summation( VolValue, Length2 ) ; if VolumeSum2 > 0 then VWMA2 = Summation( Price * VolValue , Length2 ) / VolumeSum2 ; VP = VWMA2 - Average( Price, Length2 ) ; VPR = VWMA1 / Average( Low, Length1 ) ; VM = Average( VolValue, Length1 ) / Average( VolValue, Length2 ) ; VPCI = VP * VPR * VM ; AvgVPCI = Average( VPCI, VPCIAvgLen ) ; Plot1( VPCI, "VPCI" ) ; Plot2( AvgVPCI, "VPCISmooth" ) ; Plot3( 0, "Zero" ) ; Strategy: VPCI inputs: Price( Close ), Length1( 5 ), Length2( 20 ), VPCIAvgLen( 20 ), MACD_FastLength( 12 ), MACD_SlowLength( 26 ), MACDLength( 9 ), OBVAvgLength( 20 ), ADX_Len( 7 ), ADX_Threshold( 20 ), UseVPCI( 1 ), { 1 means "use for confirmation", 0 means "don't use" } UseADX ( 0 ), UseOBV ( 0 ) ; variables: MACDValue( 0 ), AvgMACD( 0 ), ADXValue( 0 ), OBVValue( 0 ), AvgOBV( 0 ), VolValue( 0 ), VolumeSum1( 0 ), VolumeSum2( 0 ), VWMA1( 0 ), VWMA2( 0 ), VP( 0 ), VPR( 0 ), VM( 0 ), VPCI( 0 ), AvgVPCI( 0 ) ; MACDValue = MACD( Close, MACD_FastLength, MACD_SlowLength ) ; AvgMACD = Average( MACDValue, MACDLength ) ; ADXValue = ADX( ADX_Len ) ; OBVValue = OBV ; AvgOBV = Average( OBVValue, OBVAvgLength ) ; if BarType >= 2 then { not tick/minute data } VolValue = Volume else VolValue = Ticks ; VolumeSum1 = Summation( VolValue, Length1 ) ; if VolumeSum1 > 0 then VWMA1 = Summation( Price * VolValue , Length1 ) / VolumeSum1 ; VolumeSum2 = Summation( VolValue, Length2 ) ; if VolumeSum2 > 0 then VWMA2 = Summation( Price * VolValue , Length2 ) / VolumeSum2 ; VP = VWMA2 - Average( Price, Length2 ) ; VPR = VWMA1 / Average( Low, Length1 ) ; VM = Average( VolValue, Length1 ) / Average( VolValue, Length2 ) ; VPCI = VP * VPR * VM ; AvgVPCI = Average( VPCI, VPCIAvgLen ) ; if MACDValue crosses over AvgMACD and ( ( VPCI > AvgVPCI and UseVPCI = 1 ) or UseVPCI <> 1 ) and ( ( ADXValue < ADX_Threshold and UseADX = 1 ) or UseADX <> 1 ) and ( ( OBVValue > AvgOBV and UseOBV = 1 ) or UseOBV <> 1 ) then Buy next bar at market else if MACDValue crosses under AvgMACD and ( ( VPCI < AvgVPCI and UseVPCI = 1 ) or UseVPCI <> 1 ) and ( ( ADXValue < ADX_Threshold and UseADX = 1 ) or UseADX <> 1 ) and ( ( OBVValue < AvgOBV and UseOBV = 1 ) or UseOBV <> 1 ) then SellShort next bar at market ; --Mark Mills TradeStation Securities, Inc. A wholly-owned subsidiary of TradeStation Group, Inc. www.TradeStation.com ===============================> can anyone code this for StockFetcher? |
mystiq 650 posts msg #71047 - Ignore mystiq |
1/29/2009 4:39:42 AM Between Price And Volume by Buff Pelz Dormeier, CMT -------------------------------------------------------------------------------- When securities change hands on a securities auction market, the volume of shares bought always matches the volume sold. When the price rises, the upward movement reflects that demand exceeds supply or buyers are in control. Likewise, when the price falls it implies that supply exceeds demand or that sellers are in control. Over time, these trends of supply and demand form accumulation and distribution patterns. What if there were a way to look deep inside price and volume trends to find out if current prices were supported by volume? This is the objective of the volume price confirmation indicator (VPCI), a methodology that measures the intrinsic relationship between price and volume. VOLUME PRICE CONFIRMATION INDICATOR The VPCI exposes the relationship between the prevailing price trend and volume, as either confirming or contradicting the price trend. This gives an indication of possible impending price movements. In this article I will discuss the derivation and components of the VPCI and explain how to use it. I will also review comprehensive testing of the VPCI and present further applications using the indicator. In exchange markets, price results from an agreement between buyers and sellers despite their different appraisals of the exchanged item's value. One opinion may have legitimate fundamental grounds for evaluation, while the other may be pure nonsense. To the market, however, both are equal. Price represents the convictions, emotions, and volition of investors. It is not a constant, but rather changed and influenced over time by information, opinions, and emotions. Market volume represents the number of shares traded over a given period. It is a measurement of the participation, enthusiasm, and interest in a given security. Think of volume as the force that drives the market. Volume substantiates, energizes, and empowers price. When volume increases, it confirms price direction; when volume decreases, it contradicts price direction. In theory, increases in volume generally precede significant price movements. This tenet of technical analysis, that volume precedes price, has been repeated as a mantra since the days of Charles Dow. Within these two independently derived variables, price and volume, exists an intrinsic relationship. When examined together, price and volume give indications of supply and demand that neither could provide independently. |
tomm1111 202 posts msg #81707 - Ignore tomm1111 modified |
10/24/2009 11:18:01 PM Here is the VPCI and a 5 period moving average. I used the periods (5 and 20 day) listed above. I found 2 other references to the VPCI on the forum. One is incorrect and this one appears to be correct with different periods. I zoomed out to 1 year to show the "V's" described in the article. The indicator won an award in 2007. The link below explains it's use. VPCI PDF Enjoy. |
StockFetcher Forums · General Discussion · Volume Price Confirmation Indicator (VPCI) | << >>Post Follow-up |
Copyright 2022 - Vestyl Software L.L.C.•Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data
Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus