文章 "MQL5 初学者:EA 交易技术指标使用指南" - 页 2

 
对于初学者来说,这篇文章足以说明指标的使用方法。
 
请告诉我在一个指标中,例如在
Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

将 PRICE_CLOSE 更改为手动写入的 "上一个指标 "的值。
在终端中可以选择它,但如何写入代码,我不明白。
手册中说需要 Handle,但我只有一个缓冲区。
请提供帮助。

 
Григорий Муратов #:
请告诉我如何更改指标中的 PRICE_CLOSE,例如在

将 PRICE_CLOSE 更改为手动写入的 "上一个指标 "的值。
在终端中可以选择它,但如何写入代码,我不明白。
手册中说需要 Handle,但我只有一个缓冲区。
请提供帮助。

查看文章https://www.mql5.com/ru/articles/15

Индикатор от индикатора в MQL5
Индикатор от индикатора в MQL5
  • www.mql5.com
При написании индикатора, который использует краткую форму вызова функции OnCalculate(), можно упустить то обстоятельство, что индикатор может рассчитываться не только на ценовых данных, но и на данных другого индикатора (встроенного или пользовательского - не имеет значения). Вы хотите улучшить индикатор, чтобы он правильно считался не только на ценовых данных, но и значениях другого индикатора? В этой статье мы по шагам пройдем все необходимые этапы такой модификации и выведем дополнительные полезные правила для правильного написания индикатора.
 
Rashid Umarov #:

查看文章https://www.mql5.com/ru/articles/15

感谢您提供的链接,不过该链接在评论中称代码已经过时。我会试着研究一下
 

Григорий Муратов #:
Подскажите пожалуйста, как в индикаторе, например в 

Bands_handle=iBands(NULL,0,144,0,2,PRICE_CLOSE);

将 PRICE_CLOSE 更改为手动写入的 "上一个指标 "的值。
在终端中可以选择,但我不明白如何在代码中写入。
手册中说需要 Handle,但我只有一个缓冲区。
请帮助我。

如果您查看文档https://www.mql5.com/ru/docs/indicators/ibands-- 规范内容如下:

int  iBands(
   string              symbol,            // 字符名
   ENUM_TIMEFRAMES     period,            // 期间
   int                 bands_period,      // 计算平均线的周期
   int                 bands_shift,       // 指示器水平偏移
   double              deviation,         // 标准差数
   ENUM_APPLIED_PRICE  applied_price      //价格类型或句柄
   );

-- 价格类型或句柄" -- 在这里,你可以写一个自定义指标的句柄,而不是 PRICE_CLOSE。

例如

MA_Custom_handle=iCustom(NULL,0,"Examples\\Custom Moving Average",
                     MA_Period,
                     MA_Shift,
                     MA_Method,
                     PRICE_CLOSE
                     );
Bands_handle=iBands(NULL,0,144,0,2, MA_Custom_handle );