mirror of
https://github.com/vdemydiuk/mtapi.git
synced 2026-08-18 05:08:11 +00:00
Issue #209: [MT5] Added function ChartId to get chart id by expert handle.
This commit is contained in:
+14
-2
@@ -1717,6 +1717,18 @@ namespace MtApi5
|
|||||||
return SendCommand<long>(Mt5CommandType.ChartId, null);
|
return SendCommand<long>(Mt5CommandType.ChartId, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///<summary>
|
||||||
|
///Returns the ID of the chart.
|
||||||
|
///</summary>
|
||||||
|
///<param name="expertHandle">Handle of expert linked to the chart.</param>
|
||||||
|
///<returns>
|
||||||
|
/// Value of long type.
|
||||||
|
///</returns>
|
||||||
|
public long ChartId(int expertHandle)
|
||||||
|
{
|
||||||
|
return SendCommand<long>(Mt5CommandType.ChartId, null, null, expertHandle);
|
||||||
|
}
|
||||||
|
|
||||||
///<summary>
|
///<summary>
|
||||||
///This function calls a forced redrawing of a specified chart.
|
///This function calls a forced redrawing of a specified chart.
|
||||||
///</summary>
|
///</summary>
|
||||||
@@ -3468,7 +3480,7 @@ namespace MtApi5
|
|||||||
ConnectionStateChanged?.Invoke(this, new Mt5ConnectionEventArgs(state, message));
|
ConnectionStateChanged?.Invoke(this, new Mt5ConnectionEventArgs(state, message));
|
||||||
}
|
}
|
||||||
|
|
||||||
private T SendCommand<T>(Mt5CommandType commandType, ArrayList commandParameters, Dictionary<string, object> namedParams = null)
|
private T SendCommand<T>(Mt5CommandType commandType, ArrayList commandParameters, Dictionary<string, object> namedParams = null, int? executor = null)
|
||||||
{
|
{
|
||||||
MtResponse response;
|
MtResponse response;
|
||||||
|
|
||||||
@@ -3480,7 +3492,7 @@ namespace MtApi5
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
response = client.SendCommand((int)commandType, commandParameters, namedParams, ExecutorHandle);
|
response = client.SendCommand((int)commandType, commandParameters, namedParams, executor ?? ExecutorHandle);
|
||||||
}
|
}
|
||||||
catch (CommunicationException ex)
|
catch (CommunicationException ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -542,6 +542,7 @@
|
|||||||
|
|
||||||
<StackPanel Grid.Row="4" Orientation="Horizontal" Margin="5">
|
<StackPanel Grid.Row="4" Orientation="Horizontal" Margin="5">
|
||||||
<Button Command="{Binding ChartIdCommand}" Content="ChartId" Margin="2"/>
|
<Button Command="{Binding ChartIdCommand}" Content="ChartId" Margin="2"/>
|
||||||
|
<Button Command="{Binding ChartIdByExpertHandleCommand}" Content="ChartId by ExpertHandle" Margin="2"/>
|
||||||
<TextBlock Text="ChartID" VerticalAlignment="Center" Margin="20,2,2,2"/>
|
<TextBlock Text="ChartID" VerticalAlignment="Center" Margin="20,2,2,2"/>
|
||||||
<TextBox Width="150" Text="{Binding ChartFunctionsChartIdValue}" Margin="2"/>
|
<TextBox Width="150" Text="{Binding ChartFunctionsChartIdValue}" Margin="2"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ namespace MtApi5TestClient
|
|||||||
public DelegateCommand ChartApplyTemplateCommand { get; private set; }
|
public DelegateCommand ChartApplyTemplateCommand { get; private set; }
|
||||||
public DelegateCommand ChartSaveTemplateCommand { get; private set; }
|
public DelegateCommand ChartSaveTemplateCommand { get; private set; }
|
||||||
public DelegateCommand ChartIdCommand { get; private set; }
|
public DelegateCommand ChartIdCommand { get; private set; }
|
||||||
|
public DelegateCommand ChartIdByExpertHandleCommand { get; private set; }
|
||||||
public DelegateCommand ChartRedrawCommand { get; private set; }
|
public DelegateCommand ChartRedrawCommand { get; private set; }
|
||||||
public DelegateCommand ChartWindowFindCommand { get; private set; }
|
public DelegateCommand ChartWindowFindCommand { get; private set; }
|
||||||
public DelegateCommand ChartCloseCommand { get; private set; }
|
public DelegateCommand ChartCloseCommand { get; private set; }
|
||||||
@@ -403,6 +404,7 @@ namespace MtApi5TestClient
|
|||||||
ChartApplyTemplateCommand = new DelegateCommand(ExecuteChartApplyTemplate);
|
ChartApplyTemplateCommand = new DelegateCommand(ExecuteChartApplyTemplate);
|
||||||
ChartSaveTemplateCommand = new DelegateCommand(ExecuteChartSaveTemplate);
|
ChartSaveTemplateCommand = new DelegateCommand(ExecuteChartSaveTemplate);
|
||||||
ChartIdCommand = new DelegateCommand(ExecuteChartId);
|
ChartIdCommand = new DelegateCommand(ExecuteChartId);
|
||||||
|
ChartIdByExpertHandleCommand = new DelegateCommand(ExecuteChartIdByExpertHandle);
|
||||||
ChartRedrawCommand = new DelegateCommand(ExecuteChartRedraw);
|
ChartRedrawCommand = new DelegateCommand(ExecuteChartRedraw);
|
||||||
ChartWindowFindCommand = new DelegateCommand(ExecuteChartWindowFind);
|
ChartWindowFindCommand = new DelegateCommand(ExecuteChartWindowFind);
|
||||||
ChartCloseCommand = new DelegateCommand(ExecuteChartClose);
|
ChartCloseCommand = new DelegateCommand(ExecuteChartClose);
|
||||||
@@ -1514,6 +1516,22 @@ namespace MtApi5TestClient
|
|||||||
AddLog($"ChartId: chartid = {result}");
|
AddLog($"ChartId: chartid = {result}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void ExecuteChartIdByExpertHandle(object o)
|
||||||
|
{
|
||||||
|
if (SelectedQuote == null)
|
||||||
|
{
|
||||||
|
AddLog("Instrument is not selected.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = await Execute(() => _mtApiClient.ChartId(SelectedQuote.ExpertHandle));
|
||||||
|
RunOnUiThread(() =>
|
||||||
|
{
|
||||||
|
ChartFunctionsChartIdValue = result;
|
||||||
|
});
|
||||||
|
AddLog($"ChartIdByExpertHandle: chartid = {result}");
|
||||||
|
}
|
||||||
|
|
||||||
private void ExecuteChartRedraw(object o)
|
private void ExecuteChartRedraw(object o)
|
||||||
{
|
{
|
||||||
var chartId = ChartFunctionsChartIdValue;
|
var chartId = ChartFunctionsChartIdValue;
|
||||||
|
|||||||
Reference in New Issue
Block a user