Skip to content

ModifierKeys

Summary

Specifies the set of modifier keys.

Signature

1
public enum ModifierKeys

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
 using cAlgo.API;
 namespace cAlgo
 {
     // This sample shows how to use the ModifierKeys
     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
     public class Test : Indicator
     {
         private double _mouseBarIndex, _mousePrice;
         [Parameter(DefaultValue = Key.R)]
         public Key HotKey { get; set; }
         [Parameter(DefaultValue = ModifierKeys.Control)]
         public ModifierKeys HotKeyModifier { get; set; }
         protected override void Initialize()
         {
             Chart.MouseMove += Chart_MouseMove;
             Chart.MouseEnter += ResetMouseLocation;
             Chart.MouseLeave += ResetMouseLocation;
             ResetMouseLocation(null);
             Chart.AddHotkey(DrawLines, HotKey, HotKeyModifier);
         }
         private void ResetMouseLocation(ChartMouseEventArgs obj)
         {
             _mouseBarIndex = -1;
             _mousePrice = double.NaN;
         }
         private void Chart_MouseMove(ChartMouseEventArgs obj)
         {
             _mouseBarIndex = obj.BarIndex;
             _mousePrice = obj.YValue;
         }
         private void DrawLines()
         {
             if (_mouseBarIndex == -1 || double.IsNaN(_mousePrice)) return;
             Chart.DrawVerticalLine(_mouseBarIndex.ToString(), (int)_mouseBarIndex, Color.Red);
             Chart.DrawHorizontalLine(_mousePrice.ToString(), _mousePrice, Color.Red);
         }
         public override void Calculate(int index)
         {
         }
     }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 import clr
 clr.AddReference("cAlgo.API")
 from cAlgo.API import *
 from System import Action
 from math import nan
 class Test():
     def initialize(self):
         api.Chart.MouseMove += self.on_chart_mouse_move
         api.Chart.MouseEnter += lambda _: self.reset_mouse_location()
         api.Chart.MouseLeave += lambda _: self.reset_mouse_location()
         self.reset_mouse_location()
         # Hotkey and HotKeyModifier are parameters defined in C# file of indicator
         api.Chart.AddHotkey(Action(self.draw_lines), api.HotKey, api.HotKeyModifier)
     def on_chart_mouse_move(self, args):
         self.mouseBarIndex = args.BarIndex
         self.mousePrice = args.YValue
     def reset_mouse_location(self):
         self.mouseBarIndex = -1
         self.mousePrice = nan
     def draw_lines(self):
         if self.mouseBarIndex == -1 or self.mousePrice == nan:
             return
         api.Chart.DrawVerticalLine(str(self.mouseBarIndex), int(self.mouseBarIndex), Color.Red)
         api.Chart.DrawHorizontalLine(str(self.mousePrice), self.mousePrice, Color.Red)

Fields

None

Summary

No modifiers are pressed.

Signature

1
ModifierKeys.None;

Return Value

ModifierKeys

Alt

Summary

The ALT key.

Signature

1
ModifierKeys.Alt;

Return Value

ModifierKeys

Control

Summary

The CTRL key.

Signature

1
ModifierKeys.Control;

Return Value

ModifierKeys

Shift

Summary

The SHIFT key.

Signature

1
ModifierKeys.Shift;

Return Value

ModifierKeys