14 #ifndef _AESubchartInt_h_ 15 #define _AESubchartInt_h_ 18 #include "TSCIncludes.h" 20 #include "TSCPaneHeader.h" 21 #include "TSCPriceAxis.h" 22 #include "TSCPlotArea.h" 24 #include "TSCPropertyMap.h" 39 class pane_imp :
public tsa::object,
public chart_property_map {
40 friend class cm_pane_handle;
42 color_id m_YAxisTextColor_ID;
43 color_id m_XAxisTextColor_ID;
44 color_id m_PaneBackgroundColor_ID;
45 double m_dExtraTopBottomMarginPercent;
46 double m_dPaneMaxValue;
47 double m_dPaneMinValue;
56 bool m_bPaintXAxisText;
57 double GetPaneMin(
void)
const;
58 double GetPaneMax(
void)
const;
59 void UpdatePaneMax(
double _value);
60 void UpdatePaneMin(
double _value);
65 chart_maker* m_chart_maker_ptr;
66 chart_maker* GetChartMaker(
void)
const {
return m_chart_maker_ptr; }
67 std::vector<plot_imp_base*> m_Plots;
69 struct HorizontalGridLine {
74 std::vector<HorizontalGridLine> m_HorizontalGridLines;
75 void AddHLine(
double value,
const color_id&,
size_t width);
87 std::vector<TrendLine> m_TrendLines;
90 double _endPrice,
const color&
color,
int weight
94 PaneHeaderWindow m_HeaderArea;
95 PlotWindow m_PlotWindow;
96 Window m_PlotAndAxisWindow;
97 Window m_XAxisTextWindow;
98 TimeAxisMan* m_pTimeAxisMan;
102 bool m_bAutoCalibrateYAxis;
103 bool m_bAutoScaleLines;
106 double m_dValueRange;
107 char m_axisFormat[16];
109 bool m_bPaintingAllowed;
111 PlotWindow* GetPlotWindow(
void) {
return &m_PlotWindow; }
112 int BarIdxToXPixel(
size_t barIdx)
const;
114 int ValueToYPixel(
double _value)
const;
116 void PaintHorizontalGridLineAndYAxisText();
117 void PaintXAxisText(
void);
119 void SetAreaFillYs(plot_imp_base* pscg);
120 void PaintAreaOfLine(FillArea& sca, LineXYs& lxy);
121 void DefineYAxisItems();
122 void AutodetectRange();
124 pane_imp(color_manager*,
size_t nHeight, TimeAxisMan*);
127 void RememberHeight(
size_t _h) { m_iTempHeight = (int)_h; }
128 void CalculateAreaCoordinates(
void);
132 void AddRightHeaderTimespanInfo(
void);
134 void AdjustLowTo(
double _low);
135 bool AddToHeader(
const char* pText,
unsigned uOptions,
long plotID);
136 void SetAxisFormat(
char* sFormat);
137 int AddAxisItem(
double dValue);
138 void AddAxisItems(
int nItems,
double* pdValues);
139 void SetAxisRange(
double dLoLimit,
double dHiLimit,
double dStep,
unsigned int uOptions);
141 void SetHorzLineColor(
double dAxisValue,
color_id rgbHorzLine);
142 void AddLineAreas(
int idGraph,
double iLoLimit,
double iHighLimit,
color_id rgbArea);
145 void add_ohlc_plot(
const chart_property_map& );
146 void add_jump_line_plot(
const chart_property_map& );
147 void add_bar_plot(
const chart_property_map& );
148 void add_area_plot(
const chart_property_map& );
149 void add_line_plot(
const chart_property_map& );
150 void add_multi_marker_plot(
const chart_property_map& );
151 void add_orders_plot(
const chart_property_map& );
152 void add_transact_plot(
const chart_property_map& );
167 void DrawXYAxis(
void);
168 void PaintHeaderOutline(
void);
169 void PaintHeader(
void);
170 void PaintVerticalLinesAndBG(
void);
171 void CalculateValueRange(
void);
172 void PaintPlots(
void);
173 void PaintTrendLines(
void);
175 void DefineData(
const tsa::mem_table&,
size_t _startIdx,
size_t _endIdx);
176 void GetTransactionsForInterval(
const tsa::date_time&, std::vector<tsa::transaction>&)
const;
178 color GetNextAutoColor(
void)
const;
Namespace for the 'Trading System API' library.
Definition: original1.TSA3Core.cpp:20
***** TRENDLINE *****
Definition: TSCPane.h:77
Parent class for many library classes.
Definition: TSATypeDef.h:462
x
Definition: TSCColor.h:23
Represents a color for use in graphics operations.
Definition: TSATypeDef.h:1041
Class representing a gregorian-date and time-of-day combination. The time component has microsecond r...
Definition: TSATime.h:428
Class mem_table represents a memory based table. mem_table objects can be used in strategies both for...
Definition: TSAMemTable.h:48