新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1136

 
Artyom Trishkin:

不,我在上面解释了什么是霜冻程度。

谢谢你,Artem,我明天会研究一下。

 
Artyom Trishkin:

SL和TP是订单。"水平" - 因为这些是设置这些订单的水平。你也可以把它们称为缩进或距离,单位是点。这并不意味着它们就是命令。

我愿意接受它是这样工作的,但我不明白的是,如果SL和TP是订单,那么为什么它们不在订单列表中,例如OrdersTotal()HistoryOrdersTotal()

[删除]  
Fast235:

谢谢你,Artem,我明天会研究一下。

我理解,))))


 

1) 脚本和服务之间有什么区别?

2) 是否可以在不使用模板的情况下,在EA的任何需要的窗口上运行该指标?

[删除]  
Alexandr Sokolov:

1) 脚本和服务之间有什么区别?

2) 是否有可能在不使用模板的情况下,从EA的任何所需窗口运行该指标?

这里有一个函数--来自EA https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

//+------------------------------------------------------------------+
//| Функция проверки и добавления индикатора на график               |
//+------------------------------------------------------------------+
bool AddIndicator()
  {
//--- выводимое сообщение
   string message;
//--- проверим на совпадение символ индикатора и символ графика
   if(_Symbol!=_Symbol)
     {
      message="Демонстрация использования функции Demo_ChartIndicatorAdd():";
      message=message+"\r\n";
      message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- проверим на совпадение таймфрейм индикатора и таймфрейм графика
   if(_Period!=_Period)
     {
      message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме.";
      message=message+"\r\n";
      message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+".";
      Alert(message);
      //--- досрочный выход, не будем добавлять индикатор на график
      return false;
     }
//--- все проверки прошли, символ и период индикатора соответствуют графику
   if(indicator_handle==INVALID_HANDLE)
     {
      Print(__FUNCTION__,"  Создаем индикатор");
      indicator_handle=iCustom(_Symbol,_Period,InpIndi_name);
      if(indicator_handle==INVALID_HANDLE)
        {
         Print("Не удалось создать индикатор. Код ошибки ",GetLastError());
        }
     }
//--- сбросим код ошибки
   ResetLastError();
//--- накладываем индикатор на график
   Print(__FUNCTION__,"  Добавляем индикатор на график");
   Print("Индикатор построен на ",_Symbol,"/",EnumToString(_Period));
//--- получим номер нового подокна, в которое добавим индикатор
   int subwindow=(int)ChartGetInteger(0,-1);
   PrintFormat("Добавляем индикатор на окно %d графика",subwindow);
   if(!ChartIndicatorAdd(0,subwindow,indicator_handle))
     {
      PrintFormat("Не удалось добавить индикатор на окно %d графика. Код ошибки  %d",
                  subwindow,GetLastError());
     }
//--- добавление индикатора на график прошло успешно
   return(true);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
//| Expert initialization function                                   |                                                                                       ); "Внимание! %s: Попробуем добавить индикатор MACD(%s/%s) на график %s/%s. Получим ошибку 4114"                         subwindow...
 
Alexsandr San:

这里是函数--来自顾问https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd

谢谢你!

 
Alexandr Sokolov:

1) 脚本和服务之间有什么区别?

脚本被绑定到一个图表上,该服务不是

脚本是 "手动 "启动的,服务是由终端启动 的。

我不知道任何其他的区别,没有关于服务的信息

 
Igor Makanu:

脚本被绑定到一个图表上,该服务不是

脚本是 "手动 "启动的,服务是由终端启动 的。

我不知道还有什么区别,没有关于服务的信息

我明白了吗?关闭终端后运行的指标和顾问有服务的属性,但脚本没有,也就是说,如果一个脚本、一个指标和一个顾问正在运行,终端被关闭,当打开终端时,只有指标和顾问会被加载到窗口,而脚本则不会?

 
Valeriy Yastremskiy:

我理解的对吗? 关闭终端后运行的指标和顾问有服务的属性,但脚本没有,也就是说,如果有运行的脚本、指标和顾问,终端被关闭,当你打开终端时,只有指标和顾问会被载入窗口,而不是脚本?

MQL中最重要的东西是 "图表"。

所有这些--指标、专家顾问和脚本--都绑定在图表上。

但是,该服务没有被约束到任何东西--它从终端开始,没有图表,也就是说,它不能像往常一样检查任何东西......那么,_符号,_数字--根本没有我们习惯使用的东西,这些数据都是由图表给出的。


对于指标和EA来说,关闭图表或整个终端没有区别,就服务而言,如果你关闭所有的图表,它将工作到你关闭终端为止。

如果你通过关闭图表来关闭EA,那么在终端重新启动后,将不会有奇迹出现--没有图表,没有EA,服务总是在你启动图表时启动的


就像这样,在我的手指上 ))))

昨天我做了一个服务的例子,https://www.mql5.com/ru/forum/170952/page173#comment_16044829

我还不知道该如何处理它们。


ZS: 如果我们谈论的是一个脚本,EA和指标 - 有什么区别,指标不能交易,但它可以绘制指标缓冲区,脚本可以做与EA相同的事情,但它工作 "一次",并卸载,所以它不卸载 - 无限循环,但仍然是终端,当你切换TFs将卸载的脚本


我无法更简单地解释它,只需翻看前几章,都在那里了

 

Igor Makanu:

该服务 没有被绑定到任何东西上,它从终端开始,没有图表,也就是说,它不能像往常一样找到任何东西......以及_符号,_数字--根本没有 我们习惯使用的东西,那是图表给出的所有数据。

谁告诉你的?具体使用 _Symbol _Digits,不能,但很容易得到这些值。图表上的所有内容都是你能从服务中得到的。我对它们并不特别感兴趣,但鉴于最近的变化,我使用该服务来删除我讨厌的封闭位置的箭头和线条。我启动终端,运行服务,删除所有图表上的这些标记,而不去碰那些手动或由其他程序创建的标记。