V30 C02 249tips
V30 C02 249tips
trading help.
On call.
In platform.
Or email.
Or social.
Connect with our award-winning customer service team, many with decades of prior floor trading
experience. Get trading help when you need it. Talk to a TD Ameritrade agent on the phone, chat
on our platforms, or contact us on social media.
Reviewed against 14 other online brokers, TD Ameritrade was highlighted as #1 in Customer Service in the StockBrokers.com 2022 Online Broker Review.
All investing involves risks, including loss of principal. TD Ameritrade, Inc., member FINRA/SIPC, a subsidiary of The Charles Schwab Corporation.
© 2022 Charles Schwab & Co., Inc. All rights reserved.
37 Years in the Making
metastock.com/whats-new
This is neither a solicitation to buy or sell any type of financial instruments, nor intended as investment recommendations. All investment trading involves multiple substantial risks
of monetary loss. Don’t trade with money you can’t afford to lose. Trading is not suitable for everyone. Past performance, whether indicated by actual or hypothetical results or
testimonials are no guarantee of future performance or success. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFITS OR LOSSES
SIMILAR TO THOSE SHOWN. IN FACT, THERE ARE FREQUENTLY SHARP DIFFERENCES BETWEEN HYPOTHETICAL PERFORMANCE RESULTS OR TESTIMONIALS AND THE
ACTUAL RESULTS SUBSEQUENTLY ACHIEVED BY ANY PARTICULAR TRADING PROGRAM. Furthermore, all internal and external computer and software systems are not fail-
safe. Have contingency plans in place for such occasions. MetaStock assumes no responsibility for errors, inaccuracies, or omissions in these materials, nor shall it be liable for any
special, indirect, incidental, or consequential damages, including without limitation losses, lost revenue, or lost profits, that may result from reliance upon the information presented.
Stocks & Commodities V. 30:2 (61-70): Traders’ Tips by Technical Analysis, Inc.
Figure 2: BLOOMBERG, paint bars, keltner bands, and cci. Here is a Figure 3: THINKORSWIM, TMV indicators. By using a combination of chan-
daily bar chart showing RBOB unleaded gas from July 2010 through May 2011. The nels, variable bar colors, and point indicators, the TMV study provides a large
chart includes paint bars determined by ADX and an eight-period simple moving amount of information in a compact space.
average, as well as Keltner bands around a 20-period simple moving average. The
panel below the price chart combines a CCI output as a histogram, with overlaid
rectangles based on the value of the volume oscillator included in the study code, study combines aspects of trend, momentum, volatility, and
but not actually output as part of the study. volume using several well-known and well-loved studies to
give insight into a securities movement without unnecessary
In Figure 2, you can see that many of the green bars on the clutter (no paralysis by analysis!). By using a combination of
chart coinciding with bullish signals for each breakout above channels, variable bar colors, and point indicators, the TMV
the channel are also accompanied by overlaid rectangles sig- study gives a large amount of information while saving valu-
naling that the volume oscillator component of the TMV is able charting real estate (Figure 3).
above its threshold setting, in this case a value of 50. Dur- The code for each study is shown here along with instruc-
ing this period, the CCI rarely went below zero, continually tions for application.
reaching extreme highs over 200. You can see that the first
time a major low in the CCI was realized in May 2011 — co- 1. From our TOS charts, select Studies → Edit studies.
inciding with the red bars below the lower channel band — 2. Select the studies tab in the upper left-hand corner.
began the change in the market to a consolidation mode. 3. Select New in the lower left-hand corner.
Using the CS.NET framework within the STDY<GO> 4. Name the study (for example, “TMV”).
function on the Bloomberg Terminal, C# or Visual Basic 5. Click in the script editor window, remove “plot Data =
code can be written to display the TMV trading template close;” and paste in the following code:
based on Star’s article. In addition to including all parts of
the template in one indicator, we have chosen to overlay the input price = close;
input KeltnerLength = 13;
rectangles on the CCI, since it allows the user to look in one input VolumeFastLength = 1;
place to see two of the components of the TMV. The C# code input VolumeSlowLength = 20;
input ADXLength = 10;
for this indicator is shown at Traders.com. input SMALength = 8;
All Bloomberg code contributions to Traders’ Tips can
also be found in the sample files provided with regular SDK def KeltnerSMA = Average(hlc3, KeltnerLength);
def AvgRange = Average(high - low, KeltnerLength);
updates, and the studies will be included in the Bloomberg def VolumeOsc = (Average(volume, VolumeFastLength) -
global study list. Average(volume, VolumeSlowLength)) / Average(volume,
—Bill Sindel, wsindel@bloomberg.net VolumeSlowLength);
Bloomberg, LP def ADX = reference ADX(length = ADXLength);
www.bloomberg.com/professional def SMA = Average(price, SMALength);
KeltnerHigh.SetDefaultColor(GetColor(4));
F Thinkorswim.com: trend, momentum, volatility, KeltnerMid.SetDefaultColor(GetColor(4));
and volume (TMV) KeltnerLow.SetDefaultColor(GetColor(4));
VolumeSpike.SetDefaultColor(GetColor(1));
This month’s Traders’ Tip showcases the TMV indicator VolumeSpike.SetLineWeight(3);
described by Barbara Star in her article in this issue, “Trade VolumeSpike.SetPaintingStrategy(PaintingStrategy.BOOLEAN_
Breakouts And Retracements With TMV.” This compact POINTS);
Figure 5: TC2000, TMV. A scan of the S&P 500 using the TMV upside scan
returned 81 stocks. Sort columns in the watchlist show where price is above (green
Figure 4: eSIGNAL, TMV INDICATORS checks) and below (red checks) its eight-period SMA. A column for “percent volume
oscillator > 50” marks stocks (in cyan) with unusually high volume, such as URBN
and VMC in this example.
DefineGlobalColor("Up", Color.UPTICK);
DefineGlobalColor("Neutral", Color.GRAY);
DefineGlobalColor("Down", Color.DOWNTICK);
AssignPriceColor( if ADX > ADX[1] and price > SMA then A sample chart is shown in Figure 4.
globalColor("Up") else if ADX > ADX[1] and price < SMA then —Jason Keck
globalColor("Down") else globalColor("Neutral"));
eSignal, an Interactive Data company
800 779-6555, www.eSignal.com
6. Click OK, and you are good to go!
—thinkorswim
A division of TD Ameritrade, Inc.
www.thinkorswim.com
F WEALTH-LAB: trend, momentum, volatility, and Figure 6: WEALTH-LAB, COLOR-CODED PRICE BARS. This sample Wealth-Lab
volume (TMV) 6.3 chart displays the highlighting according to the TMV template using daily data of
Provided here is the C# code for Wealth-Lab 6 that plots the crude oil futures. The bottom pane shows the volume oscillator (OscV) presented in
indicators and performs the color highlighting described by Barbara Star’s article in this issue.
Barbara Star in her article in this issue, “Trade Breakouts And
Retracements With TMV.” Count; bar++)
The Wealth-Lab strategy is available for instant download {
bool adxPriceRising = adx[bar] > adx[bar-1] &&
from Wealth-Lab’s Open Strategy dialog. Keep in mind that Close[bar] > sma[bar];
the breakout and retracement opportunities suggested by the bool adxPriceFalling = adx[bar] > adx[bar-1] &&
template are to be found in trending markets. Close[bar] < sma[bar];
A sample chart implementation is shown in Figure 6. if( adxPriceRising )
SetBarColor( bar, Color.LightGreen );
C# code: else
if( adxPriceFalling )
using System; SetBarColor( bar, Color.Red );
using System.Collections.Generic; }
using System.Text; }
using System.Drawing; }
using WealthLab; }
using WealthLab.Indicators;
—Eugene
namespace WealthLab.Strategies
{
www.wealth-lab.com
public class TMV_1202Star : WealthScript
{
protected override void Execute()
{
DataSeries K1 = KeltnerLower.Series( Bars, 13, 13 );
DataSeries K2 = KeltnerUpper.Series( Bars, 13, 13 );
F AMIBROKER: trend, momentum, volatility, and
ADX adx = ADX.Series( Bars,10 ); volume (TMV)
SMA sma = SMA.Series( Close,8 ); In “Trade Breakouts And Retracements With TMV” in this
DataSeries OscV =
(SMA.Series( Volume,20 ) - Volume)/SMA.Series( issue, author Barbara Star presents a simple trading template
Volume,20 ) * 100; consisting of Keltner channels, CCI, and color-coded price
OscV.Description = «Volume Oscillator»; bars.
DataSeries cci = CCI.Series( Bars, 13 );
A ready-to-use formula based on the article is presented
ChartPane cPane = CreatePane( 30, true, true ); here. To use it, enter the formula in the AFL Editor and then
ChartPane oPane = CreatePane( 30, false, true ); press the Insert Indicator button to see the chart. Right-click
SetBarColors( Color.DarkGray,Color.DarkGray );
PlotSeries( PricePane, SMA.Series( Close,13 ), Color. on the chart and select “parameters” to adjust the smoothing
Red, LineStyle.Solid, 1); period.
PlotSeriesFillBand( PricePane, K1, K2, Color.Red, Color.
Empty, LineStyle.Solid, 1); AmiBroker code listing
PlotSeriesOscillator( oPane, OscV, 50, -50, Color.Blue,
Color.Red, Periods = Param("Periods", 13, 2, 300, 1 );
Color.Empty, LineStyle.Histogram, 2);
PlotSeries( oPane, OscV, Color.Black, LineStyle.Solid, 2); P = ( H + L + C )/3;
PlotSeries( cPane, cci, Color.Purple, LineStyle.Histo-
gram, 3 ); CenterLine = MA( P, Periods );
DrawHorzLine( cPane, -100, Color.Red, LineStyle. KTop = CenterLine + MA( H - L, Periods );
Dashed, 1 ); KBot = CenterLine - MA( H - L, Periods );
DrawHorzLine( cPane, 100, Color.Blue, LineStyle.
Dashed, 1 ); Plot( CenterLine, "MA" + _PARAM_VALUES(), colorRed );
Plot( KTop, "KBTop" + _PARAM_VALUES(), colorRed );
for(int bar = GetTradingLoopStartBar(30); bar < Bars. Plot( KBot, "KBBot" + _PARAM_VALUES(), colorRed );
Keltner channel upper line: !TRADE BREAKOUTS AND RETRACEMENTS WITH TMV
Add2( MovAvg( Divide( Add3( High, Low, Close), 3), 13), !Author: Barbara Star,PhD, TASC February 2012
MovAvg(Sub( High, Low), 13) ) !Coded by: Richard Denning 12/9/2011
!www.TradersEdgeSystems.com
Keltner channel lower line:
Sub( MovAvg( Divide( Add3( High, Low, Close), 3), 13), MovAvg(Sub( !CODING ABREVIATIONS:
C is [close].
High, Low), 13) )
C1 is valresult(C,1).
O is [open].
ADX price rising H is [high].
And2( A>B( Momentum( ADX(High, Low, Close, 10, 10), 1), 0 ), L is [low].
A>B( Close, MovAvg(Close,8) ) ) H1 is valresult(H,1).
L1 is valresult(L,1).
ADX price falling V is [volume].
And2( A>B( Momentum( ADX(High, Low, Close, 10, 10), 1), 0 ),
A<B( Close, MovAvg(Close,8) ) ) !KELTNER CHANNEL
!INPUT:
'-----------------------------------------------------
'VOLUME OSCILLATOR
Function VOLUME_OSC(volLen1,volLen2,pctChgLevel)
Dim volAvg1 As BarArray
Dim volAvg2 As BarArray
Dim pctChgV As BarArray
volAvg1 = Average(V,volLen1)
volAvg2 = Average(V,volLen2) Figure 11: NINJATRADER, trend, momentum, volatility, and volume
If volAvg2<>0 Then pctChgV = (volAvg1/volAvg2-1)*100 (TMV). This sample NinjaTrader chart shows the TMV indicator applied to a 15-minute
VOLUME_OSC = IIF(Abs(pctChgV)>pctChgLevel,1,0) chart of emini S&P (ES 03-12).
End Function
'-----------------------------------------------------
'VOLUME OSCILLATOR INDICATOR And Retracements With TMV” by Barbara Star in this issue,
Sub VOLUME_OSC_IND(volLen1,volLen2,pctChgLevel) has been implemented as an indicator available for download
plot1(VOLUME_OSC(volLen1,volLen2,pctChgLevel))
End Sub at www.ninjatrader.com/SC/February2012SC.zip.
'----------------------------------------------------- Once you have downloaded it, from within the NinjaTrad-
'ADX INDICATOR (CUSTOM) er Control Center window, select the menu File → Utilities →
sub theADX(adxLen)
plot1(adx(adxLen,0)) Import NinjaScript and select the downloaded file. This file is
Plot2(24) for NinjaTrader version 7 or greater.
End Sub You can review the indicator source code by selecting the
'-----------------------------------------------------
'KELTNER BANDS menu Tools → Edit NinjaScript → Indicator from within the
Sub KELTNER_BANDS(kLen) NinjaTrader Control Center window and selecting TMV.
Dim typ As BarArray NinjaScript uses compiled DLLs that run native, not in-
Dim avgRange As BarArray
Dim midKeltner As BarArray terpreted, which provides you with the highest performance
Dim upperKeltner As BarArray possible.
Dim lowerKeltner As BarArray
typ = (H+L+C)/3
A sample chart implementing the strategy is shown in Fig-
avgRange = Average(H-L,kLen) ure 11.
midKeltner = Average(typ,kLen) —Raymond Deux & Ryan Millard
upperKeltner = midKeltner + avgRange NinjaTrader, LLC
lowerKeltner = midKeltner - avgRange www.ninjatrader.com
plot1(upperKeltner)
plot2(lowerKeltner)
End Sub
'----------------------------------------------------- F TRADECISION: trend, momentum,
'TMV COLOR BAR INDICATOR
Sub TMV_COLOR_BAR_IND(adxLen,trendLen)
volatility, and volume (TMV)
Dim myADX As BarArray The article by Barbara Star in this issue, “Trade Breakouts
myADX = ADX(adxLen,0) And Retracements With TMV,” demonstrates how to combine
If myADX > myADX[1] And C > Average(C,trendLen) Then
BarColor(0) = vbGreen
trend, momentum, volatility, and volume indicators to cut
End If through the market noise. Since Tradecision does not sup-
If myADX > myADX[1] And C < Average(C,trendLen) Then port bar highlighting functionality, we developed a trading
BarColor(0) = vbRed
End If strategy to visualize the TMV technique that includes ADX
End Sub and moving average movements.
'----------------------------------------------------- Using Tradecision’s Indicator Builder, create the follow-
ing indicators:
—Richard Denning
info@TradersEdgeSystems.com KELTNER indicator:
for TradersStudio input
Length:"Number of Periods:", 13,2,500;
end_input
var
Keltner:=0;
end_var
F NINJATRADER: trend, momentum, volatility, and
Keltner:= Mov((H+L+C)/3,Length,S);
volume (TMV)
return Keltner;
The TMV trading template, as presented in “Trade Breakouts
Entry Short
return ADX(10)>ADX(10)\1\ AND C<Mov(C,8,S);
Exit Short
return C<=Mov(C,8,S);
F TRADE NAVIGATOR: TRADE BREAKOUTS AND
To import the strategy into Tradecision, visit the area “Trad- RETRACEMENTS
ers’ Tips from TASC Magazine” at www.tradecision.com/ Trade Navigator offers everything needed for recreating
support/tasc_tips/tasc_traders_tips.htm or copy the code from the indicators discussed by author Barbara Star in “Trade
the Stocks & Commodities website at www.Traders.com. Breakouts And Retracements With TMV” in this issue, and
A sample chart is shown in Figure 12. some of the indicators and highlight bars come standard with
—Yana Timofeeva, Alyuda Research Trade Navigator.
510 931-7808, sales@tradecision.com You can recreate the custom indicators and highlight bars
www.tradecision.com in Trade Navigator using the following TradeSense code.
Figure 14: VT TRADER, ADX, CCI, and Keltner BANDS. Here is the TMV
Figure 13: TRADE NAVIGATOR, TMV template attached to a EUR/USD one-hour candlestick chart.
0));
DIDif:= Abs(PlusDI-MinusDI);
DISum:= PlusDI + MinusDI;
AdxPriceRising:= _ADX>ref(_ADX,-1) AND C>Mov(C,8,S); FIGURE 15: TRADESIGNALONLINE.COM, KELTNER CHANNEL AND VOLUME OS-
AdxPriceFalling:= _ADX>ref(_ADX,-1) AND C<Mov(C,8,S); CILLATOR. Here is an example chart from Tradesignal Online displaying the eKeltner
channel and volume oscillator indicator on a daily chart of the S&P 500 index.
To attach the trading system to a chart (Figure 14), select
the “Add trading system” option from the chart’s contextual Inputs:
menu, select “TASC - 02/2012 - TMV Analytic Template” Period( 20 ),
Factor_ATR( 2.5 );
from the trading systems list, and click the [Add] button.
To learn more about VT Trader, visit www.vtsystems. Vars:
com. midLine, atrValue, upperLine, lowerLine;
Risk disclaimer: Forex trading involves a substantial risk of loss
midLine = XAverage( TypicalPrice, 20 );
and may not be suitable for all investors. atrValue = Average( TrueRAnge, 20 );
—Chris Skidmore upperLine = midLine + atrValue * Factor_ATR;
Visual Trading Systems, LLC lowerLine = midLine - atrValue * Factor_ATR;
212 871-1747, info@vtsystems.com
www.vtsystems.com DrawLine( midLine, "Mid Line", StyleDash, 1, Black );
DrawLine( upperLine, "Upper Line", StyleSolid, 1, Black );
DrawLine( lowerLine, "Lower Line", StyleSolid, 1, Black );
ments With TMV” by Barbara Star in this issue can be used Meta:
with our online charting tool at www.tradesignalonline.com. Synopsis("This Keltner channel variation was derived from
Barbara Stars article 'Trading with TMV' in the 02/2012 issue of
Check the Infopedia section for our Lexicon. There you will Technical Analysis of Stocks & Commodities"),
see the indicator and functions that you can make available Weblink("http://www.tradesignalonline.com/lexicon/view.
for your personal account. Click on an indicator and select aspx?id=Trade%20Breakouts%20and%20Retracements%20
with%20TMV"),
“Open script.” The indicator will immediately be available Subchart( False );
for you to apply on any chart. (See Figure 15.)
—Henning Blumenthal Inputs:
Tradesignal GmbH Period( 20 );
support@tradesignalonline.com
Vars:
www.TradesignalOnline.com, www.Tradesignal.com midLine, atrValue, upperLine, lowerLine;
TradeSignalOnline source code for the “eKeltner Channel” midLine = AverageFC( TypicalPrice, 20 );
indicator: atrValue = Average( Range, 20 );
upperLine = midLine + atrValue;
lowerLine = midLine - atrValue;
Meta:
Synopsis("This original Keltner channel was derived from
DrawLine( midLine, "Mid Line", StyleDash, 1, Black );
Barbara Stars article 'Trading with TMV' in the 02/2012 issue of
DrawLine( upperLine, "Upper Line", StyleSolid, 1, Black );
Technical Analysis of Stocks & Commodities"),
DrawLine( lowerLine, "Lower Line", StyleSolid, 1, Black );
Weblink("http://www.tradesignalonline.com/lexicon/view.
aspx?id=Trade%20Breakouts%20and%20Retracements%20
// *** Copyright tradesignal GmbH ***
with%20TMV"),
// *** www.tradesignal.com ***
Subchart( False );
Source code for the "Volume Oscillator"-indicator Source code for the "ADX Color Bars"-indicator
Meta: Meta:
Synopsis("This Indicator was derived from Barbara Stars ar- Synopsis("This indicator was derived from Barbara Stars article
ticle 'Trading with TMV' in the 02/2012 issue of Technical Analysis 'Trading with TMV' in the 02/2012 issue of Technical Analysis of
of Stocks & Commodities"), Stocks & Commodities"),
Weblink("http://www.tradesignalonline.com/lexicon/view. Weblink("http://www.tradesignalonline.com/lexicon/view.
aspx?id=Trade%20Breakouts%20and%20Retracements%20 aspx?id=Trade%20Breakouts%20and%20Retracements%20
with%20TMV"), with%20TMV"),
Subchart( True ); Subchart( False );
Inputs: Inputs:
Fast_Period( 1 , 1 ), ADX_Period( 10 , 1 ),
Slow_Period( 20 , 1 ), SMA_Period( 8 , 1 ),
Peak_Level( 10 , 1 ); Color_Bullish( DarkGreen ),
Color_Bearish( Red ),
Color_Neutral( White );
Vars:
volValue, fastAvgValue, slowAVGValue; Vars:
longCond, shortCond, barColor, adxValue, smaValue;
fastAvgValue = AverageFC( Volume, Fast_Period );
slowAVGValue = AverageFC( Volume, Slow_Period ); adxValue = ADX( ADX_Period );
smaValue = Average( Close, SMA_Period );
volValue = ( ( fastAvgValue - slowAVGValue ) / ( fastAvgValue +
slowAVGValue ) ) * 100; longCond = adxValue > adxValue[1] And Close > smaValue;
shortCond = adxValue < adxValue[1] And Close < smaValue;
If volValue > Peak_Level Then
DrawForest( 0, volValue, "Zero", "Vol OSc", Thick, Black ); barColor = Color_Neutral;
ninjatrader.com
How much interest is
your broker paying you?
Interactive Brokers
pays up to 3.83% on idle cash
in your brokerage account 1
Interactive Brokers
2
3.83%
E-Trade 0.01%
Fidelity 1.94%
Schwab 0.45%
TD Ameritrade 0.35%
ibkr.com/moreinterest
Member NYSE, FINRA, SIPC. Supporting documentation for any claims and statistical information will be provided upon request. Competitor rates and offers
subject to change without notice. Services vary by firm. [1] Credit interest rates as of 01/04/2023. [2] Rate shown applies to IBKR Pro clients only. USD credit
interest is paid at the stated rate on balances over USD 10,000 in securities accounts with NAV exceeding USD 100,000. Accounts with less than 100,000
NAV will receive USD credit interest at rates proportional to the size of the account. For more information, see ibkr.com/interestpaid
01-IB23-1592CH1591
subscribe or renew today!
Every Stocks & Commodities subscription
(regular and digital) includes:
• Full access to our Digital Edition
The complete magazine as a PDF you can download.
• Full access to our Digital Archives 8999
1 year.................
$
That’s 35 years’ worth of content!
2 years............ 149
• Complete access to WorkingMoney.com $ 99
The information you need to invest smartly and successfully.
3 years............ 199
• Access to Traders.com Advantage $ 99
Insights, tips and techniques that can help you trade smarter.
5 years..........
$
29999
That’s around $5 a month!