Skip to content

Commit 857aa9a

Browse files
author
Ahmad Noman Musleh
committed
Update TradeWatch plugin sample.
1 parent 6df33b9 commit 857aa9a

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

Plugins/TradeWatch Tab Sample/TradeWatch Tab Sample/TradeControl.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
using System;
22
using cAlgo.API;
3+
using cAlgo.API.Internals;
34

45
namespace cAlgo.Plugins;
56

6-
public readonly record struct TradeEventArgs(int Volume, TradeType TradeType);
7+
public readonly record struct TradeEventArgs(int Volume, TradeType TradeType, string SymbolName);
78

89
public class TradeControl : CustomControl
910
{
@@ -58,17 +59,22 @@ public TradeControl()
5859
AddChild(_panel);
5960
}
6061

62+
public Symbol Symbol { get; set; }
63+
6164
public event EventHandler<TradeEventArgs> Trade;
6265

6366
private void ExecuteButtonOnClick(ButtonClickEventArgs obj)
6467
{
68+
if (Symbol is null)
69+
return;
70+
6571
if (!int.TryParse(_volumeTextBox.Text, out var volume))
6672
return;
6773

6874
if (!Enum.TryParse(_tradeTypeComboBox.SelectedItem, out TradeType tradeType))
6975
return;
7076

71-
Trade?.Invoke(this, new TradeEventArgs(volume, tradeType));
77+
Trade?.Invoke(this, new TradeEventArgs(volume, tradeType, Symbol.Name));
7278
}
7379

7480
private TextBlock GetTextBlock(string text = null) => new()

Plugins/TradeWatch Tab Sample/TradeWatch Tab Sample/TradeWatch Tab Sample.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class TradeWatchTabSample : Plugin
2020
private TradeControl _tradeControl;
2121

2222
protected override void OnStart()
23-
{
23+
{
2424
var tab = TradeWatch.AddTab("Active Chart Symbol Stats");
2525

2626
var panel = new StackPanel
@@ -42,17 +42,15 @@ protected override void OnStart()
4242

4343
private void TradeControlOnTrade(object sender, TradeEventArgs e)
4444
{
45-
if (ChartManager.ActiveFrame is not ChartFrame chartFrame)
46-
return;
47-
48-
ExecuteMarketOrder(e.TradeType, chartFrame.Symbol.Name, e.Volume);
45+
ExecuteMarketOrder(e.TradeType, e.SymbolName, e.Volume);
4946
}
5047

5148
private void SetSymbolStats()
5249
{
5350
if (ChartManager.ActiveFrame is not ChartFrame chartFrame)
5451
return;
5552

53+
_tradeControl.Symbol = chartFrame.Symbol;
5654
_symbolStatsControl.Symbol = chartFrame.Symbol;
5755
}
5856
}

0 commit comments

Comments
 (0)