1
2
3
4
5
6
7
<span="normal"> 8
<span="normal"> 9
<span="normal"> 10
<span="normal"> 11
<span="normal"> 12
<span="normal"> 13
<span="normal"> 14
<span="normal"> 15
<span="normal"> 16
<span="normal"> 17
<span="normal"> 18
<span="normal"> 19
<span="normal"> 20
<span="normal"> 21
<span="normal"> 22
<span="normal"> 23
<span="normal"> 24
<span="normal"> 25
<span="normal"> 26
<span="normal"> 27
<span="normal"> 28
<span="normal"> 29
<span="normal"> 30
<span="normal"> 31
<span="normal"> 32
<span="normal"> 33
<span="normal"> 34
<span="normal"> 35
<span="normal"> 36
<span="normal"> 37
<span="normal"> 38
<span="normal"> 39
<span="normal"> 40
<span="normal"> 41
<span="normal"> 42
<span="normal"> 43
<span="normal"> 44
<span="normal"> 45
<span="normal"> 46
<span="normal"> 47
<span="normal"> 48
<span="normal"> 49
<span="normal"> 50
<span="normal"> 51
<span="normal"> 52
<span="normal"> 53
<span="normal"> 54
<span="normal"> 55
<span="normal"> 56
<span="normal"> 57
<span="normal"> 58
<span="normal"> 59
<span="normal"> 60
<span="normal"> 61
<span="normal"> 62
<span="normal"> 63
<span="normal"> 64
<span="normal"> 65
<span="normal"> 66
<span="normal"> 67
<span="normal"> 68
<span="normal"> 69
<span="normal"> 70
<span="normal"> 71
<span="normal"> 72
<span="normal"> 73
<span="normal"> 74
<span="normal"> 75
<span="normal"> 76
<span="normal"> 77
<span="normal"> 78
<span="normal"> 79
<span="normal"> 80
<span="normal"> 81
<span="normal"> 82
<span="normal"> 83
<span="normal"> 84
<span="normal"> 85
<span="normal"> 86
<span="normal"> 87
<span="normal"> 88
<span="normal"> 89
<span="normal"> 90
<span="normal"> 91
<span="normal"> 92
<span="normal"> 93
<span="normal"> 94
<span="normal"> 95
<span="normal"> 96
<span="normal"> 97
<span="normal"> 98
<span="normal"> 99
<span="normal">100
<span="normal">101
<span="normal">102
<span="normal">103
<span="normal">104
<span="normal">105
<span="normal">106
<span="normal">107
<span="normal">108
<span="normal">109
<span="normal">110 | <span="k">using <span="nn">cAlgo.API<span="p">;
<span="k">using <span="nn">System.Linq<span="p">;
<span="k">namespace <span="nn">cAlgo
<span="p">{
<span="c1">// 履歴データを使用して過去の取引を取得する方法を示すサンプルインジケーター
[Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
<span="k">public <span="k">class <span="nc">HistorySample <span="p">: <span="n">Indicator
{
<span="k">private <span="n">Style <span="n">_textBlocksStyle<span="p">;
<span="k">private <span="n">StackPanel <span="n">_stackPanel<span="p">;
<span="k">private <span="n">Grid <span="n">_tradesGrid<span="p">;
<span="k">protected <span="k">override <span="k">void <span="nf">Initialize<span="p">()
<span="p">{
<span="n">_stackPanel <span="o">= <span="k">new <span="n">StackPanel
<span="p">{
<span="n">Orientation <span="o">= <span="n">Orientation<span="p">.<span="n">Vertical<span="p">,
<span="n">HorizontalAlignment <span="o">= <span="n">HorizontalAlignment<span="p">.<span="n">Center<span="p">,
<span="n">VerticalAlignment <span="o">= <span="n">VerticalAlignment<span="p">.<span="n">Center<span="p">,
<span="n">BackgroundColor <span="o">= <span="n">Color<span="p">.<span="n">Gold
<span="p">};
<span="n">_textBlocksStyle <span="o">= <span="k">new <span="n">Style<span="p">();
<span="n">_textBlocksStyle<span="p">.<span="n">Set<span="p">(<span="n">ControlProperty<span="p">.<span="n">Margin<span="p">, <span="m">5<span="p">);
<span="n">_stackPanel<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBox
<span="p">{
<span="n">Text <span="o">= <span="s">"Your Last 10 Trades"<span="p">,
<span="n">FontWeight <span="o">= <span="n">FontWeight<span="p">.<span="n">ExtraBold<span="p">,
<span="n">HorizontalAlignment <span="o">= <span="n">HorizontalAlignment<span="p">.<span="n">Center<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">});
<span="n">Chart<span="p">.<span="n">AddControl<span="p">(<span="n">_stackPanel<span="p">);
<span="n">UpdateLastTradeTextBlock<span="p">();
<span="n">Positions<span="p">.<span="n">Closed <span="o">+= <span="n">args <span="o">=> <span="n">UpdateLastTradeTextBlock<span="p">();
<span="p">}
<span="k">public <span="k">override <span="k">void <span="nf">Calculate<span="p">(<span="kt">int <span="n">index<span="p">)
<span="p">{
<span="p">}
<span="k">private <span="k">void <span="nf">UpdateLastTradeTextBlock<span="p">()
<span="p">{
<span="k">if <span="p">(<span="n">_tradesGrid <span="o">!= <span="k">null<span="p">)
<span="n">_stackPanel<span="p">.<span="n">RemoveChild<span="p">(<span="n">_tradesGrid<span="p">);
<span="n">_tradesGrid <span="o">= <span="k">new <span="n">Grid<span="p">(<span="m">11<span="p">, <span="m">6<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Symbol"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">0<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Direction"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">1<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Volume"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">2<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Open Time"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">3<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Close Time"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">4<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="s">"Net Profit"<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="m">0<span="p">, <span="m">5<span="p">);
<span="kt">var <span="n">lastTenTrades <span="o">= <span="n">History<span="p">.<span="n">OrderByDescending<span="p">(<span="n">iTrade <span="o">=> <span="n">iTrade<span="p">.<span="n">ClosingTime<span="p">).<span="n">Take<span="p">(<span="m">10<span="p">).<span="n">ToArray<span="p">();
<span="k">for <span="p">(<span="kt">int <span="n">iRowIndex <span="o">= <span="m">1<span="p">; <span="n">iRowIndex <span="o"><= <span="n">lastTenTrades<span="p">.<span="n">Length<span="p">; <span="n">iRowIndex<span="o">++<span="p">)
<span="p">{
<span="kt">var <span="n">trade <span="o">= <span="n">lastTenTrades<span="p">[<span="n">iRowIndex <span="o">- <span="m">1<span="p">];
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">SymbolName<span="p">,
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">0<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">TradeType<span="p">.<span="n">ToString<span="p">(),
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">1<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">VolumeInUnits<span="p">.<span="n">ToString<span="p">(),
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">2<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">EntryTime<span="p">.<span="n">ToString<span="p">(<span="s">"g"<span="p">),
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">3<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">ClosingTime<span="p">.<span="n">ToString<span="p">(<span="s">"g"<span="p">),
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">4<span="p">);
<span="n">_tradesGrid<span="p">.<span="n">AddChild<span="p">(<span="k">new <span="n">TextBlock
<span="p">{
<span="n">Text <span="o">= <span="n">trade<span="p">.<span="n">NetProfit<span="p">.<span="n">ToString<span="p">(),
<span="n">Style <span="o">= <span="n">_textBlocksStyle
<span="p">}, <span="n">iRowIndex<span="p">, <span="m">5<span="p">);
<span="p">}
<span="n">_stackPanel<span="p">.<span="n">AddChild<span="p">(<span="n">_tradesGrid<span="p">);
<span="p">}
<span="p">}
<span="p">}
|