TradeWatch
Summary
Represents the trade watch panel.
Signature
| public abstract interface TradeWatch
|
Namespace
cAlgo.API
Examples
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 | using cAlgo.API;
using System;
namespace cAlgo.Plugins;
[Plugin(AccessRights = AccessRights.None)]
public class Test : Plugin
{
protected override void OnStart()
{
webView = new WebView
{
DefaultBackgroundColor = Color.Red,
Width = 1000
};
webView.Loaded += _ => webView.NavigateAsync("https://ctrader.com/");
TradeWatch.IsVisibleChanged += _ => Print("OnTradeWatchIsVisibleChanged");
TradeWatch.SizeChanged += _ => Print("OnTradeWatchSizeChanged");
tab = TradeWatch.AddTab("Test");
detachButton = new Button
{
Text = "Detach",
};
detachButton.Click += _ => tab.Detach();
attachButton = new Button
{
Text = "Attach",
};
attachButton.Click += _ => tab.Attach();
changeHeightButton = new Button
{
Text = "Change Height",
};
changeHeightButton.Click += _ => TradeWatch.Height = Random.Shared.NextInt64(100, 600);
changeVisibilityButton = new Button
{
Text = "Change Visibility",
};
changeVisibilityButton.Click += _ => TradeWatch.IsVisible = !TradeWatch.IsVisible;
changeBalanceBarVisibilityButton = new Button
{
Text = "Change Balance Bar Visibility",
};
changeBalanceBarVisibilityButton.Click += _ => tab.IsBalanceBarVisible = !tab.IsBalanceBarVisible;
var panel = new StackPanel
{
Orientation = Orientation.Horizontal
};
panel.AddChild(detachButton);
panel.AddChild(attachButton);
panel.AddChild(changeHeightButton);
panel.AddChild(changeVisibilityButton);
panel.AddChild(changeBalanceBarVisibilityButton);
panel.AddChild(webView);
tab.Child = panel;
tab.IsSelected = true;
tab.Index = 0;
tab.Attached += args => Print("Attached. ID=", args.TradeWatchTab.Index);
tab.Detached += args => Print("Detached. ID=", args.TradeWatchTab.Index);
tab.SizeChanged += args => Print("TabSizeChanged. Height={0} Width={1}", args.TradeWatchTab.Height, args.TradeWatchTab.Width);
tab.IsSelectedChanged += OnTabIsSelectedChanged;
tab1 = TradeWatch.AddTab("Test");
tab1.Index = 1;
tab2 = TradeWatch.AddTab("Test3");
tab2.Index = 2;
tab1.IsSelectedChanged += OnTabIsSelectedChanged;
tab2.IsSelectedChanged += OnTabIsSelectedChanged;
}
private void OnTabIsSelectedChanged(TradeWatchTabIsSelectedChangedEventArgs args)
{
var tab = args.TradeWatchTab;
Print("OnIsSelectedChanged. Index={0} ID={2} title={1}", tab.Index, tab.Title, tab.Id);
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 | import clr
clr.AddReference("cAlgo.API")
from cAlgo.API import *
from System import Action, Func
import random
class Test():
def on_start(self):
webView = WebView()
webView.DefaultBackgroundColor = Color.Red
webView.Width = 1000
webView.Loaded += lambda _: webView.NavigateAsync("https://ctrader.com/")
api.TradeWatch.IsVisibleChanged += lambda _: print("OnTradeWatchIsVisibleChanged")
api.TradeWatch.SizeChanged += lambda _: print("OnTradeWatchSizeChanged")
tab = api.TradeWatch.AddTab("Test")
detachButton = Button()
detachButton.Text = "Detach"
detachButton.Click += lambda _: tab.Detach()
attachButton = Button()
attachButton.Text = "Attach"
attachButton.Click += lambda _: tab.Attach()
changeHeightButton = Button()
changeHeightButton.Text = "Change Height"
changeHeightButton.Click += self.on_change_height_button_click
changeVisibilityButton = Button()
changeVisibilityButton.Text = "Change Visibility"
changeVisibilityButton.Click += self.on_change_visibility_button_click
changeBalanceBarVisibilityButton = Button()
changeBalanceBarVisibilityButton.Text = "Change Balance Bar Visibility"
changeBalanceBarVisibilityButton.Click += lambda _: self.on_change_balance_bar_visibility(tab)
panel = StackPanel()
panel.Orientation = Orientation.Horizontal
panel.AddChild(detachButton)
panel.AddChild(attachButton)
panel.AddChild(changeHeightButton)
panel.AddChild(changeVisibilityButton)
panel.AddChild(changeBalanceBarVisibilityButton)
panel.AddChild(webView)
tab.Child = panel
tab.IsSelected = True
tab.Index = 0
tab.Attached += lambda args: print(f"Attached. ID={args.TradeWatchTab.Index}")
tab.Detached += lambda args: print(f"Detached. ID={args.TradeWatchTab.Index}")
tab.SizeChanged += lambda args: print(f"TabSizeChanged. Height={args.TradeWatchTab.Height} Width={args.TradeWatchTab.Width}")
tab.IsSelectedChanged += self.on_tab_is_selected_changed
tab1 = api.TradeWatch.AddTab("Test")
tab1.Index = 1
tab2 = api.TradeWatch.AddTab("Test3")
tab2.Index = 2
tab1.IsSelectedChanged += self.on_tab_is_selected_changed
tab2.IsSelectedChanged += self.on_tab_is_selected_changed
def on_tab_is_selected_changed(self, args):
print(f"OnIsSelectedChanged. Index={args.TradeWatchTab.Index} ID={args.TradeWatchTab.Title} title={args.TradeWatchTab.Id}")
def on_change_height_button_click(self, args):
api.TradeWatch.Height = random.randint(100, 600)
def on_change_visibility_button_click(self, args):
api.TradeWatch.IsVisible = not api.TradeWatch.IsVisible
def on_change_balance_bar_visibility(self, tab):
tab.IsBalanceBarVisible = not tab.IsBalanceBarVisible
|
Methods
AddTab
Summary
Adds a new tab.
Signature
| public abstract TradeWatchTab AddTab(string title)
|
Parameters
| Name | Type | Description |
| title | string | Tab title |
Return Value
TradeWatchTab
RemoveTab (2)
RemoveTab (1 of 2)
Summary
Removes a tab by ID.
Signature
| public abstract bool RemoveTab(string id)
|
Parameters
| Name | Type | Description |
| id | string | Tab ID |
Return Value
bool
RemoveTab (2 of 2)
Summary
Removes a tab.
Signature
| public abstract bool RemoveTab(TradeWatchTab tab)
|
Parameters
| Name | Type | Description |
| tab | TradeWatchTab | Tab |
Return Value
bool
Properties
Height
Summary
Get / set height of trade watch.
Signature
| public abstract double Height {get; set;}
|
Return Value
double
Width
Summary
Get / set width of trade watch.
Signature
| public abstract double Width {get;}
|
Return Value
double
IsVisible
Summary
Get / set visibility of trade watch.
Signature
| public abstract bool IsVisible {get; set;}
|
Return Value
bool
Events
SizeChanged
Summary
Occurs after trade watch size (height / width) changed.
Signature
| public abstract event Action<TradeWatchSizeChangedEventArgs> SizeChanged;
|
IsVisibleChanged
Summary
Occurs after trade watch visibility (IsVisible) changed.
Signature
| public abstract event Action<TradeWatchIsVisibleChangedEventArgs> IsVisibleChanged;
|