diff --git a/PyMtApi5/client.py b/PyMtApi5/client.py index c4bfe1a8..033aff4e 100644 --- a/PyMtApi5/client.py +++ b/PyMtApi5/client.py @@ -70,6 +70,7 @@ class Mt5ApiApp: "ChartClose": self.process_chart_close, "ChartSymbol": self.process_chart_symbol, "ChartPeriod": self.process_chart_period, + "ChartSetDouble": self.process_chart_set_double, } def on_disconnect(self, error_msg=None): @@ -515,6 +516,15 @@ class Mt5ApiApp: result = mtapi.chart_period(int(parameters)) print(f"> ChartPeriod: response = {result}") + def process_chart_set_double(self, mtapi, parameters): + pieces = parameters.split(" ", 2) + if len(pieces) != 3 or not pieces[0] or not pieces[1] or not pieces[2]: + print(f"! Invalid parameters for command ChartSetDouble: {parameters}") + return + prop_id = mt5enums.ENUM_CHART_PROPERTY_DOUBLE(int(pieces[1])) + result = mtapi.chart_set_double(int(pieces[0]), prop_id, float(pieces[2])) + print(f"> ChartSetDouble: response = {result}") + def mtapi_command_thread(self, mtapi): while mtapi.is_connected(): filename = "client.cmd" diff --git a/PyMtApi5/mt5apiclient.py b/PyMtApi5/mt5apiclient.py index 9c0c75d1..71426044 100644 --- a/PyMtApi5/mt5apiclient.py +++ b/PyMtApi5/mt5apiclient.py @@ -524,6 +524,11 @@ class Mt5ApiClient: cmd_params = {"ChartId": chart_id} return self.__send_command(self.__get_default_expert(), Mt5CommandType.ChartPeriod, cmd_params) + # ChartSetDouble + def chart_set_double(self, chart_id, prop_id: ENUM_CHART_PROPERTY_DOUBLE, value): + cmd_params = {"ChartId": chart_id, "PropId": prop_id, "Value": value} + return self.__send_command(self.__get_default_expert(), Mt5CommandType.ChartSetDouble, cmd_params) + # Private methods def __event_thread_func(self):