ATAS
Loading...
Searching...
No Matches
ATAS.Strategies.Chart.ChartStrategy Class Reference

Represents an abstract class for a chart strategy that extends the functionality of an Indicator and implements the IChartStrategy and ILoggerSource interfaces. More...

Inheritance diagram for ATAS.Strategies.Chart.ChartStrategy:
[legend]
Collaboration diagram for ATAS.Strategies.Chart.ChartStrategy:
[legend]

Public Member Functions

void Start ()
 
void Suspend ()
 
void Stop ()
 
void StopWithNotification (string message)
 Stops the strategy with a notification message.
Parameters
messageThe message to be displayed as a notification.



 
Task StartAsync ()
 Starts the strategy, allowing it to execute its trading logic.
 
Task SuspendAsync ()
 
Task StopAsync ()
 Stops the strategy, terminating its execution and releasing any resources.
 
async Task StopWithNotificationAsync (string message)
 
async Task OpenOrderAsync (Order order)
 Opens an order for the strategy asynchronously.
Parameters
orderThe order to be opened.

 
async void OpenOrder (Order order)
 Opens an order for the strategy.
Parameters
orderThe order to be opened.

 
async Task ModifyOrderAsync (Order order, Order newOrder)
 Modifies an existing order for the strategy asynchronously.
Parameters
orderThe order to be modified.
newOrderThe new order with updated parameters.

 
async void ModifyOrder (Order order, Order newOrder)
 Modifies an existing order for the strategy.
Parameters
orderThe order to be modified.
newOrderThe new order with updated parameters.

 
async Task CancelOrderAsync (Order order)
 Cancels an existing order for the strategy asynchronously.
Parameters
orderThe order to be canceled.

 
async void CancelOrder (Order order)
 Cancels an existing order for the strategy.
Parameters
orderThe order to be canceled.

 
- Public Member Functions inherited from ATAS.Indicators.Indicator
virtual void RefreshData ()
 Refreshes the data of the indicator. Override this method to update the indicator's data when necessary.
 
- Public Member Functions inherited from ATAS.Indicators.ExtendedIndicator
void Draw (RenderContext context, DrawingLayouts layout)
 
override void Dispose ()
 
void ApplyDefaultColors ()
 Applies default colors to the drawing elements.
 
void SubscribeToTimer (TimeSpan period, Action callback)
 Registers the callback and periodically calls it with specified period.
Parameters
periodA period of market data time used to repeatedly invoke the callback.
callbackA method that is called each time a specified period of market data time passes.

 
void UnsubscribeFromTimer (TimeSpan period, Action callback)
 Unregister the callback from periodic invocations.
Parameters
periodSubscribed period of invocations.
callbackA method to be unregistered.

 
- Public Member Functions inherited from ATAS.Indicators.BaseIndicator
virtual void Dispose ()
 
override string ToString ()
 Converts the current instance of the indicator to its string representation.
 
- Public Member Functions inherited from ATAS.Indicators.ChartObject
virtual bool ProcessMouseClick (RenderControlMouseEventArgs e)
 Processes a mouse click event on the chart object.
 
virtual bool ProcessMouseWheel (int delta)
 Processes a mouse wheel event on the chart object.
 
virtual bool ProcessMouseDown (RenderControlMouseEventArgs e)
 Processes a mouse down event on the chart object.
 
virtual bool ProcessMouseUp (RenderControlMouseEventArgs e)
 Processes a mouse up event on the chart object.
 
virtual bool ProcessMouseMove (RenderControlMouseEventArgs e)
 Processes a mouse move event on the chart object.
 
virtual bool ProcessMouseDoubleClick (RenderControlMouseEventArgs e)
 Processes a mouse double click event on the chart object.
 
virtual StdCursor GetCursor (RenderControlMouseEventArgs e)
 Gets the cursor to display when the mouse is over the chart object.
 
virtual bool ProcessKeyDown (CrossKeyEventArgs e)
 Processes a key down event on the chart object.
 
virtual bool ProcessKeyUp (CrossKeyEventArgs e)
 Processes a key up event on the chart object.
 
void SubscribeToTimer (TimeSpan period, Action callback)
 Registers the callback and periodically calls it with specified period.
 
void UnsubscribeFromTimer (TimeSpan period, Action callback)
 Unregister the callback from periodic invocations.
 
void StopWithNotification (string message)
 Stops the strategy with a notification message.
 
void OpenOrder (Order order)
 Opens an order for the strategy.
 
void ModifyOrder (Order order, Order newOrder)
 Modifies an existing order for the strategy.
 
void CancelOrder (Order order)
 Cancels an existing order for the strategy.
 
Task OpenOrderAsync (Order order)
 Opens an order for the strategy asynchronously.
 
Task ModifyOrderAsync (Order order, Order newOrder)
 Modifies an existing order for the strategy asynchronously.
 
Task CancelOrderAsync (Order order)
 Cancels an existing order for the strategy asynchronously.
 
Task StartAsync ()
 Starts the strategy, allowing it to execute its trading logic.
 
Task StopAsync ()
 Stops the strategy, terminating its execution and releasing any resources.
 

Protected Member Functions

 ChartStrategy (bool useCandles=false)
 Protected constructor for the ChartStrategy class.
 
void RaiseShowNotification (string message, string title=null, LoggingLevel level=LoggingLevel.Info)
 Raises a notification message with the specified message , title (optional), and logging level level . If the title is not provided, the name of the strategy is used as the title. Depending on the logging level, the message is logged using the corresponding logging method (Info, Warning, or Error). Finally, the ShowNotification event is raised to notify subscribers about the notification.
 
bool SetProperty< TValue > (ref TValue storage, TValue newValue, string propertyName, Action< TValue, TValue > onChanged=null)
 Sets the value of a property propertyName to newValue . If the new value is different from the current value, the property is updated and a PropertyChanged event is raised. Additionally, if an onChanged action is provided, it will be invoked with the old and new values after the property has been updated. Returns true if the property was updated, false otherwise.
 
decimal ShrinkPrice (decimal price)
 Rounds the given price price to the nearest tick size of the security and returns the result.
 
override void OnContainerChanged (IIndicatorContainer container)
 This method is called when the value of the Container property changes.
Parameters
containerThe new value of the IIndicatorContainer that the indicator is attached to.

 
override void OnDataProviderChanged (IIndicatorDataProvider oldDataProvider, IIndicatorDataProvider newDataProvider)
 This method is called when the value of the DataProvider property changes.
Parameters
oldDataProviderThe old IIndicatorDataProvider value.
newDataProviderThe new IIndicatorDataProvider value.

 
override void OnBestBidAskChanged (MarketDataArg depth)
 Handles changes in the best bid or ask prices in the market depth represented by a MarketDataArg object.
Parameters
depthThe MarketDataArg representing the market depth data.

 
override void OnNewMyTrade (MyTrade myTrade)
 Called when a new trade executed by the indicator's own strategy is received.
Parameters
myTradeThe new trade executed by the indicator's own strategy.

 
virtual void OnStarted ()
 Method called when the strategy is started.
 
virtual void OnSuspended ()
 Method called when the strategy is suspended.
 
virtual void OnStopping ()
 Method called when the strategy is stopping.
 
virtual void OnStopped ()
 Method called when the strategy is stopped.
 
virtual void OnCurrentPositionChanged ()
 Method called when the volume of the current position changes.
 
virtual bool CanProcess (int bar)
 Determines if the strategy can process data for the specified bar.
 
- Protected Member Functions inherited from ATAS.Indicators.Indicator
 Indicator (bool useCandles=false)
 
bool IsNewSession (int bar)
 Function returns new session flag.
 
bool IsNewWeek (int bar)
 Function returns new week flag.
 
bool IsNewMonth (int bar)
 Function returns new month flag.
 
DrawingText AddText (string tag, string text, bool isAbovePrice, int bar, decimal price, Color textColor, Color outlineColor, Color fillColor, float fontSize, DrawingText.TextAlign align, bool autoSize=false)
 Adds a drawing text element to the chart at the specified position.
 
DrawingText AddText (string tag, string text, bool isAbovePrice, int bar, decimal price, Color textColor, Color fillColor, float fontSize, DrawingText.TextAlign align, bool autoSize=false)
 Adds a drawing text element to the chart at the specified position.
 
void AddAlert (string soundFile, string message)
 Adds an alert with the specified sound file and message to the chart.
 
void AddAlert (string soundFile, string instrument, string message, CrossColor background, CrossColor foreground)
 
void DoActionInGuiThread (Action action)
 Executes the specified action on the GUI thread.
 
IEnumerable< MarketDataArgGetMarketDepthSnapshot ()
 
DrawingText AddText (string tag, string text, bool isAbovePrice, int bar, int price, int yOffset, int xOffset, Color textcolor, Color outlinecolor, Color fillcolor, float fontSize, DrawingText.TextAlign align, bool autoSize=false)
 
override void OnApplyDefaultColors ()
 Invoked to apply default colors to the drawing elements.This method can be overridden in derived classes to customize or set default color values for the drawing elements. When this method is called, it is an opportunity for the derived class to apply its own default color scheme to the drawing elements used in the specific implementation.
 
- Protected Member Functions inherited from ATAS.Indicators.ExtendedIndicator
 ExtendedIndicator (bool useCandles=false)
 
virtual void OnContainerChanged (IIndicatorContainer container)
 This method is called when the value of the Container property changes.
 
virtual void OnDataProviderChanged (IIndicatorDataProvider oldDataProvider, IIndicatorDataProvider newDataProvider)
 This method is called when the value of the DataProvider property changes.
 
virtual void OnPortfolioChanged (Portfolio portfolio)
 This method is called when the value of the Portfolio changes.
 
virtual void OnPositionChanged (Position position)
 This method is called when the value of the Position changes.
 
virtual void OnNewOrder (Order order)
 This method is called when a new order is received.
 
virtual void OnOrderChanged (Order order)
 Called when an existing order is modified (changed).
 
virtual void OnNewMyTrade (MyTrade myTrade)
 Called when a new trade executed by the indicator's own strategy is received.
 
virtual void OnOrderRegisterFailed (Order order, string message)
 Called when an attempt to register (place) a new order fails.
 
virtual void OnOrderCancelFailed (Order order, string message)
 Called when an attempt to cancel an existing order fails.
 
virtual void OnOrderModifyFailed (Order order, Order newOrder, string error)
 Called when an attempt to modify an existing order fails.
 
virtual void OnRender (RenderContext context, DrawingLayouts layout)
 Override this method for implementing your own data rendering logic.
 
void SubscribeToDrawingEvents (DrawingLayouts flags)
 Method for specifying the list of layouts in which rendering will be performed.
 
void RedrawChart (RedrawArg? redrawArg=null)
 Call to redraw chart.
 
virtual void AddAlert (string soundFile, string instrument, string message, CrossColor background, CrossColor foreground, DateTime time)
 Adds an alert for a specific instrument with custom properties.
 
DrawingText AddText (string tag, string text, bool isAbovePrice, int bar, decimal price, int yOffset, int xOffset, Color textColor, Color outlineColor, Color fillColor, float fontSize, DrawingText.TextAlign align, bool autoSize=false)
 Adds a drawing text element to the chart at the specified position.
 
override void RecalculateValues ()
 Recalculate the indicator values on each bar.
 
IndicatorCandle GetCandle (int bar)
 Gets the IndicatorCandle object at the specified bar index.
 
override void Calculate (int bar, decimal value)
 Performs the calculation for the indicator at the specified bar and value.
Parameters
barThe bar number for which the calculation is performed.
valueThe input value from the data series at the specified bar.

 
virtual void OnNewTrades (IEnumerable< MarketDataArg > trades)
 Handles a collection of new trade data represented by MarketDataArg objects.
 
virtual void OnNewTrade (MarketDataArg trade)
 Handles an individual trade represented by a MarketDataArg object.
 
virtual void OnBestBidAskChanged (MarketDataArg depth)
 Handles changes in the best bid or ask prices in the market depth represented by a MarketDataArg object.
 
virtual void MarketDepthsChanged (IEnumerable< MarketDataArg > depths)
 Handles changes in multiple market depths represented by an IEnumerable<MarketDataArg>.
 
virtual void MarketDepthChanged (MarketDataArg depth)
 Handles changes in a single market depth represented by a MarketDataArg object.
 
virtual void OnCumulativeTrade (CumulativeTrade trade)
 Handles a cumulative trade event represented by a CumulativeTrade object.
 
virtual void OnUpdateCumulativeTrade (CumulativeTrade trade)
 Handles an update event for a cumulative trade represented by a CumulativeTrade object.
 
virtual void OnCumulativeTradesResponse (CumulativeTradesRequest request, IEnumerable< CumulativeTrade > cumulativeTrades)
 Called when a response for a cumulative trades request is received.
 
void RequestForCumulativeTrades (CumulativeTradesRequest request)
 Sends a request for cumulative trades data to the online data provider.
 
virtual void OnFixedProfilesResponse (IndicatorCandle fixedProfile, FixedProfilePeriods period)
 
virtual void OnFixedProfilesResponse (IndicatorCandle fixedProfileScaled, IndicatorCandle fixedProfileOriginScale, FixedProfilePeriods period)
 This method is called when the online data provider responds with fixed profile data. Override this method in derived classes to handle the received fixed profile data.
 
void GetFixedProfile (FixedProfileRequest request)
 Requests fixed profile data from the online data provider.
 
async Task< FixedProfileResponse?> RequestFixedProfileAsync (FixedProfileRequest request)
 Asynchronously requests a fixed market profile parameterized with FixedProfileRequest.
 
Task SubscribeMarketByOrderData ()
 Subscribes to the market by order data.
 
ITradesCache GetTradesCache (TimeSpan period)
 Returns a trades cache.
 
IMarketByOrdersCache GetMarketByOrdersCache (TimeSpan period)
 Returns a market by order data cache.
 
IMarketByOrdersWithTradesCache GetMarketByOrdersWithTradesCache (TimeSpan period)
 Returns a market by order data and trades cache.
 
virtual void OnMarketByOrdersChanged (IEnumerable< MarketByOrder > values)
 Handles a collection of market by order data represented by MarketByOrder objects.
 
virtual void OnApplyDefaultColors ()
 Invoked to apply default colors to the drawing elements.
 
- Protected Member Functions inherited from ATAS.Indicators.BaseIndicator
 BaseIndicator (bool useCandles=false)
 
virtual void RecalculateValues ()
 Recalculate the indicator values on each bar.
 
virtual void OnInitialize ()
 The method is executed before the first calculation.
 
virtual void OnRecalculate ()
 The method is executed before a new calculation.
 
virtual void OnFinishRecalculate ()
 The method is executed after the end of the calculation.
 
virtual void Calculate (int bar, decimal value)
 Performs the calculation for the indicator at the specified bar and value.
 
abstract void OnCalculate (int bar, decimal value)
 The main indicator calculation method is called for each bar on the history, then it is called on each tick.
 
void Add (Indicator indicator)
 Adds an indicator to the list of used indicators by this indicator.
 
void Clear ()
 Clear all data series.
 
virtual void OnSourceChanged ()
 This method is called when the SourceDataSeries property is changed.
 
void RaisePropertyChanged (string propertyName)
 Raises the PropertyChanged event for the specified property name.
 
void RaisePropertyChanged (object sender, PropertyChangedEventArgs e)
 Raises the PropertyChanged event with the specified event arguments.
 
void RaisePanelPropertyChanged (string name)
 Raises the PanelPropertyChanged event with the specified property name.
 
void RaiseBarValueChanged (int bar)
 Raises the BarValueChanged event with the specified bar value.
 
virtual void OnDispose ()
 Called when the indicator is being disposed.
 
override void OnVisibleChanged ()
 Called when the Visible property changes.
 
- Protected Member Functions inherited from ATAS.Indicators.ChartObject
virtual void OnVisibleChanged ()
 Called when the Visible property changes.
 
virtual void LockedOnChanged ()
 Called when the Locked property changes.
 
- Protected Member Functions inherited from ATAS.Indicators.Filters.TrackedPropertyBase
void SetProperty< TProperty > (ref TProperty store, TProperty value, Action onChanged=null, Func< TProperty, bool > onChanging=null, [CallerMemberName] string propertyName="")
 Sets the value of a property and notifies subscribers if the value has changed.
 
void SetTrackedProperty< TProperty > (ref TProperty store, TProperty value, Action< string > onChanged=null, [CallerMemberName] string propertyName="")
 Sets the value of a property that implements the INotifyPropertyChanged interface and notifies subscribers if the value has changed.
 
virtual void OnChangeProperty ([CallerMemberName] string propertyName="")
 Notifies subscribers when a property value changes.
 

Properties

IEnumerable< OrderOrders [get]
 Gets the collection of orders associated with this strategy.
 
IEnumerable< MyTradeMyTrades [get]
 Gets the collection of trades associated with this strategy.
 
StrategyStates State [get, protected set]
 Gets the current state of the strategy.
 
bool IsActivated [get]
 
decimal CurrentPosition [get]
 Gets the current position volume of the strategy.
 
decimal AveragePrice [get]
 Gets the average price of the strategy's trades.
 
decimal OpenPnL [get]
 Gets the open profit and loss of the strategy.
 
decimal ClosedPnL [get]
 Gets the closed profit and loss of the strategy.
 
Security Security [get, set]
 
Portfolio Portfolio [get, set]
 
TPlusLimitsTPlusLimit [get, set]
 
MarketDataArg BestBid [get]
 Gets the best bid market data associated with this chart strategy.
 
MarketDataArg BestAsk [get]
 Gets the best ask market data associated with this chart strategy.
 
IDataFeedConnector Connector [get, set]
 Gets or sets the data feed connector for the strategy.
 
Guid LoggerId [get, set]
 
string LoggerName [get, set]
 
LoggingLevel LoggingLevel [get, set]
 
ILoggerSource ParentLoggerSource [get, set]
 
ICachedCollection< ILoggerSource > ChildLoggerSources = new SyncList<ILoggerSource>() [get]
 
- Properties inherited from ATAS.Indicators.Indicator
string? Category [get]
 
IInstrumentInfoInstrumentInfo [get]
 Gets the instrument information associated with the data provider.
 
ITradingManagerTradingManager [get]
 Gets the trading manager associated with the data provider.
 
IPlatformSettingsPlatformSettings [get]
 Gets the platform settings associated with the data provider.
 
IMarketDepthInfoProviderMarketDepthInfo [get]
 Gets the market depth information provider associated with the data provider.
 
IChartChartInfo [get]
 Gets the chart information associated with the data provider.
 
ITradingStatisticsProviderTradingStatisticsProvider [get]
 Gets the trading statistics provider associated with the data provider.
 
Rectangle ChartArea [get]
 Gets the rectangle representing the chart area on the screen.
 
IMouseLocationInfo MouseLocationInfo [get]
 Gets the information about the mouse location on the chart.
 
int FirstVisibleBarNumber [get]
 Gets the bar number of the first visible bar on the chart.
 
int LastVisibleBarNumber [get]
 Gets the bar number of the last visible bar on the chart.
 
int VisibleBarsCount [get]
 Gets the number of visible bars on the chart.
 
decimal CumulativeDomAsks [get]
 
decimal CumulativeDomBids [get]
 
string? Instrument [get]
 Instrument name.
 
decimal TickSize [get]
 TickSize.
 
string DataPath [get]
 Path to the working program folder.
 
int ValueAreaPercent [get]
 
string? ChartType [get]
 Chart type.
 
string? TimeFrame [get]
 Timeframe.
 
string StringFormat [get]
 Price format.
 
- Properties inherited from ATAS.Indicators.ExtendedIndicator
bool FullScreenMode [get, set]
 Gets or sets full screen mode for the indicator. Could be applied only to the vertical indicators('IsVerticalIndicator = true')
 
bool DenyToChangePanel [get, set]
 Gets or sets a value indicating whether changing the indicator's panel is denied. For vertical indicators, it is always denied.
 
bool DrawAbovePrice [get, set]
 Gets or sets a value indicating whether custom painting should be performed on top of rendered bars.
 
bool EnableCustomDrawing [get, protected set]
 Gets or sets a value indicating whether custom drawing is enabled for the indicator.
 
bool ShowDescription [get, set]
 Gets or sets a value indicating whether the description of the indicator should be shown.
 
IIndicatorContainerContainer [get, set]
 Gets or sets the container in which the indicator is hosted.
 
IIndicatorDataProviderDataProvider [get, set]
 Gets or sets the data provider for the indicator.
 
List< LineTillTouchHorizontalLinesTillTouch = new() [get]
 Gets the collection of horizontal lines used to track touch points on the chart.
 
List< TrendLineTrendLines = new() [get]
 Gets the collection of trend lines on the chart.
 
List< DrawingRectangleRectangles = new() [get]
 Gets the collection of rectangles on the chart.
 
SyncDictionary< string, DrawingTextLabels = new() [get, set]
 Gets or sets the collection of named drawing text elements.
 
IEnumerable< MarketByOrderMarketByOrders [get]
 Gets a snapshot of the current market by order data.
 
DateTime MarketTime [get]
 Current market time.
 
DateTime UtcTime [get]
 Current UTC time.
 
- Properties inherited from ATAS.Indicators.BaseIndicator
static ? PerformanceDiagnoser PerformanceDiagnoser [get]
 Indicator performance tracker.
 
static bool UseProfiling [get, set]
 Set to true to measure the performance of all indicators.
 
string Name [get, set]
 Name of the indicator.
 
bool IsDisposed [get, set]
 Gets or sets a value indicating whether the indicator object has been disposed of.
 
List< IDataSeriesDataSeries [get]
 List of data series used by the indicator.
 
List< LineSeriesLineSeries [get]
 List of line series used by the indicator.
 
string Panel [get, set]
 The name of the panel where the indicator is placed.
 
bool IsVerticalIndicator [get, set]
 Gets or sets a value indicating whether the indicator is intended to be displayed as a vertical indicator.
 
bool UseCandles [get]
 Gets a value indicating whether the indicator uses candle data series.
 
int CurrentBar [get]
 Bars number. All bars and the values of the corresponding data series have a serial number. The earliest bar of the chart is assigned the number 0; the next bar is assigned the number 1, and so on.
 
IDataSeries< decimal >? SourceDataSeries [get, set]
 Gets or sets the data series used as the source for the indicator's calculations.
 
decimal this[int index] [get, protected set]
 Gets or sets the value of the first data series of the indicator at the specified index.
 
- Properties inherited from ATAS.Indicators.ChartObject
bool Visible [get, set]
 Gets or sets a value indicating whether the chart object is visible.
 
bool Locked [get, set]
 Gets or sets a value indicating whether the chart object is locked.
 
bool AllowedInteraction [get]
 Gets a value indicating whether interaction with the chart object is allowed.
 
- Properties inherited from ATAS.Indicators.IMarketTimeProvider
DateTime MarketTime [get]
 Current market time.
 
DateTime UtcTime [get]
 Current UTC time.
 
- Properties inherited from ATAS.Strategies.Chart.IChartStrategy
IEnumerable< OrderOrders [get]
 Gets the collection of orders associated with this strategy.
 
IEnumerable< MyTradeMyTrades [get]
 Gets the collection of trades associated with this strategy.
 
- Properties inherited from ATAS.Strategies.IStrategy
string Name [get, set]
 Gets or sets the name of the strategy.
 
StrategyStates State [get]
 Gets the current state of the strategy.
 
decimal CurrentPosition [get]
 Gets the current position volume of the strategy.
 
decimal AveragePrice [get]
 Gets the average price of the strategy's trades.
 
decimal OpenPnL [get]
 Gets the open profit and loss of the strategy.
 
decimal ClosedPnL [get]
 Gets the closed profit and loss of the strategy.
 
Security Security [get, set]
 Gets or sets the security associated with the strategy.
 
Portfolio Portfolio [get, set]
 Gets or sets the portfolio associated with the strategy.
 
TPlusLimitsTPlusLimit [get, set]
 Gets or sets the T+ limits for the strategy.
 
IDataFeedConnector Connector [get, set]
 Gets or sets the data feed connector for the strategy.
 

Events

EventHandler< StrategyStateChangedEventArgsStateChanged
 
EventHandler< StrategyNotificationEventArgsShowNotification
 
Action LoggerSettingsChanged
 
- Events inherited from ATAS.Indicators.BaseIndicator
PropertyChangedEventHandler PropertyChanged
 
PropertyChangedEventHandler PanelPropertyChanged
 
Action< int > BarValueChanged
 Event that is raised when the value of a bar in the indicator changes.
 
- Events inherited from ATAS.Indicators.Filters.TrackedPropertyBase
PropertyChangedEventHandler PropertyChanged
 
- Events inherited from ATAS.Indicators.INotifyPanelPropertyChanged
PropertyChangedEventHandler PanelPropertyChanged
 Occurs when a panel property value changes.
 
- Events inherited from ATAS.Strategies.IStrategy
EventHandler< StrategyStateChangedEventArgsStateChanged
 Occurs when the state of the strategy changes.
 
EventHandler< StrategyNotificationEventArgsShowNotification
 Occurs when the strategy needs to show a notification or alert.
 

Additional Inherited Members

- Static Protected Member Functions inherited from ATAS.Indicators.BaseIndicator
static PerfCounter MeasurePerformance (string name)
 Measures the performance of a specific operation with the given name. If a performance diagnoser is available, it will be used to measure the performance; otherwise, a default performance counter will be returned.
 
- Protected Attributes inherited from ATAS.Indicators.BaseIndicator
readonly List< IndicatorUsedIndicators = new()
 The list of indicators that are being used by this indicator.
 

Detailed Description

Represents an abstract class for a chart strategy that extends the functionality of an Indicator and implements the IChartStrategy and ILoggerSource interfaces.

Constructor & Destructor Documentation

◆ ChartStrategy()

ATAS.Strategies.Chart.ChartStrategy.ChartStrategy ( bool  useCandles = false)
protected

Protected constructor for the ChartStrategy class.

Parameters
useCandlesA boolean value indicating whether candles are used.

Member Function Documentation

◆ CancelOrder()

async void ATAS.Strategies.Chart.ChartStrategy.CancelOrder ( Order  order)

Cancels an existing order for the strategy.

Parameters
orderThe order to be canceled.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ CancelOrderAsync()

async Task ATAS.Strategies.Chart.ChartStrategy.CancelOrderAsync ( Order  order)

Cancels an existing order for the strategy asynchronously.

Parameters
orderThe order to be canceled.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ CanProcess()

virtual bool ATAS.Strategies.Chart.ChartStrategy.CanProcess ( int  bar)
protectedvirtual

Determines if the strategy can process data for the specified bar.

Parameters
barThe index of the current bar.
Returns
true if the strategy can process data for the specified bar, false otherwise.

◆ ModifyOrder()

async void ATAS.Strategies.Chart.ChartStrategy.ModifyOrder ( Order  order,
Order  newOrder 
)

Modifies an existing order for the strategy.

Parameters
orderThe order to be modified.
newOrderThe new order with updated parameters.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ ModifyOrderAsync()

async Task ATAS.Strategies.Chart.ChartStrategy.ModifyOrderAsync ( Order  order,
Order  newOrder 
)

Modifies an existing order for the strategy asynchronously.

Parameters
orderThe order to be modified.
newOrderThe new order with updated parameters.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ OnBestBidAskChanged()

override void ATAS.Strategies.Chart.ChartStrategy.OnBestBidAskChanged ( MarketDataArg  depth)
protectedvirtual

Handles changes in the best bid or ask prices in the market depth represented by a MarketDataArg object.

Parameters
depthThe MarketDataArg representing the market depth data.

Reimplemented from ATAS.Indicators.ExtendedIndicator.

◆ OnContainerChanged()

override void ATAS.Strategies.Chart.ChartStrategy.OnContainerChanged ( IIndicatorContainer  container)
protectedvirtual

This method is called when the value of the Container property changes.

Parameters
containerThe new value of the IIndicatorContainer that the indicator is attached to.

Reimplemented from ATAS.Indicators.ExtendedIndicator.

◆ OnCurrentPositionChanged()

virtual void ATAS.Strategies.Chart.ChartStrategy.OnCurrentPositionChanged ( )
protectedvirtual

Method called when the volume of the current position changes.

Reimplemented in PhantomFlow_SFP.Template.Main.

◆ OnDataProviderChanged()

override void ATAS.Strategies.Chart.ChartStrategy.OnDataProviderChanged ( IIndicatorDataProvider  oldDataProvider,
IIndicatorDataProvider  newDataProvider 
)
protectedvirtual

This method is called when the value of the DataProvider property changes.

Parameters
oldDataProviderThe old IIndicatorDataProvider value.
newDataProviderThe new IIndicatorDataProvider value.

Reimplemented from ATAS.Indicators.ExtendedIndicator.

◆ OnNewMyTrade()

override void ATAS.Strategies.Chart.ChartStrategy.OnNewMyTrade ( MyTrade  myTrade)
protectedvirtual

Called when a new trade executed by the indicator's own strategy is received.

Parameters
myTradeThe new trade executed by the indicator's own strategy.

Reimplemented from ATAS.Indicators.ExtendedIndicator.

Reimplemented in PhantomFlow_SFP.Template.Main.

◆ OnStarted()

virtual void ATAS.Strategies.Chart.ChartStrategy.OnStarted ( )
protectedvirtual

Method called when the strategy is started.

Reimplemented in PhantomFlow_SFP.Template.Main.

◆ OnStopped()

virtual void ATAS.Strategies.Chart.ChartStrategy.OnStopped ( )
protectedvirtual

Method called when the strategy is stopped.

Reimplemented in PhantomFlow_SFP.Template.Main.

◆ OnStopping()

virtual void ATAS.Strategies.Chart.ChartStrategy.OnStopping ( )
protectedvirtual

Method called when the strategy is stopping.

Reimplemented in PhantomFlow_SFP.Template.Main, and ATAS.Strategies.Chart.SmaChartStrategy.

◆ OnSuspended()

virtual void ATAS.Strategies.Chart.ChartStrategy.OnSuspended ( )
protectedvirtual

Method called when the strategy is suspended.

Reimplemented in PhantomFlow_SFP.Template.Main.

◆ OpenOrder()

async void ATAS.Strategies.Chart.ChartStrategy.OpenOrder ( Order  order)

Opens an order for the strategy.

Parameters
orderThe order to be opened.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ OpenOrderAsync()

async Task ATAS.Strategies.Chart.ChartStrategy.OpenOrderAsync ( Order  order)

Opens an order for the strategy asynchronously.

Parameters
orderThe order to be opened.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ RaiseShowNotification()

void ATAS.Strategies.Chart.ChartStrategy.RaiseShowNotification ( string  message,
string  title = null,
LoggingLevel  level = LoggingLevel::Info 
)
protected

Raises a notification message with the specified message , title (optional), and logging level level . If the title is not provided, the name of the strategy is used as the title. Depending on the logging level, the message is logged using the corresponding logging method (Info, Warning, or Error). Finally, the ShowNotification event is raised to notify subscribers about the notification.

Parameters
messageThe notification message.
titleThe title of the notification (optional).
levelThe logging level of the notification (defaults to Info).

◆ SetProperty< TValue >()

bool ATAS.Strategies.Chart.ChartStrategy.SetProperty< TValue > ( ref TValue  storage,
TValue  newValue,
string  propertyName,
Action< TValue, TValue >  onChanged = null 
)
protected

Sets the value of a property propertyName to newValue . If the new value is different from the current value, the property is updated and a PropertyChanged event is raised. Additionally, if an onChanged action is provided, it will be invoked with the old and new values after the property has been updated. Returns true if the property was updated, false otherwise.

Template Parameters
TValueThe type of the property value.
Parameters
storageA reference to the property value.
newValueThe new value to be set.
propertyNameThe name of the property.
onChangedAn optional action to be invoked when the property value changes.
Returns
true if the property was updated, false otherwise.

◆ ShrinkPrice()

decimal ATAS.Strategies.Chart.ChartStrategy.ShrinkPrice ( decimal  price)
protected

Rounds the given price price to the nearest tick size of the security and returns the result.

Parameters
priceThe price value to be rounded.
Returns
The rounded price value.

◆ Start()

void ATAS.Strategies.Chart.ChartStrategy.Start ( )

◆ StartAsync()

Task ATAS.Strategies.Chart.ChartStrategy.StartAsync ( )

Starts the strategy, allowing it to execute its trading logic.

Implements ATAS.Strategies.IStrategy.

◆ Stop()

void ATAS.Strategies.Chart.ChartStrategy.Stop ( )

◆ StopAsync()

Task ATAS.Strategies.Chart.ChartStrategy.StopAsync ( )

Stops the strategy, terminating its execution and releasing any resources.

Implements ATAS.Strategies.IStrategy.

◆ StopWithNotification()

void ATAS.Strategies.Chart.ChartStrategy.StopWithNotification ( string  message)

Stops the strategy with a notification message.

Parameters
messageThe message to be displayed as a notification.


Implements ATAS.Strategies.Chart.IChartStrategy.

◆ StopWithNotificationAsync()

async Task ATAS.Strategies.Chart.ChartStrategy.StopWithNotificationAsync ( string  message)

◆ Suspend()

void ATAS.Strategies.Chart.ChartStrategy.Suspend ( )

◆ SuspendAsync()

Task ATAS.Strategies.Chart.ChartStrategy.SuspendAsync ( )

Property Documentation

◆ AveragePrice

decimal ATAS.Strategies.Chart.ChartStrategy.AveragePrice
get

Gets the average price of the strategy's trades.

Implements ATAS.Strategies.IStrategy.

◆ BestAsk

MarketDataArg ATAS.Strategies.Chart.ChartStrategy.BestAsk
get

Gets the best ask market data associated with this chart strategy.

◆ BestBid

MarketDataArg ATAS.Strategies.Chart.ChartStrategy.BestBid
get

Gets the best bid market data associated with this chart strategy.

◆ ChildLoggerSources

ICachedCollection<ILoggerSource> ATAS.Strategies.Chart.ChartStrategy.ChildLoggerSources = new SyncList<ILoggerSource>()
get

◆ ClosedPnL

decimal ATAS.Strategies.Chart.ChartStrategy.ClosedPnL
get

Gets the closed profit and loss of the strategy.

Implements ATAS.Strategies.IStrategy.

◆ Connector

IDataFeedConnector ATAS.Strategies.Chart.ChartStrategy.Connector
getset

Gets or sets the data feed connector for the strategy.

Implements ATAS.Strategies.IStrategy.

◆ CurrentPosition

decimal ATAS.Strategies.Chart.ChartStrategy.CurrentPosition
get

Gets the current position volume of the strategy.

Implements ATAS.Strategies.IStrategy.

◆ IsActivated

bool ATAS.Strategies.Chart.ChartStrategy.IsActivated
get

◆ LoggerId

Guid ATAS.Strategies.Chart.ChartStrategy.LoggerId
getset

◆ LoggerName

string ATAS.Strategies.Chart.ChartStrategy.LoggerName
getset

◆ LoggingLevel

LoggingLevel ATAS.Strategies.Chart.ChartStrategy.LoggingLevel
getset

◆ MyTrades

IEnumerable<MyTrade> ATAS.Strategies.Chart.ChartStrategy.MyTrades
get

Gets the collection of trades associated with this strategy.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ OpenPnL

decimal ATAS.Strategies.Chart.ChartStrategy.OpenPnL
get

Gets the open profit and loss of the strategy.

Implements ATAS.Strategies.IStrategy.

◆ Orders

IEnumerable<Order> ATAS.Strategies.Chart.ChartStrategy.Orders
get

Gets the collection of orders associated with this strategy.

Implements ATAS.Strategies.Chart.IChartStrategy.

◆ ParentLoggerSource

ILoggerSource ATAS.Strategies.Chart.ChartStrategy.ParentLoggerSource
getset

◆ Portfolio

Portfolio ATAS.Strategies.Chart.ChartStrategy.Portfolio
getset

Gets or sets the portfolio associated with the strategy.

This property does not support setting. Attempting to set this property will throw a NotSupportedException.

Exceptions
NotSupportedException

Implements ATAS.Strategies.IStrategy.

◆ Security

Security ATAS.Strategies.Chart.ChartStrategy.Security
getset

Gets or sets the security associated with the strategy.

This property does not support setting. Attempting to set this property will throw a NotSupportedException.

Exceptions
NotSupportedException

Implements ATAS.Strategies.IStrategy.

◆ State

StrategyStates ATAS.Strategies.Chart.ChartStrategy.State
getprotected set

Gets the current state of the strategy.

Implements ATAS.Strategies.IStrategy.

◆ TPlusLimit

TPlusLimits? ATAS.Strategies.Chart.ChartStrategy.TPlusLimit
getset

Gets or sets the T+ limits for the strategy.

This property does not support setting. Attempting to set this property will throw a NotSupportedException.

Exceptions
NotSupportedException

Implements ATAS.Strategies.IStrategy.

Event Documentation

◆ LoggerSettingsChanged

Action ATAS.Strategies.Chart.ChartStrategy.LoggerSettingsChanged

◆ ShowNotification

EventHandler<StrategyNotificationEventArgs> ATAS.Strategies.Chart.ChartStrategy.ShowNotification

◆ StateChanged

EventHandler<StrategyStateChangedEventArgs> ATAS.Strategies.Chart.ChartStrategy.StateChanged


The documentation for this class was generated from the following file: