QwtPlotTradingCurve(3)

NAME
QwtPlotTradingCurve - QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time.

SYNOPSIS

#include <qwt_plot_tradingcurve.h>

Inherits QwtPlotSeriesItem, and QwtSeriesStore< QwtOHLCSample >.

  Public Types
enum SymbolStyle { NoSymbol = -1, Bar, CandleStick, UserSymbol = 100 }
Symbol styles.
enum Direction { Increasing, Decreasing }
Direction of a price movement.
enum PaintAttribute { ClipSymbols = 0x01 }
typedef QFlags< PaintAttribute > PaintAttributes
Paint attributes.

  Public Member Functions
QwtPlotTradingCurve (const QString &title=QString())
QwtPlotTradingCurve (const QwtText &title)
virtual ~QwtPlotTradingCurve ()
Destructor.
virtual int rtti () const
void setPaintAttribute (PaintAttribute, bool on=true)
bool testPaintAttribute (PaintAttribute) const
void setSamples (const QVector< QwtOHLCSample > &)
void setSamples (QwtSeriesData< QwtOHLCSample > *)
void setSymbolStyle (SymbolStyle style)
SymbolStyle symbolStyle () const
void setSymbolPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setSymbolPen (const QPen &)
Set the symbol pen.
QPen symbolPen () const
void setSymbolBrush (Direction, const QBrush &)
QBrush symbolBrush (Direction) const
void setSymbolExtent (double)
Set the extent of the symbol.
double symbolExtent () const
void setMinSymbolWidth (double)
double minSymbolWidth () const
void setMaxSymbolWidth (double)
double maxSymbolWidth () const
virtual void drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual QRectF boundingRect () const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const

  Protected Member Functions
void init ()
Initialize internal members.
virtual void drawSymbols (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void drawUserSymbol (QPainter *, SymbolStyle, const QwtOHLCSample &, Qt::Orientation, bool inverted, double symbolWidth) const
Draw a symbol for a symbol style >= UserSymbol.
void drawBar (QPainter *painter, const QwtOHLCSample &, Qt::Orientation, bool inverted, double width) const
Draw a bar.
void drawCandleStick (QPainter *, const QwtOHLCSample &, Qt::Orientation, double width) const
Draw a candle stick.
virtual double scaledSymbolWidth (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const

Detailed Description

QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time. QwtPlotTradingCurve supports candlestick or bar ( OHLC ) charts that are used in the domain of technical analysis.

While the length ( height or width depending on orientation() ) of each symbol depends on the corresponding OHLC sample the size of the other dimension can be controlled using:

•   setSymbolExtent()

•   setSymbolMinWidth()

•   setSymbolMaxWidth()

The extent is a size in scale coordinates, so that the symbol width is increasing when the plot is zoomed in. Minimum/Maximum width is in widget coordinates independent from the zoom level. When setting the minimum and maximum to the same value, the width of the symbol is fixed.

Member Enumeration Documentation

  enum QwtPlotTradingCurve::Direction

Direction of a price movement.

Enumerator

Increasing
    The closing price is higher than the opening price.

Decreasing
    The closing price is lower than the opening price.

  enum QwtPlotTradingCurve::PaintAttribute
Attributes to modify the drawing algorithm.

See also
    setPaintAttribute(), testPaintAttribute()

Enumerator

ClipSymbols
    Check if a symbol is on the plot canvas before painting it.

  enum QwtPlotTradingCurve::SymbolStyle

Symbol styles. The default setting is QwtPlotSeriesItem::CandleStick.

See also
    setSymbolStyle(), symbolStyle()

Enumerator

NoSymbol
    Nothing is displayed.

Bar A line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g. one day or one hour. Tick marks project from each side of the line indicating the opening and closing price.

CandleStick
    The range between opening/closing price are displayed as a filled box. The fill brush depends on the direction of the price movement. The box is connected to the highest/lowest values by lines.

UserSymbol
    SymbolTypes >= UserSymbol are displayed by drawUserSymbol(), that needs to be overloaded and implemented in derived curve classes.

See also
    drawUserSymbol()

Constructor & Destructor Documentation

  QwtPlotTradingCurve::QwtPlotTradingCurve (const QString & title = QString()) [explicit]
Constructor

Parameters
    title Title of the curve

  QwtPlotTradingCurve::QwtPlotTradingCurve (const QwtText & title) [explicit]
Constructor

Parameters
    title Title of the curve

Member Function Documentation

  QRectF QwtPlotTradingCurve::boundingRect () const [virtual]

Returns
    Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

  void QwtPlotTradingCurve::drawBar (QPainter * painter, const QwtOHLCSample & sample, Qt::Orientation orientation, bool inverted, double width) const [protected]

Draw a bar.

Parameters
    painter Qt painter, initialized with pen/brush
    sample Sample, already translated into paint device coordinates
    orientation Vertical or horizontal
    inverted When inverted is false the open tick is painted to the left/top, otherwise it is painted right/bottom. The close tick is painted in the opposite direction of the open tick. painted in the opposite d opposite direction.
    width Width or height of the candle, depending on the orientation

See also
    Bar

  void QwtPlotTradingCurve::drawCandleStick (QPainter * painter, const QwtOHLCSample & sample, Qt::Orientation orientation, double width) const [protected]

Draw a candle stick.

Parameters
    painter Qt painter, initialized with pen/brush
    sample Samples already translated into paint device coordinates
    orientation Vertical or horizontal
    width Width or height of the candle, depending on the orientation

See also
    CandleStick

  void QwtPlotTradingCurve::drawSeries (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect, int from, int to) const [virtual]
Draw an interval of the curve

Parameters
    painter Painter
    xMap Maps x-values into pixel coordinates.
    yMap Maps y-values into pixel coordinates.
    canvasRect Contents rectangle of the canvas
    from Index of the first point to be painted
    to Index of the last point to be painted. If to < 0 the curve will be painted to its last point.

See also
    drawSymbols()

Implements QwtPlotSeriesItem.

  void QwtPlotTradingCurve::drawSymbols (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect, int from, int to) const [protected], [virtual]
Draw symbols

Parameters
    painter Painter
    xMap x map
    yMap y map
    canvasRect Contents rectangle of the canvas
    from Index of the first point to be painted
    to Index of the last point to be painted

See also
    drawSeries()

  void QwtPlotTradingCurve::drawUserSymbol (QPainter * painter, SymbolStyle symbolStyle, const QwtOHLCSample & sample, Qt::Orientation orientation, bool inverted, double symbolWidth) const [protected], [virtual]

Draw a symbol for a symbol style >= UserSymbol. The implementation does nothing and is intended to be overloaded

Parameters
    painter Qt painter, initialized with pen/brush
    symbolStyle Symbol style
    sample Samples already translated into paint device coordinates
    orientation Vertical or horizontal
    inverted True, when the opposite scale ( Qt::Vertical: x, Qt::Horizontal: y ) is increasing in the opposite direction as QPainter coordinates.
    symbolWidth Width of the symbol in paint device coordinates

  QwtGraphic QwtPlotTradingCurve::legendIcon (int index, const QSizeF & size) const [virtual]

Returns
    A rectangle filled with the color of the symbol pen

Parameters
    index Index of the legend entry ( usually there is only one )
    size Icon size

See also
    setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

  double QwtPlotTradingCurve::maxSymbolWidth () const

Returns
    Maximum for the symbol width

See also
    setMaxSymbolWidth(), minSymbolWidth(), symbolExtent()

  double QwtPlotTradingCurve::minSymbolWidth () const

Returns
    Minmum for the symbol width

See also
    setMinSymbolWidth(), maxSymbolWidth(), symbolExtent()

  int QwtPlotTradingCurve::rtti () const [virtual]

Returns
    QwtPlotItem::Rtti_PlotTradingCurve

Reimplemented from QwtPlotItem.

  double QwtPlotTradingCurve::scaledSymbolWidth (const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect) const [protected], [virtual]
Calculate the symbol width in paint coordinates

The width is calculated by scaling the symbol extent into paint device coordinates bounded by the minimum/maximum symbol width.

Parameters
    xMap Maps x-values into pixel coordinates.
    yMap Maps y-values into pixel coordinates.
    canvasRect Contents rectangle of the canvas

Returns
    Symbol width in paint coordinates

See also
    symbolExtent(), minSymbolWidth(), maxSymbolWidth()

  void QwtPlotTradingCurve::setMaxSymbolWidth (double width)
Set a maximum for the symbol width

A value <= 0.0 means an unlimited width

Parameters
    width Width in paint device coordinates

See also
    maxSymbolWidth(), setMinSymbolWidth(), setSymbolExtent()

  void QwtPlotTradingCurve::setMinSymbolWidth (double width)
Set a minimum for the symbol width

Parameters
    width Width in paint device coordinates

See also
    minSymbolWidth(), setMaxSymbolWidth(), setSymbolExtent()

  void QwtPlotTradingCurve::setPaintAttribute (PaintAttribute attribute, bool on = true)
Specify an attribute how to draw the curve

Parameters
    attribute Paint attribute
    on On/Off

See also
    testPaintAttribute()

  void QwtPlotTradingCurve::setSamples (const QVector< QwtOHLCSample > & samples)
Initialize data with an array of samples.

Parameters
    samples Vector of samples

See also
    QwtPlotSeriesItem::setData()

  void QwtPlotTradingCurve::setSamples (QwtSeriesData< QwtOHLCSample > * data)
Assign a series of samples

setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.

Parameters
    data Data

Warning
    The item takes ownership of the data object, deleting it when its not used anymore.

  void QwtPlotTradingCurve::setSymbolBrush (Direction direction, const QBrush & brush)
Set the symbol brush

Parameters
    direction Direction type
    brush Brush used to fill the body of all candlestick symbols with the direction

See also
    symbolBrush(), setSymbolPen()

  void QwtPlotTradingCurve::setSymbolExtent (double extent)

Set the extent of the symbol. The width of the symbol is given in scale coordinates. When painting a symbol the width is scaled into paint device coordinates by scaledSymbolWidth(). The scaled width is bounded by minSymbolWidth(), maxSymbolWidth()

Parameters
    extent Symbol width in scale coordinates

See also
    symbolExtent(), scaledSymbolWidth(), setMinSymbolWidth(), setMaxSymbolWidth()

  void QwtPlotTradingCurve::setSymbolPen (const QColor & color, qreal width = 0.0, Qt::PenStyle style = Qt::SolidLine)
Build and assign the symbol pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters
    color Pen color
    width Pen width
    style Pen style

See also
    pen(), brush()

  void QwtPlotTradingCurve::setSymbolPen (const QPen & pen)

Set the symbol pen. The symbol pen is used for rendering the lines of the bar or candlestick symbols

See also
    symbolPen(), setSymbolBrush()

  void QwtPlotTradingCurve::setSymbolStyle (SymbolStyle style)
Set the symbol style

Parameters
    style Symbol style

See also
    symbolStyle(), setSymbolExtent(), setSymbolPen(), setSymbolBrush()

  QBrush QwtPlotTradingCurve::symbolBrush (Direction direction) const

Parameters
    direction

Returns
    Brush used to fill the body of all candlestick symbols with the direction

See also
    setSymbolPen(), symbolBrush()

  double QwtPlotTradingCurve::symbolExtent () const

Returns
    Extent of a symbol in scale coordinates

See also
    setSymbolExtent(), scaledSymbolWidth(), minSymbolWidth(), maxSymbolWidth()

  QPen QwtPlotTradingCurve::symbolPen () const

Returns
    Symbol pen

See also
    setSymbolPen(), symbolBrush()

  QwtPlotTradingCurve::SymbolStyle QwtPlotTradingCurve::symbolStyle () const

Returns
    Symbol style

See also
    setSymbolStyle(), symbolExtent(), symbolPen(), symbolBrush()

  bool QwtPlotTradingCurve::testPaintAttribute (PaintAttribute attribute) const

Returns
    True, when attribute is enabled

See also
    PaintAttribute, setPaintAttribute()

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.