diff --git a/MtApi5/MtApi5Client.cs b/MtApi5/MtApi5Client.cs index 9a2bbfc2..cdfec2aa 100755 --- a/MtApi5/MtApi5Client.cs +++ b/MtApi5/MtApi5Client.cs @@ -1798,13 +1798,13 @@ namespace MtApi5 } /// - ///Performs shift of the specified chart by the specified number of bars relative to the specified position in the chart. + ///Removes an indicator with a specified name from the specified chart window. /// ///Chart ID. 0 means the current chart. ///Number of the chart subwindow. 0 denotes the main chart subwindow. ///The short name of the indicator which is set in the INDICATOR_SHORTNAME property with the IndicatorSetString() function. To get the short name of an indicator use the ChartIndicatorName() function. /// - ///Returns true if the command has been added to chart queue, otherwise false. + ///Returns true in case of successful deletion of the indicator. /// public bool ChartIndicatorDelete(long chartId, int subWindow, string indicatorShortname) { diff --git a/mq5/MtApi5.ex5 b/mq5/MtApi5.ex5 index 1e660d9c..a7cb406e 100755 Binary files a/mq5/MtApi5.ex5 and b/mq5/MtApi5.ex5 differ diff --git a/mq5/MtApi5.mq5 b/mq5/MtApi5.mq5 index b5b59603..ae353822 100644 --- a/mq5/MtApi5.mq5 +++ b/mq5/MtApi5.mq5 @@ -777,6 +777,9 @@ int executeCommand() case 253: //ChartNavigate Execute_ChartNavigate(); break; + case 254: //ChartIndicatorDelete + Execute_ChartIndicatorDelete(); + break; default: Print("Unknown command type = ", commandType); sendVoidResponse(ExpertHandle, _response_error); @@ -5895,6 +5898,30 @@ void Execute_ChartNavigate() SEND_BOOL_RESPONSE(result) } +void Execute_ChartIndicatorDelete() +{ + long chart_id; + int sub_window; + string indicator_shortname; + StringInit(indicator_shortname, 1000); + + GET_LONG_VALUE(0, chart_id, "chart_id") + GET_INT_VALUE(1, sub_window, "sub_window") + GET_STRING_VALUE(2, indicator_shortname, "indicator_shortname") + +#ifdef __DEBUG_LOG__ + PrintFormat("%s: chart_id = %d, sub_window = %d, indicator_shortname = %s", __FUNCTION__, chart_id, sub_window, indicator_shortname); +#endif + + bool result = ChartIndicatorDelete( chart_id, sub_window, indicator_shortname); + +#ifdef __DEBUG_LOG__ + PrintFormat("%s: result = %s", __FUNCTION__, BoolToString(result)); +#endif + + SEND_BOOL_RESPONSE(result) +} + void Execute_ChartApplyTemplate() { long ChartId;